Hi Slava,
---
Makefile.am | 6 +++---
src/connman.h | 3 +++
src/main.c | 9 +++++++++
tools/session-test.c | 2 +-
vpn/main.c | 9 +++++++++
5 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 9c13630..3f4ea5e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -223,7 +223,7 @@ AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
-DVPN_STATEDIR=\""$(vpn_statedir)"\" \
-DPLUGINDIR=\""$(build_plugindir)"\" \
-DSCRIPTDIR=\""$(build_scriptdir)"\" \
- -DSTORAGEDIR=\""$(storagedir)\"" \
+ -DDEFAULT_STORAGEDIR=\""$(storagedir)\"" \
-DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
-DCONFIGDIR=\""$(configdir)\""
@@ -239,7 +239,7 @@ src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
-DSTATEDIR=\""$(statedir)"\" \
-DPLUGINDIR=\""$(build_plugindir)"\" \
-DSCRIPTDIR=\""$(build_scriptdir)"\" \
- -DSTORAGEDIR=\""$(storagedir)\"" \
+ -DDEFAULT_STORAGEDIR=\""$(storagedir)\"" \
-DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
-DCONFIGDIR=\""$(configdir)\"" \
-I$(builddir)/src
@@ -255,7 +255,7 @@ vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
-DVPN_STATEDIR=\""$(vpn_statedir)"\" \
-DPLUGINDIR=\""$(build_vpn_plugindir)"\" \
-DSCRIPTDIR=\""$(build_scriptdir)"\" \
- -DSTORAGEDIR=\""$(storagedir)\"" \
+ -DDEFAULT_STORAGEDIR=\""$(storagedir)\"" \
-DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
-DCONFIGDIR=\""$(configdir)\"" \
-I$(builddir)/vpn
diff --git a/src/connman.h b/src/connman.h
index 401e3d7..b743678 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -253,6 +253,9 @@ int __connman_resolvfile_append(int index, const char *domain, const
char *serve
int __connman_resolvfile_remove(int index, const char *domain, const char *server);
int __connman_resolver_redo_servers(int index);
+#define STORAGEDIR __connman_storage_dir()
+
+const char *__connman_storage_dir(void);
GKeyFile *__connman_storage_open_global(void);
GKeyFile *__connman_storage_load_global(void);
int __connman_storage_save_global(GKeyFile *keyfile);
diff --git a/src/main.c b/src/main.c
index fdb4f72..45bdddd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -462,6 +462,7 @@ static void disconnect_callback(DBusConnection *conn, void
*user_data)
}
static gchar *option_config = NULL;
+static gchar *option_storagedir = NULL;
static gchar *option_debug = NULL;
static gchar *option_device = NULL;
static gchar *option_plugin = NULL;
@@ -473,6 +474,11 @@ static gboolean option_dnsproxy = TRUE;
static gboolean option_backtrace = TRUE;
static gboolean option_version = FALSE;
+const char *__connman_storage_dir(void)
+{
+ return option_storagedir ? option_storagedir : DEFAULT_STORAGEDIR;
+}
+
static bool parse_debug(const char *key, const char *value,
gpointer user_data, GError **error)
{
@@ -488,6 +494,9 @@ static GOptionEntry options[] = {
{ "config", 'c', 0, G_OPTION_ARG_STRING, &option_config,
"Load the specified configuration file "
"instead of " CONFIGMAINFILE, "FILE" },
+ { "storage", 's', 0, G_OPTION_ARG_STRING, &option_storagedir,
+ "Use the specified storage directory "
+ "instead of " DEFAULT_STORAGEDIR, "DIR" },
{ "debug", 'd', G_OPTION_FLAG_OPTIONAL_ARG,
G_OPTION_ARG_CALLBACK, parse_debug,
"Specify debug options to enable", "DEBUG" },
diff --git a/tools/session-test.c b/tools/session-test.c
index 4319e5a..855bfb6 100644
--- a/tools/session-test.c
+++ b/tools/session-test.c
@@ -32,7 +32,7 @@
#include "session-test.h"
-#define POLICYDIR STORAGEDIR "/session_policy_local"
+#define POLICYDIR DEFAULT_STORAGEDIR "/session_policy_local"
enum test_session_state {
TEST_SESSION_STATE_0 = 0,
diff --git a/vpn/main.c b/vpn/main.c
index ee88aac..3d0c8e8 100644
--- a/vpn/main.c
+++ b/vpn/main.c
@@ -185,6 +185,7 @@ static void disconnect_callback(DBusConnection *conn, void
*user_data)
}
static gchar *option_config = NULL;
+static gchar *option_storagedir = NULL;
static gchar *option_debug = NULL;
static gchar *option_plugin = NULL;
static gchar *option_noplugin = NULL;
@@ -192,6 +193,11 @@ static bool option_detach = true;
static bool option_version = false;
static bool option_routes = false;
+const char *__connman_storage_dir(void)
+{
+ return option_storagedir ? option_storagedir : DEFAULT_STORAGEDIR;
+}
+
static bool parse_debug(const char *key, const char *value,
gpointer user_data, GError **error)
{
@@ -207,6 +213,9 @@ static GOptionEntry options[] = {
{ "config", 'c', 0, G_OPTION_ARG_STRING, &option_config,
"Load the specified configuration file "
"instead of " CONFIGMAINFILE, "FILE" },
+ { "storage", 's', 0, G_OPTION_ARG_STRING, &option_storagedir,
+ "Use the specified storage directory "
+ "instead of " DEFAULT_STORAGEDIR, "DIR" },
why would this be useful as runtime configuration? It is a compile time option on
purpose.
Regards
Marcel