diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2013-11-22 21:15:15 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2014-02-13 13:41:31 +0100 |
commit | b7fa48dd22f9bf4cb38a60e7c78184b7eea5fcf7 (patch) | |
tree | 43227bd35319a2d06be327f2e34fc15aa8ed19d7 | |
parent | 84ab92d85a331e835ab5672865e0238d08ee8857 (diff) |
device: new 'hotplugged' property
-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); |