about summary refs log tree commit diff
path: root/src/libnm-client-impl/nm-device-ovs-bridge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-client-impl/nm-device-ovs-bridge.c')
-rw-r--r--src/libnm-client-impl/nm-device-ovs-bridge.c44
1 files changed, 17 insertions, 27 deletions
diff --git a/src/libnm-client-impl/nm-device-ovs-bridge.c b/src/libnm-client-impl/nm-device-ovs-bridge.c
index 898a41fa..465957c4 100644
--- a/src/libnm-client-impl/nm-device-ovs-bridge.c
+++ b/src/libnm-client-impl/nm-device-ovs-bridge.c
@@ -17,13 +17,8 @@
 
 NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_SLAVES, );
 
-typedef struct {
-    NMLDBusPropertyAO slaves;
-} NMDeviceOvsBridgePrivate;
-
 struct _NMDeviceOvsBridge {
-    NMDevice                 parent;
-    NMDeviceOvsBridgePrivate _priv;
+    NMDevice parent;
 };
 
 struct _NMDeviceOvsBridgeClass {
@@ -48,14 +43,13 @@ G_DEFINE_TYPE(NMDeviceOvsBridge, nm_device_ovs_bridge, NM_TYPE_DEVICE)
  * copy used by the device, and must not be modified.
  *
  * Since: 1.14
+ *
+ * Deprecated: 1.34 Use nm_device_get_ports() instead.
  **/
 const GPtrArray *
 nm_device_ovs_bridge_get_slaves(NMDeviceOvsBridge *device)
 {
-    g_return_val_if_fail(NM_IS_DEVICE_OVS_BRIDGE(device), FALSE);
-
-    return nml_dbus_property_ao_get_objs_as_ptrarray(
-        &NM_DEVICE_OVS_BRIDGE_GET_PRIVATE(device)->slaves);
+    return nm_device_get_ports(NM_DEVICE(device));
 }
 
 static const char *
@@ -123,30 +117,24 @@ static void
 nm_device_ovs_bridge_init(NMDeviceOvsBridge *device)
 {}
 
-const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_ovsbridge =
-    NML_DBUS_META_IFACE_INIT_PROP(NM_DBUS_INTERFACE_DEVICE_OVS_BRIDGE,
-                                  nm_device_ovs_bridge_get_type,
-                                  NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30,
-                                  NML_DBUS_META_IFACE_DBUS_PROPERTIES(
-                                      NML_DBUS_META_PROPERTY_INIT_AO_PROP("Slaves",
-                                                                          PROP_SLAVES,
-                                                                          NMDeviceOvsBridge,
-                                                                          _priv.slaves,
-                                                                          nm_device_get_type), ), );
+const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_ovsbridge = NML_DBUS_META_IFACE_INIT_PROP(
+    NM_DBUS_INTERFACE_DEVICE_OVS_BRIDGE,
+    nm_device_ovs_bridge_get_type,
+    NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30,
+    NML_DBUS_META_IFACE_DBUS_PROPERTIES(
+        NML_DBUS_META_PROPERTY_INIT_FCN("Slaves",
+                                        PROP_SLAVES,
+                                        "ao",
+                                        _nm_device_notify_update_prop_ports), ), );
 
 static void
 nm_device_ovs_bridge_class_init(NMDeviceOvsBridgeClass *klass)
 {
-    GObjectClass * object_class    = G_OBJECT_CLASS(klass);
-    NMObjectClass *nm_object_class = NM_OBJECT_CLASS(klass);
-    NMDeviceClass *device_class    = NM_DEVICE_CLASS(klass);
+    GObjectClass * object_class = G_OBJECT_CLASS(klass);
+    NMDeviceClass *device_class = NM_DEVICE_CLASS(klass);
 
     object_class->get_property = get_property;
 
-    _NM_OBJECT_CLASS_INIT_PRIV_PTR_DIRECT(nm_object_class, NMDeviceOvsBridge);
-
-    _NM_OBJECT_CLASS_INIT_PROPERTY_AO_FIELDS_1(nm_object_class, NMDeviceOvsBridgePrivate, slaves);
-
     device_class->get_type_description  = get_type_description;
     device_class->connection_compatible = connection_compatible;
     device_class->get_setting_type      = get_setting_type;
@@ -166,4 +154,6 @@ nm_device_ovs_bridge_class_init(NMDeviceOvsBridgeClass *klass)
 
     _nml_dbus_meta_class_init_with_properties(object_class,
                                               &_nml_dbus_meta_iface_nm_device_ovsbridge);
+
+    device_class->slaves_param_spec = obj_properties[PROP_SLAVES];
 }