#define RESOURCED_PROC_PRELAUNCH_SIGNAL "ProcPrelaunch"
#define RESOURCED_PROC_WATCHDOG_SIGNAL "ProcWatchdog"
-#define RESOURCED_PROC_GROUP_SIGNAL "ProcGroup"
#define PROC_TYPE_EXCLUDE "exclude"
#define PROC_TYPE_INCLUDE "include"
#define AUL_K_API_VERSION "__AUL_API_VERSION__"
/** AUL internal private key */
#define AUL_K_ALLOWED_BG "__AUL_ALLOWED_BG__"
-
+/** AUL internal private key */
+#define AUL_K_OWNER_PID "__AUL_OWNER_PID__"
+/** AUL internal private key */
+#define AUL_K_CHILD_PID "__AUL_CHILD_PID__"
/**
* @brief This is callback function for aul_launch_init
* @param[in] type event's type received from system
int aul_remove_status_local_cb(int (*func) (int, void *), void *data);
/*
+ * This API is only for appfw internally.
+ */
+int aul_set_process_group(int parent_pid, int child_pid);
+
+/*
* This API is only for Appfw internally.
*/
int aul_terminate_bgapp_pid(int pid);
APP_SET_APP_CONTROL_DEFAULT_APP,
APP_UNSET_APP_CONTROL_DEFAULT_APP,
APP_START_ASYNC,
+ APP_SET_PROCESS_GROUP,
APP_CMD_MAX
};
*/
#define _GNU_SOURCE
+#include <stdio.h>
#include <stdlib.h>
#include <aul.h>
return ret;
}
+API int aul_set_process_group(int owner_pid, int child_pid)
+{
+ int ret = -1;
+ bundle *kb = NULL;
+ char pid_buf[MAX_PID_STR_BUFSZ] = {0,};
+
+ kb = bundle_create();
+
+ if (kb == NULL)
+ return -1;
+
+ snprintf(pid_buf, MAX_PID_STR_BUFSZ, "%d", owner_pid);
+ bundle_add(kb, AUL_K_OWNER_PID, pid_buf);
+ snprintf(pid_buf, MAX_PID_STR_BUFSZ, "%d", child_pid);
+ bundle_add(kb, AUL_K_CHILD_PID, pid_buf);
+ ret = app_send_cmd(AUL_UTIL_PID, APP_SET_PROCESS_GROUP, kb);
+ bundle_free(kb);
+
+ return ret;
+}
+