diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2012-09-18 17:11:12 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2012-09-18 19:53:34 +0200 |
commit | 67445f4e22ad924394acdd4fd49e6f238244a5ca (patch) | |
tree | 2f493d45b15768cffcac5eb34c7afed0514f7344 /src/shared | |
parent | e872b43c7ee51efb6bd6ca31d79e02af8cc3cb82 (diff) |
core: move ManagerRunningAs to shared
Note: I did s/MANAGER/SYSTEMD/ everywhere, even though it makes the
patch quite verbose. Nevertheless, keeping MANAGER prefix in some
places, and SYSTEMD prefix in others would just lead to confusion down
the road. Better to rip off the band-aid now.
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/install.c | 2 | ||||
-rw-r--r-- | src/shared/path-lookup.c | 14 | ||||
-rw-r--r-- | src/shared/path-lookup.h | 12 |
3 files changed, 22 insertions, 6 deletions
diff --git a/src/shared/install.c b/src/shared/install.c index c6215fbb32..f30bf8317b 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -59,7 +59,7 @@ static int lookup_paths_init_from_scope(LookupPaths *paths, UnitFileScope scope) zero(*paths); return lookup_paths_init(paths, - scope == UNIT_FILE_SYSTEM ? MANAGER_SYSTEM : MANAGER_USER, + scope == UNIT_FILE_SYSTEM ? SYSTEMD_SYSTEM : SYSTEMD_USER, scope == UNIT_FILE_USER, NULL, NULL, NULL); } diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c index a9c3e21d51..6e5529e0c7 100644 --- a/src/shared/path-lookup.c +++ b/src/shared/path-lookup.c @@ -22,6 +22,7 @@ #include <assert.h> #include <stdlib.h> #include <stdio.h> +#include <string.h> #include <unistd.h> #include <errno.h> @@ -31,6 +32,13 @@ #include "path-util.h" #include "path-lookup.h" +static const char* const systemd_running_as_table[_SYSTEMD_RUNNING_AS_MAX] = { + [SYSTEMD_SYSTEM] = "system", + [SYSTEMD_USER] = "user" +}; + +DEFINE_STRING_TABLE_LOOKUP(systemd_running_as, SystemdRunningAs); + int user_config_home(char **config_home) { const char *e; @@ -224,7 +232,7 @@ fail: int lookup_paths_init( LookupPaths *p, - ManagerRunningAs running_as, + SystemdRunningAs running_as, bool personal, const char *generator, const char *generator_early, @@ -256,7 +264,7 @@ int lookup_paths_init( * for the system stuff but avoid it for user * stuff. */ - if (running_as == MANAGER_USER) { + if (running_as == SYSTEMD_USER) { if (personal) p->unit_path = user_dirs(generator, generator_early, generator_late); @@ -323,7 +331,7 @@ int lookup_paths_init( p->unit_path = NULL; } - if (running_as == MANAGER_SYSTEM) { + if (running_as == SYSTEMD_SYSTEM) { #ifdef HAVE_SYSV_COMPAT /* /etc/init.d/ compatibility does not matter to users */ diff --git a/src/shared/path-lookup.h b/src/shared/path-lookup.h index 0aab956f25..baef62228a 100644 --- a/src/shared/path-lookup.h +++ b/src/shared/path-lookup.h @@ -29,9 +29,17 @@ typedef struct LookupPaths { #endif } LookupPaths; -#include "manager.h" +typedef enum SystemdRunningAs { + SYSTEMD_SYSTEM, + SYSTEMD_USER, + _SYSTEMD_RUNNING_AS_MAX, + _SYSTEMD_RUNNING_AS_INVALID = -1 +} SystemdRunningAs; + +const char* systemd_running_as_to_string(SystemdRunningAs i); +SystemdRunningAs systemd_running_as_from_string(const char *s); int user_config_home(char **config_home); -int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as, bool personal, const char *generator, const char *generator_early, const char *generator_late); +int lookup_paths_init(LookupPaths *p, SystemdRunningAs running_as, bool personal, const char *generator, const char *generator_early, const char *generator_late); void lookup_paths_free(LookupPaths *p); |