aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--marshallers/mm-marshal.list2
-rw-r--r--src/mm-modem-cdma.c12
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;
}