summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2013-03-05 16:06:17 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2013-03-08 13:09:26 +0200
commit37451c7ccab6a04214ef4671feb7b778c66868b1 (patch)
tree4a437e5813b94a7f6326a599ec4c145d8582c954
parent0de9f5dd1ffb1af04f821f6f0bbd8ae1d393bda3 (diff)
downloadconnman-37451c7ccab6a04214ef4671feb7b778c66868b1.tar.gz
connman-37451c7ccab6a04214ef4671feb7b778c66868b1.tar.bz2
connman-37451c7ccab6a04214ef4671feb7b778c66868b1.zip
provider: Function to set the immutable flag
-rw-r--r--include/provider.h2
-rw-r--r--src/provider.c13
2 files changed, 15 insertions, 0 deletions
diff --git a/include/provider.h b/include/provider.h
index c9a3b917..bfefaed3 100644
--- a/include/provider.h
+++ b/include/provider.h
@@ -101,6 +101,8 @@ int connman_provider_set_ipaddress(struct connman_provider *provider,
int connman_provider_set_pac(struct connman_provider *provider,
const char *pac);
int connman_provider_create_service(struct connman_provider *provider);
+int connman_provider_set_immutable(struct connman_provider *provider,
+ connman_bool_t immutable);
struct connman_provider *connman_provider_get(const char *identifier);
void connman_provider_put(struct connman_provider *provider);
int connman_provider_set_domain(struct connman_provider *provider,
diff --git a/src/provider.c b/src/provider.c
index fa3bc485..ca868803 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -334,6 +334,19 @@ int connman_provider_create_service(struct connman_provider *provider)
return 0;
}
+int connman_provider_set_immutable(struct connman_provider *provider,
+ connman_bool_t immutable)
+{
+ if (provider == NULL)
+ return -EINVAL;
+
+ if (provider->vpn_service == NULL)
+ return -ESRCH;
+
+ return __connman_service_set_immutable(provider->vpn_service,
+ immutable);
+}
+
static struct connman_provider *provider_lookup(const char *identifier)
{
return g_hash_table_lookup(provider_hash, identifier);