aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-01-23 17:53:57 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:57 +0100
commit5d330154a5b00a69feb64dc601e60094678f7c0d (patch)
tree8611b6639f4e01165579fc9e9835b1a58fff9c37
parentf0bbe7aa114db3d2a3044e6e1ec4ac9d63a6509c (diff)
iface-modem-3gpp-ussd: allow setting properties from implementations
-rw-r--r--src/mm-iface-modem-3gpp-ussd.c51
-rw-r--r--src/mm-iface-modem-3gpp-ussd.h8
2 files changed, 59 insertions, 0 deletions
diff --git a/src/mm-iface-modem-3gpp-ussd.c b/src/mm-iface-modem-3gpp-ussd.c
index e89e8e0a..97a896de 100644
--- a/src/mm-iface-modem-3gpp-ussd.c
+++ b/src/mm-iface-modem-3gpp-ussd.c
@@ -42,6 +42,57 @@ mm_iface_modem_3gpp_ussd_bind_simple_status (MMIfaceModem3gppUssd *self,
/*****************************************************************************/
+void
+mm_iface_modem_3gpp_ussd_update_state (MMIfaceModem3gppUssd *self,
+ MMModem3gppUssdSessionState new_state)
+{
+ MmGdbusModem3gppUssd *skeleton = NULL;
+ MMModem3gppUssdSessionState old_state;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_3GPP_USSD_DBUS_SKELETON, &skeleton,
+ NULL);
+
+ old_state = (MMModem3gppUssdSessionState) mm_gdbus_modem3gpp_ussd_get_state (skeleton);
+
+ if (old_state != new_state)
+ mm_gdbus_modem3gpp_ussd_set_state (skeleton, new_state);
+
+ g_object_unref (skeleton);
+}
+
+void
+mm_iface_modem_3gpp_ussd_update_network_notification (MMIfaceModem3gppUssd *self,
+ const gchar *network_notification)
+{
+ MmGdbusModem3gppUssd *skeleton = NULL;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_3GPP_USSD_DBUS_SKELETON, &skeleton,
+ NULL);
+
+ mm_gdbus_modem3gpp_ussd_set_network_notification (skeleton,
+ network_notification);
+ g_object_unref (skeleton);
+}
+
+void
+mm_iface_modem_3gpp_ussd_update_network_request (MMIfaceModem3gppUssd *self,
+ const gchar *network_request)
+{
+ MmGdbusModem3gppUssd *skeleton = NULL;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_3GPP_USSD_DBUS_SKELETON, &skeleton,
+ NULL);
+
+ mm_gdbus_modem3gpp_ussd_set_network_request (skeleton,
+ network_request);
+ g_object_unref (skeleton);
+}
+
+/*****************************************************************************/
+
typedef struct _DisablingContext DisablingContext;
static void interface_disabling_step (DisablingContext *ctx);
diff --git a/src/mm-iface-modem-3gpp-ussd.h b/src/mm-iface-modem-3gpp-ussd.h
index a4412ba4..e65dabb1 100644
--- a/src/mm-iface-modem-3gpp-ussd.h
+++ b/src/mm-iface-modem-3gpp-ussd.h
@@ -103,6 +103,14 @@ gboolean mm_iface_modem_3gpp_ussd_disable_finish (MMIfaceModem3gppUssd *self,
GAsyncResult *res,
GError **error);
+/* Property updaters */
+void mm_iface_modem_3gpp_ussd_update_state (MMIfaceModem3gppUssd *self,
+ MMModem3gppUssdSessionState new_state);
+void mm_iface_modem_3gpp_ussd_update_network_notification (MMIfaceModem3gppUssd *self,
+ const gchar *network_notification);
+void mm_iface_modem_3gpp_ussd_update_network_request (MMIfaceModem3gppUssd *self,
+ const gchar *network_request);
+
/* Shutdown USSD interface */
void mm_iface_modem_3gpp_ussd_shutdown (MMIfaceModem3gppUssd *self);