diff options
-rw-r--r-- | docs/reference/libmm-glib/libmm-glib-sections.txt | 2 | ||||
-rwxr-xr-x | examples/network-scan-python/network-scan-python | 10 | ||||
-rw-r--r-- | libmm-glib/mm-modem-3gpp.c | 17 | ||||
-rw-r--r-- | libmm-glib/mm-modem-3gpp.h | 7 |
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, |