From baecea43167a4214c1a4d9bc6e1bd1f8b763848a Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 31 May 2011 17:43:49 +0200 Subject: [PATCH] ofono: Store Operator string in struct modem So we don't rely on the connman_device_set/get_string(). --- plugins/ofono.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/ofono.c b/plugins/ofono.c index e5b786e..0c23462 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -90,6 +90,7 @@ struct modem_data { connman_bool_t registered; connman_bool_t roaming; uint8_t strength, has_strength; + char *operator; }; struct network_info { @@ -356,6 +357,7 @@ static void remove_modem(gpointer data) modem_remove_device(modem); g_free(modem->path); + g_free(modem->operator); g_free(modem); } @@ -806,7 +808,6 @@ static int add_network(struct connman_device *device, struct network_info *info; char *ident; const char *hash_path; - char const *operator; dbus_bool_t active = FALSE; DBG("modem %p device %p path %s", modem, device, path); @@ -856,9 +857,8 @@ static int add_network(struct connman_device *device, connman_network_set_available(network, TRUE); connman_network_set_index(network, -1); - operator = connman_device_get_string(device, "Operator"); - if (operator) - connman_network_set_name(network, operator); + if (modem->operator) + connman_network_set_name(network, modem->operator); if (modem->has_strength) connman_network_set_strength(network, modem->strength); @@ -992,7 +992,9 @@ static void modem_operator_name_changed(struct modem_data *modem, if (device == NULL) return; - connman_device_set_string(device, "Operator", name); + if (modem->operator != NULL) + g_free(modem->operator); + modem->operator = g_strdup(name); for (g_hash_table_iter_init(&i, network_hash); g_hash_table_iter_next(&i, NULL, &value);) { -- 2.7.4