summary refs log tree commit diff
path: root/src/core/nm-dhcp-config.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2021-10-01 23:05:04 +0200
committerMichael Biebl <biebl@debian.org>2021-10-01 23:05:04 +0200
commite74c568b07b50b97873fb4ee1d776dedefbd54d6 (patch)
tree3469f17ea9af91f7ff169b890633bda68b0cf76e /src/core/nm-dhcp-config.c
parentbfe522304da217296e2a61040f58e35ec5d6f3f2 (diff)
New upstream version 1.32.12 upstream/1.32.12
Diffstat (limited to 'src/core/nm-dhcp-config.c')
-rw-r--r--src/core/nm-dhcp-config.c34
1 files changed, 22 insertions, 12 deletions
diff --git a/src/core/nm-dhcp-config.c b/src/core/nm-dhcp-config.c
index 718d3c90..1cbad49e 100644
--- a/src/core/nm-dhcp-config.c
+++ b/src/core/nm-dhcp-config.c
@@ -59,6 +59,7 @@ struct _NMDhcpConfig {
 
 struct _NMDhcpConfigClass {
     NMDBusObjectClass parent;
+    int               addr_family;
 };
 
 G_DEFINE_ABSTRACT_TYPE(NMDhcpConfig, nm_dhcp_config, NM_TYPE_DBUS_OBJECT)
@@ -67,6 +68,14 @@ G_DEFINE_ABSTRACT_TYPE(NMDhcpConfig, nm_dhcp_config, NM_TYPE_DBUS_OBJECT)
 
 /*****************************************************************************/
 
+int
+nm_dhcp_config_get_addr_family(NMDhcpConfig *self)
+{
+    return NM_DHCP_CONFIG_GET_CLASS(self)->addr_family;
+}
+
+/*****************************************************************************/
+
 void
 nm_dhcp_config_set_options(NMDhcpConfig *self, GHashTable *options)
 {
@@ -116,8 +125,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
 
     switch (prop_id) {
     case PROP_OPTIONS:
-        g_value_set_variant(value,
-                            priv->options ?: g_variant_new_array(G_VARIANT_TYPE("{sv}"), NULL, 0));
+        g_value_set_variant(value, priv->options ?: nm_g_variant_singleton_aLsvI());
         break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
@@ -186,22 +194,23 @@ nm_dhcp4_config_init(NMDhcp4Config *self)
 static const NMDBusInterfaceInfoExtended interface_info_dhcp4_config = {
     .parent = NM_DEFINE_GDBUS_INTERFACE_INFO_INIT(
         NM_DBUS_INTERFACE_DHCP4_CONFIG,
-        .signals    = NM_DEFINE_GDBUS_SIGNAL_INFOS(&nm_signal_info_property_changed_legacy, ),
         .properties = NM_DEFINE_GDBUS_PROPERTY_INFOS(
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Options",
-                                                             "a{sv}",
-                                                             NM_DHCP_CONFIG_OPTIONS), ), ),
-    .legacy_property_changed = TRUE,
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Options",
+                                                           "a{sv}",
+                                                           NM_DHCP_CONFIG_OPTIONS), ), ),
 };
 
 static void
 nm_dhcp4_config_class_init(NMDhcp4ConfigClass *klass)
 {
     NMDBusObjectClass *dbus_object_class = NM_DBUS_OBJECT_CLASS(klass);
+    NMDhcpConfigClass *dhcp_config_class = NM_DHCP_CONFIG_CLASS(klass);
 
     dbus_object_class->export_path     = NM_DBUS_EXPORT_PATH_NUMBERED(NM_DBUS_PATH "/DHCP4Config");
     dbus_object_class->interface_infos = NM_DBUS_INTERFACE_INFOS(&interface_info_dhcp4_config);
     dbus_object_class->export_on_construction = TRUE;
+
+    dhcp_config_class->addr_family = AF_INET;
 }
 
 /*****************************************************************************/
@@ -223,20 +232,21 @@ nm_dhcp6_config_init(NMDhcp6Config *self)
 static const NMDBusInterfaceInfoExtended interface_info_dhcp6_config = {
     .parent = NM_DEFINE_GDBUS_INTERFACE_INFO_INIT(
         NM_DBUS_INTERFACE_DHCP6_CONFIG,
-        .signals    = NM_DEFINE_GDBUS_SIGNAL_INFOS(&nm_signal_info_property_changed_legacy, ),
         .properties = NM_DEFINE_GDBUS_PROPERTY_INFOS(
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Options",
-                                                             "a{sv}",
-                                                             NM_DHCP_CONFIG_OPTIONS), ), ),
-    .legacy_property_changed = TRUE,
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Options",
+                                                           "a{sv}",
+                                                           NM_DHCP_CONFIG_OPTIONS), ), ),
 };
 
 static void
 nm_dhcp6_config_class_init(NMDhcp6ConfigClass *klass)
 {
     NMDBusObjectClass *dbus_object_class = NM_DBUS_OBJECT_CLASS(klass);
+    NMDhcpConfigClass *dhcp_config_class = NM_DHCP_CONFIG_CLASS(klass);
 
     dbus_object_class->export_path     = NM_DBUS_EXPORT_PATH_NUMBERED(NM_DBUS_PATH "/DHCP6Config");
     dbus_object_class->interface_infos = NM_DBUS_INTERFACE_INFOS(&interface_info_dhcp6_config);
     dbus_object_class->export_on_construction = TRUE;
+
+    dhcp_config_class->addr_family = AF_INET6;
 }