summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vpn/vpn-config.c15
-rw-r--r--vpn/vpn.h10
2 files changed, 21 insertions, 4 deletions
diff --git a/vpn/vpn-config.c b/vpn/vpn-config.c
index 301243b5..8c6b0681 100644
--- a/vpn/vpn-config.c
+++ b/vpn/vpn-config.c
@@ -580,3 +580,18 @@ char **__vpn_config_get_string_list(GKeyFile *key_file,
return strlist;
}
+
+bool __vpn_config_get_boolean(GKeyFile *key_file, const char *group_name,
+ const char *key, bool default_value)
+{
+ GError *error = NULL;
+ bool val;
+
+ val = g_key_file_get_boolean(key_file, group_name, key, &error);
+ if (error) {
+ g_error_free(error);
+ return default_value;
+ }
+
+ return val;
+}
diff --git a/vpn/vpn.h b/vpn/vpn.h
index 8d7c63d6..9649f545 100644
--- a/vpn/vpn.h
+++ b/vpn/vpn.h
@@ -111,10 +111,12 @@ int __vpn_rtnl_send(const void *buf, size_t len);
int __vpn_config_init(void);
void __vpn_config_cleanup(void);
-char *__vpn_config_get_string(GKeyFile *key_file,
- const char *group_name, const char *key, GError **error);
-char **__vpn_config_get_string_list(GKeyFile *key_file,
- const char *group_name, const char *key, gsize *length, GError **error);
+char *__vpn_config_get_string(GKeyFile *key_file, const char *group_name,
+ const char *key, GError **error);
+char **__vpn_config_get_string_list(GKeyFile *key_file, const char *group_name,
+ const char *key, gsize *length, GError **error);
+bool __vpn_config_get_boolean(GKeyFile *key_file, const char *group_name,
+ const char *key, bool default_value);
int __vpn_settings_init(const char *file);
void __vpn_settings_cleanup(void);