diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-device.c | 29 | ||||
-rw-r--r-- | src/mm-device.h | 4 |
2 files changed, 24 insertions, 9 deletions
diff --git a/src/mm-device.c b/src/mm-device.c index 54f64562..a1b351ca 100644 --- a/src/mm-device.c +++ b/src/mm-device.c @@ -34,6 +34,7 @@ enum { PROP_UDEV_DEVICE, PROP_PLUGIN, PROP_MODEM, + PROP_HOTPLUGGED, PROP_LAST }; @@ -624,15 +625,13 @@ mm_device_get_hotplugged (MMDevice *self) /*****************************************************************************/ MMDevice * -mm_device_new (GUdevDevice *udev_device, gboolean hotplugged) +mm_device_new (GUdevDevice *udev_device, + gboolean hotplugged) { - MMDevice *device; - - device = MM_DEVICE (g_object_new (MM_TYPE_DEVICE, - MM_DEVICE_UDEV_DEVICE, udev_device, - NULL)); - device->priv->hotplugged = hotplugged; - return device; + return MM_DEVICE (g_object_new (MM_TYPE_DEVICE, + MM_DEVICE_UDEV_DEVICE, udev_device, + MM_DEVICE_HOTPLUGGED, hotplugged, + NULL)); } static void @@ -666,6 +665,9 @@ set_property (GObject *object, g_clear_object (&(self->priv->modem)); self->priv->modem = g_value_dup_object (value); break; + case PROP_HOTPLUGGED: + self->priv->hotplugged = g_value_get_boolean (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -690,6 +692,9 @@ get_property (GObject *object, case PROP_MODEM: g_value_set_object (value, self->priv->modem); break; + case PROP_HOTPLUGGED: + g_value_set_boolean (value, self->priv->hotplugged); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -758,6 +763,14 @@ mm_device_class_init (MMDeviceClass *klass) G_PARAM_READWRITE); g_object_class_install_property (object_class, PROP_MODEM, properties[PROP_MODEM]); + properties[PROP_HOTPLUGGED] = + g_param_spec_boolean (MM_DEVICE_HOTPLUGGED, + "Hotplugged", + "Whether the modem was hotplugged", + FALSE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + g_object_class_install_property (object_class, PROP_HOTPLUGGED, properties[PROP_HOTPLUGGED]); + signals[SIGNAL_PORT_GRABBED] = g_signal_new (MM_DEVICE_PORT_GRABBED, G_OBJECT_CLASS_TYPE (object_class), diff --git a/src/mm-device.h b/src/mm-device.h index e7065ed7..fa70d862 100644 --- a/src/mm-device.h +++ b/src/mm-device.h @@ -37,6 +37,7 @@ typedef struct _MMDevicePrivate MMDevicePrivate; #define MM_DEVICE_UDEV_DEVICE "udev-device" #define MM_DEVICE_PLUGIN "plugin" #define MM_DEVICE_MODEM "modem" +#define MM_DEVICE_HOTPLUGGED "hotplugged" #define MM_DEVICE_PORT_GRABBED "port-grabbed" #define MM_DEVICE_PORT_RELEASED "port-released" @@ -58,7 +59,8 @@ struct _MMDeviceClass { GType mm_device_get_type (void); -MMDevice *mm_device_new (GUdevDevice *udev_device, gboolean hotplugged); +MMDevice *mm_device_new (GUdevDevice *udev_device, + gboolean hotplugged); void mm_device_grab_port (MMDevice *self, GUdevDevice *udev_port); |