aboutsummaryrefslogtreecommitdiff
path: root/src/mm-device.c
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2013-01-17 23:11:09 -0800
committerAleksander Morgado <aleksander@lanedo.com>2013-01-18 11:27:51 +0100
commite75dba639febded0e2878a02f47829cedb6239f7 (patch)
tree6b2a027e217599819eac3e8938fadfcc5c75d43d /src/mm-device.c
parent2550cb20a9741378c747233ddea8e7a7daa5c198 (diff)
core: add 'hotplugged' flag to indicate if modem is newly plugged in
This patch adds a 'hotplugged' flag to MMBaseModem to indicate if a modem is newly plugged in. A plugin can use this information to determine if, for example, the modem needs to be soft reset using the ATZ command. Dan Williams <dcbw@redhat.com> contributed the idea of implementation.
Diffstat (limited to 'src/mm-device.c')
-rw-r--r--src/mm-device.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/mm-device.c b/src/mm-device.c
index e8330d62..a37b26d5 100644
--- a/src/mm-device.c
+++ b/src/mm-device.c
@@ -68,6 +68,9 @@ struct _MMDevicePrivate {
/* When exported, a reference to the object manager */
GDBusObjectManagerServer *object_manager;
+
+ /* Whether the device was hot-plugged. */
+ gboolean hotplugged;
};
/*****************************************************************************/
@@ -593,14 +596,24 @@ mm_device_get_port_probe_list (MMDevice *self)
return copy;
}
+gboolean
+mm_device_get_hotplugged (MMDevice *self)
+{
+ return self->priv->hotplugged;
+}
+
/*****************************************************************************/
MMDevice *
-mm_device_new (GUdevDevice *udev_device)
+mm_device_new (GUdevDevice *udev_device, gboolean hotplugged)
{
- return MM_DEVICE (g_object_new (MM_TYPE_DEVICE,
- MM_DEVICE_UDEV_DEVICE, udev_device,
- NULL));
+ MMDevice *device;
+
+ device = MM_DEVICE (g_object_new (MM_TYPE_DEVICE,
+ MM_DEVICE_UDEV_DEVICE, udev_device,
+ NULL));
+ device->priv->hotplugged = hotplugged;
+ return device;
}
static void