aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference/libmm-glib/libmm-glib-sections.txt2
-rwxr-xr-xexamples/network-scan-python/network-scan-python10
-rw-r--r--libmm-glib/mm-modem-3gpp.c17
-rw-r--r--libmm-glib/mm-modem-3gpp.h7
4 files changed, 31 insertions, 5 deletions
diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt
index f70ad455..1819fcc2 100644
--- a/docs/reference/libmm-glib/libmm-glib-sections.txt
+++ b/docs/reference/libmm-glib/libmm-glib-sections.txt
@@ -318,7 +318,9 @@ MM_MODEM_3GPP
MM_MODEM_3GPP_CLASS
MM_MODEM_3GPP_GET_CLASS
MM_TYPE_MODEM_3GPP
+MM_TYPE_MODEM_3GPP_NETWORK
mm_modem_3gpp_get_type
+mm_modem_3gpp_network_get_type
</SECTION>
<SECTION>
diff --git a/examples/network-scan-python/network-scan-python b/examples/network-scan-python/network-scan-python
index 88f0a115..ad377091 100755
--- a/examples/network-scan-python/network-scan-python
+++ b/examples/network-scan-python/network-scan-python
@@ -47,10 +47,10 @@ if __name__ == "__main__":
if networks:
for network in networks:
print('%s: %s - %s (%s, %s)' % (
- ModemManager.Modem3gpp.network_get_operator_code(network),
- ModemManager.Modem3gpp.network_get_operator_short(network),
- ModemManager.Modem3gpp.network_get_operator_short(network),
- ModemManager.modem_access_technology_build_string_from_mask (ModemManager.Modem3gpp.network_get_access_technology(network)),
- ModemManager.Modem3gppNetworkAvailability.get_string(ModemManager.Modem3gpp.network_get_availability(network))))
+ network.get_operator_code(),
+ network.get_operator_short(),
+ network.get_operator_short(),
+ ModemManager.modem_access_technology_build_string_from_mask (network.get_access_technology()),
+ ModemManager.Modem3gppNetworkAvailability.get_string(network.get_availability())))
else:
print('no networks found')
diff --git a/libmm-glib/mm-modem-3gpp.c b/libmm-glib/mm-modem-3gpp.c
index 03600c22..7170acdb 100644
--- a/libmm-glib/mm-modem-3gpp.c
+++ b/libmm-glib/mm-modem-3gpp.c
@@ -549,6 +549,23 @@ mm_modem_3gpp_network_free (MMModem3gppNetwork *network)
g_slice_free (MMModem3gppNetwork, network);
}
+static MMModem3gppNetwork *
+modem_3gpp_network_copy (MMModem3gppNetwork *network)
+{
+ MMModem3gppNetwork *network_copy;
+
+ network_copy = g_slice_new0 (MMModem3gppNetwork);
+ network_copy->availability = network->availability;
+ network_copy->operator_long = g_strdup (network->operator_long);
+ network_copy->operator_short = g_strdup (network->operator_short);
+ network_copy->operator_code = g_strdup (network->operator_code);
+ network_copy->access_technology = network->access_technology;
+
+ return network_copy;
+}
+
+G_DEFINE_BOXED_TYPE (MMModem3gppNetwork, mm_modem_3gpp_network, (GBoxedCopyFunc)modem_3gpp_network_copy, (GBoxedFreeFunc)mm_modem_3gpp_network_free)
+
/**
* mm_modem_3gpp_network_get_availability:
* @network: A #MMModem3gppNetwork.
diff --git a/libmm-glib/mm-modem-3gpp.h b/libmm-glib/mm-modem-3gpp.h
index c3fc0c0b..241ea9ca 100644
--- a/libmm-glib/mm-modem-3gpp.h
+++ b/libmm-glib/mm-modem-3gpp.h
@@ -116,6 +116,9 @@ gboolean mm_modem_3gpp_register_sync (MMModem3gpp *self,
*/
typedef struct _MMModem3gppNetwork MMModem3gppNetwork;
+#define MM_TYPE_MODEM_3GPP_NETWORK (mm_modem_3gpp_network_get_type ())
+GType mm_modem_3gpp_network_get_type (void);
+
MMModem3gppNetworkAvailability mm_modem_3gpp_network_get_availability (const MMModem3gppNetwork *network);
const gchar *mm_modem_3gpp_network_get_operator_long (const MMModem3gppNetwork *network);
const gchar *mm_modem_3gpp_network_get_operator_short (const MMModem3gppNetwork *network);
@@ -123,6 +126,10 @@ const gchar *mm_modem_3gpp_network_get_operator_code (con
MMModemAccessTechnology mm_modem_3gpp_network_get_access_technology (const MMModem3gppNetwork *network);
void mm_modem_3gpp_network_free (MMModem3gppNetwork *network);
+#if GLIB_CHECK_VERSION(2, 44, 0)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (MMModem3gppNetwork, mm_modem_3gpp_network_free)
+#endif
+
void mm_modem_3gpp_scan (MMModem3gpp *self,
GCancellable *cancellable,
GAsyncReadyCallback callback,