diff options
| author | Michael Biebl <biebl@debian.org> | 2019-12-18 18:29:24 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2019-12-18 18:29:24 +0100 |
| commit | 28028b26b3371756811e95d894f709f4b1207c00 (patch) | |
| tree | 6fe7316fd743b51042db47601a8ef8814b3134ac /libnm/nm-checkpoint.c | |
| parent | e22609983008e1a669196ad64ba3a59ae8c76e0d (diff) | |
New upstream version 1.22.0 upstream/1.22.0
Diffstat (limited to 'libnm/nm-checkpoint.c')
| -rw-r--r-- | libnm/nm-checkpoint.c | 121 |
1 files changed, 49 insertions, 72 deletions
diff --git a/libnm/nm-checkpoint.c b/libnm/nm-checkpoint.c index 59681807..7c30db97 100644 --- a/libnm/nm-checkpoint.c +++ b/libnm/nm-checkpoint.c @@ -1,26 +1,27 @@ +// SPDX-License-Identifier: LGPL-2.1+ /* - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/>. - * - * Copyright 2017 Red Hat, Inc. + * Copyright (C) 2017 Red Hat, Inc. */ #include "nm-default.h" #include "nm-checkpoint.h" + #include "nm-core-internal.h" #include "nm-dbus-interface.h" #include "nm-device.h" #include "nm-object-private.h" +/*****************************************************************************/ + +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_DEVICES, + PROP_CREATED, + PROP_ROLLBACK_TIMEOUT, +); + typedef struct { - GPtrArray *devices; + NMLDBusPropertyAO devices; gint64 created; guint32 rollback_timeout; } NMCheckpointPrivate; @@ -36,16 +37,9 @@ struct _NMCheckpointClass { G_DEFINE_TYPE (NMCheckpoint, nm_checkpoint, NM_TYPE_OBJECT) -#define NM_CHECKPOINT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMCheckpoint, NM_IS_CHECKPOINT) - -enum { - PROP_0, - PROP_DEVICES, - PROP_CREATED, - PROP_ROLLBACK_TIMEOUT, +#define NM_CHECKPOINT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMCheckpoint, NM_IS_CHECKPOINT, NMObject) - LAST_PROP -}; +/*****************************************************************************/ /** * nm_checkpoint_get_devices: @@ -62,7 +56,7 @@ nm_checkpoint_get_devices (NMCheckpoint *checkpoint) { g_return_val_if_fail (NM_IS_CHECKPOINT (checkpoint), NULL); - return NM_CHECKPOINT_GET_PRIVATE (checkpoint)->devices; + return nml_dbus_property_ao_get_objs_as_ptrarray (&NM_CHECKPOINT_GET_PRIVATE (checkpoint)->devices); } /** @@ -112,16 +106,6 @@ nm_checkpoint_init (NMCheckpoint *checkpoint) } static void -finalize (GObject *object) -{ - NMCheckpointPrivate *priv = NM_CHECKPOINT_GET_PRIVATE (NM_CHECKPOINT (object)); - - g_ptr_array_unref (priv->devices); - - G_OBJECT_CLASS (nm_checkpoint_parent_class)->finalize (object); -} - -static void get_property (GObject *object, guint prop_id, GValue *value, @@ -132,7 +116,7 @@ get_property (GObject *object, switch (prop_id) { case PROP_DEVICES: - g_value_take_boxed (value, _nm_utils_copy_object_array (priv->devices)); + g_value_take_boxed (value, _nm_utils_copy_object_array (nm_checkpoint_get_devices (checkpoint))); break; case PROP_CREATED: g_value_set_int64 (value, priv->created); @@ -146,34 +130,28 @@ get_property (GObject *object, } } -static void -init_dbus (NMObject *object) -{ - NMCheckpointPrivate *priv = NM_CHECKPOINT_GET_PRIVATE (NM_CHECKPOINT (object)); - const NMPropertiesInfo property_info[] = { - { NM_CHECKPOINT_DEVICES, &priv->devices, NULL, NM_TYPE_DEVICE }, - { NM_CHECKPOINT_CREATED, &priv->created }, - { NM_CHECKPOINT_ROLLBACK_TIMEOUT, &priv->rollback_timeout }, - { NULL }, - }; - - NM_OBJECT_CLASS (nm_checkpoint_parent_class)->init_dbus (object); - - _nm_object_register_properties (object, - NM_DBUS_INTERFACE_CHECKPOINT, - property_info); -} +const NMLDBusMetaIface _nml_dbus_meta_iface_nm_checkpoint = NML_DBUS_META_IFACE_INIT_PROP ( + NM_DBUS_INTERFACE_CHECKPOINT, + nm_checkpoint_get_type, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_IFACE_DBUS_PROPERTIES ( + NML_DBUS_META_PROPERTY_INIT_X ("Created", PROP_CREATED, NMCheckpoint, _priv.created ), + NML_DBUS_META_PROPERTY_INIT_AO_PROP ("Devices", PROP_DEVICES, NMCheckpoint, _priv.devices, nm_device_get_type, .is_always_ready = TRUE ), + NML_DBUS_META_PROPERTY_INIT_U ("RollbackTimeout", PROP_ROLLBACK_TIMEOUT, NMCheckpoint, _priv.rollback_timeout ), + ), +); static void -nm_checkpoint_class_init (NMCheckpointClass *checkpoint_class) +nm_checkpoint_class_init (NMCheckpointClass *klass) { - GObjectClass *object_class = G_OBJECT_CLASS (checkpoint_class); - NMObjectClass *nm_object_class = NM_OBJECT_CLASS (checkpoint_class); + GObjectClass *object_class = G_OBJECT_CLASS (klass); + NMObjectClass *nm_object_class = NM_OBJECT_CLASS (klass); object_class->get_property = get_property; - object_class->finalize = finalize; - nm_object_class->init_dbus = init_dbus; + _NM_OBJECT_CLASS_INIT_PRIV_PTR_DIRECT (nm_object_class, NMCheckpoint); + + _NM_OBJECT_CLASS_INIT_PROPERTY_AO_FIELDS_1 (nm_object_class, NMCheckpointPrivate, devices); /** * NMCheckpoint:devices: (type GPtrArray(NMDevice)) @@ -182,12 +160,11 @@ nm_checkpoint_class_init (NMCheckpointClass *checkpoint_class) * * Since: 1.12 **/ - g_object_class_install_property - (object_class, PROP_DEVICES, - g_param_spec_boxed (NM_CHECKPOINT_DEVICES, "", "", - G_TYPE_PTR_ARRAY, - G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); + obj_properties[PROP_DEVICES] = + g_param_spec_boxed (NM_CHECKPOINT_DEVICES, "", "", + G_TYPE_PTR_ARRAY, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS); /** * NMCheckpoint:created: @@ -196,12 +173,11 @@ nm_checkpoint_class_init (NMCheckpointClass *checkpoint_class) * * Since: 1.12 **/ - g_object_class_install_property - (object_class, PROP_CREATED, - g_param_spec_int64 (NM_CHECKPOINT_CREATED, "", "", - G_MININT64, G_MAXINT64, 0, - G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); + obj_properties[PROP_CREATED] = + g_param_spec_int64 (NM_CHECKPOINT_CREATED, "", "", + G_MININT64, G_MAXINT64, 0, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS); /** * NMCheckpoint:rollback-timeout: @@ -210,10 +186,11 @@ nm_checkpoint_class_init (NMCheckpointClass *checkpoint_class) * * Since: 1.12 **/ - g_object_class_install_property - (object_class, PROP_ROLLBACK_TIMEOUT, - g_param_spec_uint (NM_CHECKPOINT_ROLLBACK_TIMEOUT, "", "", - 0, G_MAXUINT32, 0, - G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); + obj_properties[PROP_ROLLBACK_TIMEOUT] = + g_param_spec_uint (NM_CHECKPOINT_ROLLBACK_TIMEOUT, "", "", + 0, G_MAXUINT32, 0, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS); + + _nml_dbus_meta_class_init_with_properties (object_class, &_nml_dbus_meta_iface_nm_checkpoint); } |