From c23807c7fd42ac9b2531cb258132032f977b6bec Mon Sep 17 00:00:00 2001 From: "jh9216.park" Date: Tue, 19 Jul 2022 22:44:29 -0400 Subject: [PATCH] Support publishing system events Change-Id: I1094feec08ee54716543156bcd5a88f7fda2e144 Signed-off-by: jh9216.park --- src/event.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/event.c b/src/event.c index c0c174b..e2d2924 100644 --- a/src/event.c +++ b/src/event.c @@ -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 -- 2.34.1