aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2011-12-28 14:30:49 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:39 +0100
commitf58a23c9c20c1a4a4a1987e8e0d9b3d988eaee59 (patch)
tree06e1828ea8d0aeb6d8890caa14e70ec4dae53db6
parent1745d8c9ebf00dc06ff4f2172d754b54c2ec9fbc (diff)
libmm-glib: new interface to handle simple status properties
-rw-r--r--libmm-glib/Makefile.am3
-rw-r--r--libmm-glib/mm-modem-simple-status-properties.c78
-rw-r--r--libmm-glib/mm-modem-simple-status-properties.h44
3 files changed, 125 insertions, 0 deletions
diff --git a/libmm-glib/Makefile.am b/libmm-glib/Makefile.am
index f3a67d25..43039af3 100644
--- a/libmm-glib/Makefile.am
+++ b/libmm-glib/Makefile.am
@@ -22,6 +22,8 @@ libmm_glib_la_SOURCES = \
mm-modem-3gpp.c \
mm-modem-simple-connect-properties.h \
mm-modem-simple-connect-properties.c \
+ mm-modem-simple-status-properties.h \
+ mm-modem-simple-status-properties.c \
mm-modem-simple.h \
mm-modem-simple.c \
mm-sim.h \
@@ -43,6 +45,7 @@ include_HEADERS = \
mm-modem.h \
mm-modem-3gpp.h \
mm-modem-simple-connect-properties.h \
+ mm-modem-simple-status-properties.h \
mm-modem-simple.h \
mm-sim.h \
mm-bearer-properties.h \
diff --git a/libmm-glib/mm-modem-simple-status-properties.c b/libmm-glib/mm-modem-simple-status-properties.c
new file mode 100644
index 00000000..dc60ec11
--- /dev/null
+++ b/libmm-glib/mm-modem-simple-status-properties.c
@@ -0,0 +1,78 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details:
+ *
+ * Copyright (C) 2011 Aleksander Morgado <aleksander@gnu.org>
+ */
+
+#include "mm-modem-simple-status-properties.h"
+
+MMModemState
+mm_modem_simple_status_properties_get_state (MMModemSimpleStatusProperties *self)
+{
+ g_return_val_if_fail (MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES (self),
+ MM_MODEM_STATE_UNKNOWN);
+
+ return mm_common_simple_properties_get_state (self);
+}
+
+guint32
+mm_modem_simple_status_properties_get_signal_quality (MMModemSimpleStatusProperties *self,
+ gboolean *recent)
+{
+ g_return_val_if_fail (MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES (self), 0);
+
+ return mm_common_simple_properties_get_signal_quality (self, recent);
+}
+
+void
+mm_modem_simple_status_properties_get_bands (MMModemSimpleStatusProperties *self,
+ const MMModemBand **bands,
+ guint *n_bands)
+{
+ g_return_if_fail (MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES (self));
+
+ return mm_common_simple_properties_get_bands (self, bands, n_bands);
+}
+
+MMModemAccessTechnology
+mm_modem_simple_status_properties_get_access_technologies (MMModemSimpleStatusProperties *self)
+{
+ g_return_val_if_fail (MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES (self),
+ MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN);
+
+ return mm_common_simple_properties_get_access_technologies (self);
+}
+
+MMModem3gppRegistrationState
+mm_modem_simple_status_properties_get_registration_state (MMModemSimpleStatusProperties *self)
+{
+ g_return_val_if_fail (MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES (self),
+ MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN);
+
+ return mm_common_simple_properties_get_registration_state (self);
+}
+
+const gchar *
+mm_modem_simple_status_properties_get_operator_code (MMModemSimpleStatusProperties *self)
+{
+ g_return_val_if_fail (MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES (self), NULL);
+
+ return mm_common_simple_properties_get_operator_code (self);
+}
+
+const gchar *
+mm_modem_simple_status_properties_get_operator_name (MMModemSimpleStatusProperties *self)
+{
+ g_return_val_if_fail (MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES (self), NULL);
+
+ return mm_common_simple_properties_get_operator_name (self);
+}
diff --git a/libmm-glib/mm-modem-simple-status-properties.h b/libmm-glib/mm-modem-simple-status-properties.h
new file mode 100644
index 00000000..81ac8f48
--- /dev/null
+++ b/libmm-glib/mm-modem-simple-status-properties.h
@@ -0,0 +1,44 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details:
+ *
+ * Copyright (C) 2011 Aleksander Morgado <aleksander@gnu.org>
+ */
+
+#ifndef MM_MODEM_SIMPLE_STATUS_PROPERTIES_H
+#define MM_MODEM_SIMPLE_STATUS_PROPERTIES_H
+
+#include <ModemManager.h>
+#include <glib-object.h>
+
+#include <libmm-common.h>
+
+G_BEGIN_DECLS
+
+typedef MMCommonSimpleProperties MMModemSimpleStatusProperties;
+#define MM_TYPE_MODEM_SIMPLE_STATUS_PROPERTIES(o) MM_TYPE_COMMON_SIMPLE_PROPERTIES (o)
+#define MM_MODEM_SIMPLE_STATUS_PROPERTIES(o) MM_COMMON_SIMPLE_PROPERTIES(o)
+#define MM_IS_MODEM_SIMPLE_STATUS_PROPERTIES(o) MM_IS_COMMON_SIMPLE_PROPERTIES(o)
+
+MMModemState mm_modem_simple_status_properties_get_state (MMModemSimpleStatusProperties *self);
+guint32 mm_modem_simple_status_properties_get_signal_quality (MMModemSimpleStatusProperties *self,
+ gboolean *recent);
+void mm_modem_simple_status_properties_get_bands (MMModemSimpleStatusProperties *self,
+ const MMModemBand **bands,
+ guint *n_bands);
+MMModemAccessTechnology mm_modem_simple_status_properties_get_access_technologies (MMModemSimpleStatusProperties *self);
+MMModem3gppRegistrationState mm_modem_simple_status_properties_get_registration_state (MMModemSimpleStatusProperties *self);
+const gchar *mm_modem_simple_status_properties_get_operator_code (MMModemSimpleStatusProperties *self);
+const gchar *mm_modem_simple_status_properties_get_operator_name (MMModemSimpleStatusProperties *self);
+
+G_END_DECLS
+
+#endif /* MM_MODEM_SIMPLE_STATUS_PROPERTIES_H */