From 07482e08a6493db0078eff5c227d8b219a85960a Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Mon, 31 Oct 2011 15:31:38 +0200 Subject: [PATCH] provider: Define a save function for provider drivers Define a save function for connman provider driver specific settings. No corresponding load function is defined since all saved settings are already loaded by connman_provider_load(). --- include/provider.h | 2 ++ src/provider.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/include/provider.h b/include/provider.h index d0e8c35..af121d0 100644 --- a/include/provider.h +++ b/include/provider.h @@ -22,6 +22,7 @@ #ifndef __CONNMAN_PROVIDER_H #define __CONNMAN_PROVIDER_H +#include #include #ifdef __cplusplus @@ -97,6 +98,7 @@ struct connman_provider_driver { int (*remove) (struct connman_provider *provider); int (*connect) (struct connman_provider *provider); int (*disconnect) (struct connman_provider *provider); + int (*save) (struct connman_provider *provider, GKeyFile *keyfile); }; int connman_provider_driver_register(struct connman_provider_driver *driver); diff --git a/src/provider.c b/src/provider.c index 487c7cd..321bfcc 100644 --- a/src/provider.c +++ b/src/provider.c @@ -134,6 +134,9 @@ static int connman_provider_save(struct connman_provider *provider) g_key_file_set_string(keyfile, provider->identifier, "VPN.Domain", provider->domain); + if (provider->driver != NULL && provider->driver->save != NULL) + provider->driver->save(provider, keyfile); + __connman_storage_save_provider(keyfile, provider->identifier); g_key_file_free(keyfile); -- 2.7.4