diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2019-12-13 18:04:02 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2019-12-13 18:04:02 +0100 |
commit | fcbffbd1231052fb3ea543382b59ad195cc45211 (patch) | |
tree | aa2396533deb1279f6711bf8cd25acf8c769e1cc /libmm-glib/mm-modem-3gpp.c | |
parent | 248cd55f0e5d2a125569f9e7974a43d6b895d6de (diff) |
libmm-glib,3gpp: make MMModem3gppNetwork a boxed type
So that bindings know how to free the list of structs.
This commit ends up triggering an API break in the bindings generated
via GObject introspection, because the methods to access the items of
a MMModem3gppNetwork are no longer treated as Modem3gpp class methods.
E.g. instead of:
ModemManager.Modem3gpp.network_get_operator_code(network)
We should now do:
network.get_operator_code()
There is no API break in libmm-glib.
Diffstat (limited to 'libmm-glib/mm-modem-3gpp.c')
-rw-r--r-- | libmm-glib/mm-modem-3gpp.c | 17 |
1 files changed, 17 insertions, 0 deletions
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. |