diff options
-rw-r--r-- | marshallers/mm-marshal.list | 2 | ||||
-rw-r--r-- | src/mm-modem-cdma.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/marshallers/mm-marshal.list b/marshallers/mm-marshal.list index 81fcadb6..f3504b96 100644 --- a/marshallers/mm-marshal.list +++ b/marshallers/mm-marshal.list @@ -7,4 +7,4 @@ VOID:UINT,UINT,UINT VOID:STRING,BOXED VOID:POINTER,UINT VOID:STRING,BOXED,BOXED - +VOID:UINT,UINT,BOXED diff --git a/src/mm-modem-cdma.c b/src/mm-modem-cdma.c index 722918e0..485e5f28 100644 --- a/src/mm-modem-cdma.c +++ b/src/mm-modem-cdma.c @@ -34,6 +34,7 @@ static void impl_modem_cdma_activate_manual (MMModemCdma *modem, DBusGMethodInvo enum { SIGNAL_QUALITY, REGISTRATION_STATE_CHANGED, + ACTIVATION_STATE_CHANGED, LAST_SIGNAL }; @@ -348,6 +349,8 @@ mm_modem_cdma_emit_registration_state_changed (MMModemCdma *self, /*****************************************************************************/ +#define DBUS_TYPE_G_MAP_OF_VARIANT (dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)) + static void mm_modem_cdma_init (gpointer g_iface) { @@ -385,6 +388,15 @@ mm_modem_cdma_init (gpointer g_iface) mm_marshal_VOID__UINT_UINT, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT); + signals[ACTIVATION_STATE_CHANGED] = + g_signal_new ("activation-state-changed", + iface_type, + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (MMModemCdma, registration_state_changed), + NULL, NULL, + mm_marshal_VOID__UINT_UINT_BOXED, + G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_UINT, DBUS_TYPE_G_MAP_OF_VARIANT); + initialized = TRUE; } |