Support publishing system events 77/278377/3
authorjh9216.park <jh9216.park@samsung.com>
Wed, 20 Jul 2022 02:44:29 +0000 (22:44 -0400)
committerjh9216.park <jh9216.park@samsung.com>
Wed, 20 Jul 2022 22:58:00 +0000 (18:58 -0400)
Change-Id: I1094feec08ee54716543156bcd5a88f7fda2e144
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
src/event.c

index c0c174b..e2d2924 100644 (file)
@@ -33,6 +33,7 @@
 #define LOG_TAG "CAPI_APPFW_EVENT"
 #define MAX_SIZE 100
 #define MAX_APP_ID_LEN 256
+#define SYS_EVENT_NAME_PREFIX "tizen.system.event"
 
 enum alias_appid_mode {
        ALIAS_APPID_MODE_UNKNOWN,
@@ -378,6 +379,16 @@ int event_remove_event_handler(event_handler_h event_handler)
        return EVENT_ERROR_NONE;
 }
 
+static bool __is_system_event(const char *event_name)
+{
+       int len = strlen(SYS_EVENT_NAME_PREFIX);
+
+       if (strncmp(event_name, SYS_EVENT_NAME_PREFIX, len) != 0)
+               return false;
+
+       return true;
+}
+
 int event_publish_app_event(const char *event_name, bundle *event_data)
 {
        char *real_event_name;
@@ -386,6 +397,14 @@ int event_publish_app_event(const char *event_name, bundle *event_data)
        if (event_data == NULL || event_name == NULL)
                return __event_error(EVENT_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
 
+       if (__is_system_event(event_name)) {
+               ret = eventsystem_send_system_event(event_name, event_data);
+               if (ret < 0)
+                       return __event_error(EVENT_ERROR_IO_ERROR, __FUNCTION__, NULL);
+
+               return EVENT_ERROR_NONE;
+       }
+
        ret = __get_publication_alias_appid_mode();
 
        if (ret == ALIAS_APPID_MODE_ON