diff options
| author | Michael Biebl <biebl@debian.org> | 2017-01-17 20:25:09 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2017-01-17 20:25:09 +0100 |
| commit | 58f8be580039b0575b197b9573a1c92745d96d30 (patch) | |
| tree | 2c226233f623a0dcb529be0eb8cdf97e4a2ae0c0 /src/devices/adsl/nm-atm-manager.c | |
| parent | 45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (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.c | 63 |
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; } |