baa40e28 |
1 | /* |
2 | * Copyright (c) 2014 Ian Sutton <ian@kremlin.cc> |
3 | * |
4 | * Permission to use, copy, modify, and distribute this software for any |
5 | * purpose with or without fee is hereby granted, provided that the above |
6 | * copyright notice and this permission notice appear in all copies. |
7 | * |
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
15 | */ |
16 | |
387173cb |
17 | #include <gio/gio.h> |
c3b84b0a |
18 | #include <glib.h> |
19 | #include <glib/gprintf.h> |
20 | #include <glib/gstdio.h> |
828caf9a |
21 | |
1c38000a |
22 | #include "config.c" |
828caf9a |
23 | |
c3b84b0a |
24 | gboolean systemd_utils_init() { |
c09a09bf |
25 | |
26 | if(!config_init()) { |
94dc7ef0 |
27 | gchar *tmp; |
28 | tmp = "/etc/systemd_compat.conf"; |
29 | |
828caf9a |
30 | g_printf("FAILED to open config %s! did you `make install`?\n", tmp); |
94dc7ef0 |
31 | return FALSE; |
32 | } |
94dc7ef0 |
33 | return TRUE; |
c3b84b0a |
34 | } |
08e17ea2 |
35 | |
c3b84b0a |
36 | int main() { |
08e17ea2 |
37 | |
c09a09bf |
38 | GMainLoop *mloop; |
39 | mloop = g_main_loop_new(NULL, TRUE); |
42c0d206 |
40 | |
41 | if(!systemd_utils_init()) { |
42 | g_printf("failed to init, are you root?\n"); |
43 | return 1; /* TODO errno properly. grep for all "return 1;"s, not TODO'ing each one */ |
44 | } |
c09a09bf |
45 | |
42c0d206 |
46 | gboolean hostnamed_init_ok, localed_init_ok; |
47 | GPid *hostnamed_pid, *localed_pid; |
48 | gchar *hostnamed_argv[0], *localed_argv[0]; |
49 | GSource *hostnamed_source, *localed_source, *timedated_source, *logind_source; |
c09a09bf |
50 | |
42c0d206 |
51 | hostnamed_argv[0] = "/usr/local/libexec/systemd-hostnamed-handler"; |
52 | localed_argv[0] = "/usr/local/libexec/systemd-localed-handler"; |
c09a09bf |
53 | |
42c0d206 |
54 | /*hostnamed_init_ok = g_spawn_async(NULL, hostnamed_argv, NULL, G_SPAWN_DEFAULT, NULL, NULL, hostnamed_pid, NULL); |
55 | localed_init_ok = g_spawn_async(NULL, localed_argv, NULL, G_SPAWN_DEFAULT, NULL, NULL, localed_pid, NULL); |
c09a09bf |
56 | |
42c0d206 |
57 | hostnamed_source = g_child_watch_source_new(*hostnamed_pid); |
58 | localed_source = g_child_watch_source_new(*localed_pid); */ |
c09a09bf |
59 | |
42c0d206 |
60 | /*g_source_attach(hostnamed_source, NULL); |
61 | g_source_attach(localed_source, NULL);*/ |
c3b84b0a |
62 | |
c09a09bf |
63 | g_main_loop_run(mloop); |
64 | g_main_loop_unref(mloop); |
e8c57a5d |
65 | |
c09a09bf |
66 | return 0; |
ea207ed3 |
67 | } |