Save config information (file name and section id) for provisioned services. The information is used to remove the service when config file is removed. --- src/connman.h | 2 ++ src/service.c | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/connman.h b/src/connman.h index 388e6fb..5f55263 100644 --- a/src/connman.h +++ b/src/connman.h @@ -622,6 +622,8 @@ int __connman_service_disconnect_all(void); void __connman_service_auto_connect(void); void __connman_service_provision_changed(const char *ident); +void __connman_service_set_config(struct connman_service *service, + const char *file_id, const char *section); const char *__connman_service_type2string(enum connman_service_type type); enum connman_service_type __connman_service_string2type(const char *str); diff --git a/src/service.c b/src/service.c index a409fb4..cf5009f 100644 --- a/src/service.c +++ b/src/service.c @@ -118,6 +118,8 @@ struct connman_service { connman_bool_t do_split_routing; connman_bool_t new_service; connman_bool_t hidden_service; + char *config_file; + char *config_entry; }; struct find_data { @@ -3994,6 +3996,8 @@ static void service_free(gpointer user_data) g_free(service->private_key_file); g_free(service->private_key_passphrase); g_free(service->phase2); + g_free(service->config_file); + g_free(service->config_entry); if (service->stats.timer != NULL) g_timer_destroy(service->stats.timer); @@ -5447,6 +5451,19 @@ void __connman_service_provision_changed(const char *ident) g_sequence_foreach(service_list, provision_changed, (void *)ident); } +void __connman_service_set_config(struct connman_service *service, + const char *file_id, const char *entry) +{ + if (service == NULL) + return; + + g_free(service->config_file); + service->config_file = g_strdup(file_id); + + g_free(service->config_entry); + service->config_entry = g_strdup(entry); +} + /** * __connman_service_get: * @identifier: service identifier -- 1.7.5.4 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman