summary refs log tree commit diff
path: root/src/devices/adsl/nm-atm-manager.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/devices/adsl/nm-atm-manager.c
parent45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (diff)
New upstream version 1.5.90 upstream/1.5.90
Diffstat (limited to 'src/devices/adsl/nm-atm-manager.c')
-rw-r--r--src/devices/adsl/nm-atm-manager.c63
1 files changed, 36 insertions, 27 deletions
diff --git a/src/devices/adsl/nm-atm-manager.c b/src/devices/adsl/nm-atm-manager.c
index 40c782fd..b04e9fe7 100644
--- a/src/devices/adsl/nm-atm-manager.c
+++ b/src/devices/adsl/nm-atm-manager.c
@@ -24,27 +24,45 @@
 #include <gudev/gudev.h>
 #include <gmodule.h>
 
-#include "nm-atm-manager.h"
 #include "nm-setting-adsl.h"
 #include "nm-device-adsl.h"
-#include "nm-device-factory.h"
-#include "nm-platform.h"
+#include "devices/nm-device-factory.h"
+#include "platform/nm-platform.h"
+
+/*****************************************************************************/
+
+#define NM_TYPE_ATM_MANAGER            (nm_atm_manager_get_type ())
+#define NM_ATM_MANAGER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_ATM_MANAGER, NMAtmManager))
+#define NM_ATM_MANAGER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_ATM_MANAGER, NMAtmManagerClass))
+#define NM_IS_ATM_MANAGER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_ATM_MANAGER))
+#define NM_IS_ATM_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  NM_TYPE_ATM_MANAGER))
+#define NM_ATM_MANAGER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  NM_TYPE_ATM_MANAGER, NMAtmManagerClass))
 
 typedef struct {
 	GUdevClient *client;
 	GSList *devices;
 } NMAtmManagerPrivate;
 
-#define NM_ATM_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_ATM_MANAGER, NMAtmManagerPrivate))
+typedef struct {
+	NMDeviceFactory parent;
+	NMAtmManagerPrivate _priv;
+} NMAtmManager;
+
+typedef struct {
+	NMDeviceFactoryClass parent;
+} NMAtmManagerClass;
 
 static GType nm_atm_manager_get_type (void);
 
-static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
+G_DEFINE_TYPE (NMAtmManager, nm_atm_manager, NM_TYPE_DEVICE_FACTORY);
 
-G_DEFINE_TYPE_EXTENDED (NMAtmManager, nm_atm_manager, G_TYPE_OBJECT, 0,
-                        G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
+#define NM_ATM_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMAtmManager, NM_IS_ATM_MANAGER)
 
-/**************************************************************************/
+/*****************************************************************************/
+
+NM_DEVICE_FACTORY_DECLARE_TYPES (
+	NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_ADSL_SETTING_NAME)
+);
 
 G_MODULE_EXPORT NMDeviceFactory *
 nm_device_factory_create (GError **error)
@@ -52,7 +70,7 @@ nm_device_factory_create (GError **error)
 	return (NMDeviceFactory *) g_object_new (NM_TYPE_ATM_MANAGER, NULL);
 }
 
-/************************************************************************/
+/*****************************************************************************/
 
 static gboolean
 dev_get_attrs (GUdevDevice *udev_device,
@@ -119,7 +137,7 @@ adsl_add (NMAtmManager *self, GUdevDevice *udev_device)
 	atm_index_path = g_strdup_printf ("/sys/class/atm/%s/atmindex",
 	                                  NM_ASSERT_VALID_PATH_COMPONENT (ifname));
 	atm_index = (int) nm_platform_sysctl_get_int_checked (NM_PLATFORM_GET,
-	                                                      atm_index_path,
+	                                                      NMP_SYSCTL_PATHID_ABSOLUTE (atm_index_path),
 	                                                      10, 0, G_MAXINT,
 	                                                      -1);
 	if (atm_index < 0) {
@@ -219,11 +237,7 @@ handle_uevent (GUdevClient *client,
 		adsl_remove (self, device);
 }
 
-NM_DEVICE_FACTORY_DECLARE_TYPES (
-	NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_ADSL_SETTING_NAME)
-)
-
-/*********************************************************************/
+/*****************************************************************************/
 
 static void
 nm_atm_manager_init (NMAtmManager *self)
@@ -236,22 +250,16 @@ nm_atm_manager_init (NMAtmManager *self)
 }
 
 static void
-device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
-{
-	factory_iface->get_supported_types = get_supported_types;
-	factory_iface->start = start;
-}
-
-static void
 dispose (GObject *object)
 {
 	NMAtmManager *self = NM_ATM_MANAGER (object);
 	NMAtmManagerPrivate *priv = NM_ATM_MANAGER_GET_PRIVATE (self);
 	GSList *iter;
 
-	if (priv->client)
+	if (priv->client) {
 		g_signal_handlers_disconnect_by_func (priv->client, handle_uevent, self);
-	g_clear_object (&priv->client);
+		g_clear_object (&priv->client);
+	}
 
 	for (iter = priv->devices; iter; iter = iter->next)
 		g_object_weak_unref (G_OBJECT (iter->data), device_destroyed, self);
@@ -264,9 +272,10 @@ static void
 nm_atm_manager_class_init (NMAtmManagerClass *klass)
 {
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+	NMDeviceFactoryClass *factory_class = NM_DEVICE_FACTORY_CLASS (klass);
 
-	g_type_class_add_private (klass, sizeof (NMAtmManagerPrivate));
-
-	/* virtual methods */
 	object_class->dispose = dispose;
+
+	factory_class->get_supported_types = get_supported_types;
+	factory_class->start = start;
 }