diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2011-10-31 15:31:40 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-11-07 17:40:08 +0100 |
commit | 50152a805fc9b7124475404c438a2203f99c3e6d (patch) | |
tree | bf72da31feacb12a88309061e449a324891e29c0 /plugins/vpn.c | |
parent | 81c6e2fe35caf30089caf8d126d0badff30dfa8f (diff) | |
download | connman-50152a805fc9b7124475404c438a2203f99c3e6d.tar.gz connman-50152a805fc9b7124475404c438a2203f99c3e6d.tar.bz2 connman-50152a805fc9b7124475404c438a2203f99c3e6d.zip |
vpn: Extend vpn driver struct with save support
Add provider save function and register it in the
vpn driver initialization.
Diffstat (limited to 'plugins/vpn.c')
-rw-r--r-- | plugins/vpn.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/plugins/vpn.c b/plugins/vpn.c index 26e2b09d..79ec305f 100644 --- a/plugins/vpn.c +++ b/plugins/vpn.c @@ -375,6 +375,20 @@ static int vpn_remove(struct connman_provider *provider) return 0; } +static int vpn_save (struct connman_provider *provider, GKeyFile *keyfile) +{ + struct vpn_driver_data *vpn_driver_data; + const char *name; + + name = connman_provider_get_driver_name(provider); + vpn_driver_data = g_hash_table_lookup(driver_hash, name); + if (vpn_driver_data != NULL && + vpn_driver_data->vpn_driver->save != NULL) + return vpn_driver_data->vpn_driver->save(provider, keyfile); + + return 0; +} + int vpn_register(const char *name, struct vpn_driver *vpn_driver, const char *program) { @@ -394,6 +408,7 @@ int vpn_register(const char *name, struct vpn_driver *vpn_driver, data->provider_driver.connect = vpn_connect; data->provider_driver.probe = vpn_probe; data->provider_driver.remove = vpn_remove; + data->provider_driver.save = vpn_save; if (driver_hash == NULL) { driver_hash = g_hash_table_new_full(g_str_hash, |