From b7fa48dd22f9bf4cb38a60e7c78184b7eea5fcf7 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Fri, 22 Nov 2013 21:15:15 +0100 Subject: device: new 'hotplugged' property --- src/mm-device.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'src/mm-device.c') 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), -- cgit v1.2.3-70-g09d2