summary refs log tree commit diff
path: root/src/nm-dhcp6-config.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2017-01-17 20:25:09 +0100
committerMichael Biebl <biebl@debian.org>2017-01-17 20:25:09 +0100
commit58f8be580039b0575b197b9573a1c92745d96d30 (patch)
tree2c226233f623a0dcb529be0eb8cdf97e4a2ae0c0 /src/nm-dhcp6-config.c
parent45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (diff)
New upstream version 1.5.90 upstream/1.5.90
Diffstat (limited to 'src/nm-dhcp6-config.c')
-rw-r--r--src/nm-dhcp6-config.c99
1 files changed, 54 insertions, 45 deletions
diff --git a/src/nm-dhcp6-config.c b/src/nm-dhcp6-config.c
index 4311ee98..d51d77ef 100644
--- a/src/nm-dhcp6-config.c
+++ b/src/nm-dhcp6-config.c
@@ -20,36 +20,40 @@
 
 #include "nm-default.h"
 
+#include "nm-dhcp6-config.h"
+
 #include <string.h>
 
 #include "nm-dbus-interface.h"
-#include "nm-dhcp6-config.h"
 #include "nm-utils.h"
+#include "nm-exported-object.h"
 
-#include "nmdbus-dhcp6-config.h"
+#include "introspection/org.freedesktop.NetworkManager.DHCP6Config.h"
 
-G_DEFINE_TYPE (NMDhcp6Config, nm_dhcp6_config, NM_TYPE_EXPORTED_OBJECT)
+/*****************************************************************************/
 
-#define NM_DHCP6_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP6_CONFIG, NMDhcp6ConfigPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE (NMDhcp6Config,
+	PROP_OPTIONS,
+);
 
 typedef struct {
 	GVariant *options;
 } NMDhcp6ConfigPrivate;
 
+struct _NMDhcp6Config {
+	NMExportedObject parent;
+	NMDhcp6ConfigPrivate _priv;
+};
 
-enum {
-	PROP_0,
-	PROP_OPTIONS,
-
-	LAST_PROP
+struct _NMDhcp6ConfigClass {
+	NMExportedObjectClass parent;
 };
 
+G_DEFINE_TYPE (NMDhcp6Config, nm_dhcp6_config, NM_TYPE_EXPORTED_OBJECT)
 
-NMDhcp6Config *
-nm_dhcp6_config_new (void)
-{
-	return NM_DHCP6_CONFIG (g_object_new (NM_TYPE_DHCP6_CONFIG, NULL));
-}
+#define NM_DHCP6_CONFIG_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDhcp6Config, NM_IS_DHCP6_CONFIG)
+
+/*****************************************************************************/
 
 void
 nm_dhcp6_config_set_options (NMDhcp6Config *self,
@@ -72,7 +76,7 @@ nm_dhcp6_config_set_options (NMDhcp6Config *self,
 
 	priv->options = g_variant_builder_end (&builder);
 	g_variant_ref_sink (priv->options);
-	g_object_notify (G_OBJECT (self), NM_DHCP6_CONFIG_OPTIONS);
+	_notify (self, PROP_OPTIONS);
 }
 
 const char *
@@ -98,6 +102,24 @@ nm_dhcp6_config_get_options (NMDhcp6Config *self)
 	return g_variant_ref (NM_DHCP6_CONFIG_GET_PRIVATE (self)->options);
 }
 
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+              GValue *value, GParamSpec *pspec)
+{
+	NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE ((NMDhcp6Config *) object);
+
+	switch (prop_id) {
+	case PROP_OPTIONS:
+		g_value_set_variant (value, priv->options);
+		break;
+	default:
+		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+		break;
+	}
+}
+
 static void
 nm_dhcp6_config_init (NMDhcp6Config *self)
 {
@@ -107,10 +129,16 @@ nm_dhcp6_config_init (NMDhcp6Config *self)
 	g_variant_ref_sink (priv->options);
 }
 
+NMDhcp6Config *
+nm_dhcp6_config_new (void)
+{
+	return NM_DHCP6_CONFIG (g_object_new (NM_TYPE_DHCP6_CONFIG, NULL));
+}
+
 static void
 finalize (GObject *object)
 {
-	NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE (object);
+	NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE ((NMDhcp6Config *) object);
 
 	g_variant_unref (priv->options);
 
@@ -118,44 +146,25 @@ finalize (GObject *object)
 }
 
 static void
-get_property (GObject *object, guint prop_id,
-			  GValue *value, GParamSpec *pspec)
-{
-	NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE (object);
-
-	switch (prop_id) {
-	case PROP_OPTIONS:
-		g_value_set_variant (value, priv->options);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
-}
-
-static void
 nm_dhcp6_config_class_init (NMDhcp6ConfigClass *config_class)
 {
 	GObjectClass *object_class = G_OBJECT_CLASS (config_class);
 	NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (config_class);
 
-	g_type_class_add_private (config_class, sizeof (NMDhcp6ConfigPrivate));
+	object_class->get_property = get_property;
+	object_class->finalize = finalize;
 
-	exported_object_class->export_path = NM_DBUS_PATH "/DHCP6Config/%u";
+	exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/DHCP6Config");
 	exported_object_class->export_on_construction = TRUE;
 
-	/* virtual methods */
-	object_class->get_property = get_property;
-	object_class->finalize = finalize;
+	obj_properties[PROP_OPTIONS] =
+	     g_param_spec_variant (NM_DHCP6_CONFIG_OPTIONS, "", "",
+	                           G_VARIANT_TYPE ("a{sv}"),
+	                           NULL,
+	                           G_PARAM_READABLE |
+	                           G_PARAM_STATIC_STRINGS);
 
-	/* properties */
-	g_object_class_install_property
-		(object_class, PROP_OPTIONS,
-		 g_param_spec_variant (NM_DHCP6_CONFIG_OPTIONS, "", "",
-		                       G_VARIANT_TYPE ("a{sv}"),
-		                       NULL,
-		                       G_PARAM_READABLE |
-		                       G_PARAM_STATIC_STRINGS));
+	g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
 
 	nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (config_class),
 	                                        NMDBUS_TYPE_DHCP6_CONFIG_SKELETON,