summaryrefslogtreecommitdiff
path: root/src/nm-device-modem.c
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-05-24 17:07:46 -0700
committerDan Williams <dcbw@redhat.com>2010-05-24 17:07:46 -0700
commit2e92d84ef027d4aa1cf1edb628db771ccfda2d23 (patch)
treed7da26662f6c5a3ac7f0443f7a443113439f6b56 /src/nm-device-modem.c
parent6221afc790a88eadccdcc15af56806d45b0438ab (diff)
modem: fix WWAN hardware enable state tracking (rh #591622)
Diffstat (limited to 'src/nm-device-modem.c')
-rw-r--r--src/nm-device-modem.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/nm-device-modem.c b/src/nm-device-modem.c
index 3ba26ddcdd..441f92cece 100644
--- a/src/nm-device-modem.c
+++ b/src/nm-device-modem.c
@@ -46,6 +46,7 @@ enum {
enum {
PPP_STATS,
+ ENABLE_CHANGED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0 };
@@ -158,6 +159,8 @@ modem_enabled_cb (NMModem *modem, GParamSpec *pspec, gpointer user_data)
NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (self);
real_set_enabled (NM_DEVICE_INTERFACE (self), nm_modem_get_mm_enabled (priv->modem));
+
+ g_signal_emit (G_OBJECT (self), signals[ENABLE_CHANGED], 0);
}
/*****************************************************************************/
@@ -453,6 +456,15 @@ nm_device_modem_class_init (NMDeviceModemClass *mclass)
G_TYPE_NONE, 2,
G_TYPE_UINT, G_TYPE_UINT);
+ signals[ENABLE_CHANGED] =
+ g_signal_new (NM_DEVICE_MODEM_ENABLE_CHANGED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+
dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (mclass),
nm_modem_get_serial_dbus_info ());
}