proc-manager : add ProcPrelaunch signal handler 65/185965/4
authorKichan Kwon <k_c.kwon@samsung.com>
Mon, 6 Aug 2018 02:16:41 +0000 (11:16 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Tue, 7 Aug 2018 06:00:44 +0000 (15:00 +0900)
Change-Id: I0bb721f65d4f27f9acddf53dd4cdba6e5f35c77c
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
src/proc-manager/proc-manager-dbus.c
src/proc-manager/proc-manager-dbus.h

index 8287f718f51947155ca1e0a301ea203a1b873347..932468454cc8f5776e73e34040bfa5b21e024b2e 100644 (file)
@@ -58,18 +58,49 @@ static void proc_manager_dbus_app_launch(GVariant *params)
        }
 }
 
-static struct dbus_signal proc_manager_dbus_signals[] = {
+/**
+ * @brief  D-Bus signal handler for ProcPrelaunch
+ */
+static void proc_manager_dbus_app_prelaunch(GVariant *params)
+{
+       char *appid = NULL;
+       char *pkgid = NULL;
+       int flags = -1;
+       int categories = -1;
+
+       g_variant_get(params, "(&s&sii)", &appid, &pkgid, &flags, &categories);
+       if (!appid || !pkgid || flags < 0 || categories < 0) {
+               _D("Receive invalid D-Bus message. Ignore it");
+               return;
+       }
+
+       _D("App prelaunched : appid(%s), pkgid(%s), flags(0x%x), categories(0x%x)",
+                       appid, pkgid, flags, categories);
+}
+
+static struct dbus_signal proc_manager_dbus_signals_amd[] = {
        { "AppLaunch", proc_manager_dbus_app_launch },
 };
 
+static struct dbus_signal proc_manager_dbus_signals_rdhl[] = {
+       { "ProcPrelaunch", proc_manager_dbus_app_prelaunch },
+};
+
 int proc_manager_dbus_init(void)
 {
        int ret;
 
        ret = dbus_register_signals(AUL_DBUS_PATH_APPSTATUS, AUL_DBUS_INTERFACE_APPSTATUS,
-                       proc_manager_dbus_signals, ARRAY_SIZE(proc_manager_dbus_signals));
+                       proc_manager_dbus_signals_amd, ARRAY_SIZE(proc_manager_dbus_signals_amd));
+       if (ret < 0) {
+               _E("Failed to register proc-manager AMD D-Bus signals (%d)", ret);
+               return ret;
+       }
+
+       ret = dbus_register_signals(RDHL_DBUS_PATH_PROC, RDHL_DBUS_INTERFACE_PROC,
+                       proc_manager_dbus_signals_rdhl, ARRAY_SIZE(proc_manager_dbus_signals_rdhl));
        if (ret < 0) {
-               _E("Failed to register proc-manager D-Bus signals (%d)", ret);
+               _E("Failed to register proc-manager Resourced D-Bus signals (%d)", ret);
                return ret;
        }
 
index 79e96d26017b098951fcd29490f3f2d3c10412fd..3901f8d503ab43a6a0669ae57feb72d18a80f46b 100644 (file)
@@ -27,6 +27,9 @@
 #define AUL_DBUS_PATH_APPSTATUS       "/Org/Tizen/Aul/AppStatus"
 #define AUL_DBUS_INTERFACE_APPSTATUS  "org.tizen.aul.AppStatus"
 
+#define RDHL_DBUS_PATH_PROC           RDHL_DBUS_PATH(Process)
+#define RDHL_DBUS_INTERFACE_PROC      RDHL_DBUS_INTERFACE(process)
+
 int proc_manager_dbus_init(void);
 
 #endif /* __RESOURCED_HEADLESS_PROC_MANAGER_DBUS_H__ */