aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2011-12-28 14:43:32 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:39 +0100
commitfa5064ece35a1af500d03b1709f793b8432f6f4b (patch)
treeb9c364c94fdf1930ee3bb62343514fce2147e640
parentf58a23c9c20c1a4a4a1987e8e0d9b3d988eaee59 (diff)
libmm-glib: implement handling of GetStatus() calls in the Simple interface
-rw-r--r--libmm-glib/mm-modem-simple.c50
-rw-r--r--libmm-glib/mm-modem-simple.h11
2 files changed, 61 insertions, 0 deletions
diff --git a/libmm-glib/mm-modem-simple.c b/libmm-glib/mm-modem-simple.c
index d4e059d8..bec8c23d 100644
--- a/libmm-glib/mm-modem-simple.c
+++ b/libmm-glib/mm-modem-simple.c
@@ -245,3 +245,53 @@ mm_modem_simple_disconnect_sync (MMModemSimple *self,
cancellable,
error);
}
+
+MMModemSimpleStatusProperties *
+mm_modem_simple_get_status_finish (MMModemSimple *self,
+ GAsyncResult *res,
+ GError **error)
+{
+ MMCommonSimpleProperties *properties;
+ GVariant *dictionary = NULL;
+
+ g_return_val_if_fail (MM_GDBUS_IS_MODEM_SIMPLE (self), NULL);
+
+ if (!mm_gdbus_modem_simple_call_get_status_finish (self, &dictionary, res, error))
+ return NULL;
+
+ properties = mm_common_simple_properties_new_from_dictionary (dictionary, error);
+ g_variant_unref (dictionary);
+ return (MMModemSimpleStatusProperties *)properties;
+}
+
+void
+mm_modem_simple_get_status (MMModemSimple *self,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ g_return_if_fail (MM_GDBUS_IS_MODEM_SIMPLE (self));
+
+ mm_gdbus_modem_simple_call_get_status (self,
+ cancellable,
+ callback,
+ user_data);
+}
+
+MMModemSimpleStatusProperties *
+mm_modem_simple_get_status_sync (MMModemSimple *self,
+ GCancellable *cancellable,
+ GError **error)
+{
+ MMCommonSimpleProperties *properties;
+ GVariant *dictionary = NULL;
+
+ g_return_val_if_fail (MM_GDBUS_IS_MODEM_SIMPLE (self), NULL);
+
+ if (!mm_gdbus_modem_simple_call_get_status_sync (self, &dictionary, cancellable, error))
+ return NULL;
+
+ properties = mm_common_simple_properties_new_from_dictionary (dictionary, error);
+ g_variant_unref (dictionary);
+ return (MMModemSimpleStatusProperties *)properties;
+}
diff --git a/libmm-glib/mm-modem-simple.h b/libmm-glib/mm-modem-simple.h
index bfc69d30..96737b1a 100644
--- a/libmm-glib/mm-modem-simple.h
+++ b/libmm-glib/mm-modem-simple.h
@@ -28,6 +28,7 @@
#include "mm-bearer.h"
#include "mm-modem-simple-connect-properties.h"
+#include "mm-modem-simple-status-properties.h"
G_BEGIN_DECLS
@@ -65,6 +66,16 @@ gboolean mm_modem_simple_disconnect_sync (MMModemSimple *self,
GCancellable *cancellable,
GError **error);
+void mm_modem_simple_get_status (MMModemSimple *self,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+MMModemSimpleStatusProperties *mm_modem_simple_get_status_finish (MMModemSimple *self,
+ GAsyncResult *res,
+ GError **error);
+MMModemSimpleStatusProperties *mm_modem_simple_get_status_sync (MMModemSimple *self,
+ GCancellable *cancellable,
+ GError **error);
G_END_DECLS
#endif /* _MM_MODEM_SIMPLE_H_ */