tizen 2.3 release
[framework/system/deviced.git] / src / core / main.c
index 977eb06..ab3e80c 100644 (file)
@@ -23,7 +23,7 @@
 
 #include "display/core.h"
 #include "log.h"
-#include "data.h"
+#include "common.h"
 #include "edbus-handler.h"
 #include "devices.h"
 #include "shared/dbus.h"
 
 #define PIDFILE_PATH           "/var/run/.deviced.pid"
 
-static void init_ad(struct main_data *ad)
-{
-       memset(ad, 0x0, sizeof(struct main_data));
-}
-
 static void writepid(char *pidpath)
 {
        FILE *fp;
@@ -59,63 +54,24 @@ static void sig_usr1(int signo)
        ecore_main_loop_quit();
 }
 
-static void check_systemd_active(void)
+static int deviced_main(int argc, char **argv)
 {
-       DBusError err;
-       DBusMessage *msg;
-       DBusMessageIter iter, sub;
-       const char *state;
-       char *pa[2];
-
-       pa[0] = "org.freedesktop.systemd1.Unit";
-       pa[1] = "ActiveState";
-
-       _I("%s %s", pa[0], pa[1]);
-
-       msg = dbus_method_sync_with_reply("org.freedesktop.systemd1",
-                       "/org/freedesktop/systemd1/unit/default_2etarget",
-                       "org.freedesktop.DBus.Properties",
-                       "Get", "ss", pa);
-       if (!msg)
-               return;
-
-       dbus_error_init(&err);
-
-       if (!dbus_message_iter_init(msg, &iter) ||
-           dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT)
-               goto out;
+       int ret;
 
-       dbus_message_iter_recurse(&iter, &sub);
-
-       if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING)
-               goto out;
-
-       dbus_message_iter_get_basic(&sub, &state);
-
-       if (strncmp(state, "active", 6) == 0) {
+       edbus_init(NULL);
+       devices_init(NULL);
+       ret = check_systemd_active();
+       if (ret == TRUE) {
                _I("notify relaunch");
                device_notify(DEVICE_NOTIFIER_BOOTING_DONE, (void *)TRUE);
        }
-out:
-       dbus_message_unref(msg);
-       dbus_error_free(&err);
-}
-
-static int system_main(int argc, char **argv)
-{
-       struct main_data ad;
-
-       init_ad(&ad);
-       edbus_init(&ad);
-       devices_init(&ad);
-       check_systemd_active();
        signal(SIGTERM, sig_quit);
        signal(SIGUSR1, sig_usr1);
 
        ecore_main_loop_begin();
 
-       devices_exit(&ad);
-       edbus_exit(&ad);
+       devices_exit(NULL);
+       edbus_exit(NULL);
        ecore_shutdown();
        return 0;
 }
@@ -124,5 +80,5 @@ int main(int argc, char **argv)
 {
        writepid(PIDFILE_PATH);
        ecore_init();
-       return system_main(argc, argv);
+       return deviced_main(argc, argv);
 }