2 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef __TIZEN_APPFW_EVENT_H__
19 #define __TIZEN_APPFW_EVENT_H__
32 * @addtogroup CAPI_EVENT_MODULE
38 * @brief Event handle.
41 typedef struct event_handler* event_handler_h;
44 * @brief Event callback.
47 * @param[in] event_name The interested event name
48 * @param[in] event_data The data of interested event
49 * @param[in] user_data The user data set by event_add_event_handler()
50 * @see event_add_event_handler
52 typedef void (*event_cb)(const char *event_name, bundle *event_data, void *user_data);
55 * @brief Enumeration for Event Error.
60 EVENT_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
61 EVENT_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
62 EVENT_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
63 EVENT_ERROR_TIMED_OUT = TIZEN_ERROR_TIMED_OUT, /**< Time out */
64 EVENT_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR, /**< IO error */
65 EVENT_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED /**< Permisiion denied */
69 * @brief Definition for system-event of battery : charger status.
71 * @remarks If there is earlier occurrence regarding this event, you will receive the event as soon as you register event handler for this event. You can use this earlier event-data as initial value.
72 * @see EVENT_KEY_BATTERY_CHARGER_STATUS
74 #define SYSTEM_EVENT_BATTERY_CHARGER_STATUS "tizen.system.event.battery_charger_status"
77 * @brief Definition for key of SYSTEM_EVENT_BATTERY_CHARGER_STATUS.
79 * @see EVENT_VAL_BATTERY_CHARGER_DISCONNECTED
80 * @see EVENT_VAL_BATTERY_CHARGER_CONNECTED
81 * @see EVENT_VAL_BATTERY_CHARGER_CHARGING
83 #define EVENT_KEY_BATTERY_CHARGER_STATUS "battery_charger_status"
86 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
89 #define EVENT_VAL_BATTERY_CHARGER_DISCONNECTED "disconnected"
92 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
94 * @remarks Connected but not-available.
96 #define EVENT_VAL_BATTERY_CHARGER_CONNECTED "connected"
99 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
102 #define EVENT_VAL_BATTERY_CHARGER_CHARGING "charging"
105 * @brief Definition for system-event of battery : level status.
107 * @see EVENT_KEY_BATTERY_LEVEL_STATUS
109 #define SYSTEM_EVENT_BATTERY_LEVEL_STATUS "tizen.system.event.battery_level_status"
112 * @brief Definition for key of SYSTEM_EVENT_BATTERY_LEVEL_STATUS.
114 * @see EVENT_VAL_BATTERY_LEVEL_EMPTY
115 * @see EVENT_VAL_BATTERY_LEVEL_CRITICAL
116 * @see EVENT_VAL_BATTERY_LEVEL_LOW
117 * @see EVENT_VAL_BATTERY_LEVEL_HIGH
118 * @see EVENT_VAL_BATTERY_LEVEL_FULL
120 #define EVENT_KEY_BATTERY_LEVEL_STATUS "battery_level_status"
123 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
126 #define EVENT_VAL_BATTERY_LEVEL_EMPTY "empty"
129 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
132 #define EVENT_VAL_BATTERY_LEVEL_CRITICAL "critical"
135 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
138 #define EVENT_VAL_BATTERY_LEVEL_LOW "low"
141 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
144 #define EVENT_VAL_BATTERY_LEVEL_HIGH "high"
147 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
150 #define EVENT_VAL_BATTERY_LEVEL_FULL "full"
153 * @brief Definition for system-event of usb : status of usb connection.
155 * @see EVENT_KEY_USB_STATUS
157 #define SYSTEM_EVENT_USB_STATUS "tizen.system.event.usb_status"
160 * @brief Definition for key of SYSTEM_EVENT_USB_STATUS.
162 * @see EVENT_VAL_USB_DISCONNECTED
163 * @see EVENT_VAL_USB_CONNECTED
164 * @see EVENT_VAL_USB_AVAILABLE
166 #define EVENT_KEY_USB_STATUS "usb_status"
169 * @brief Definition for value of EVENT_KEY_USB_STATUS.
172 #define EVENT_VAL_USB_DISCONNECTED "disconnected"
175 * @brief Definition for value of EVENT_KEY_USB_STATUS.
177 * @remarks Connected but not-available.
179 #define EVENT_VAL_USB_CONNECTED "connected"
182 * @brief Definition for value of EVENT_KEY_USB_STATUS.
185 #define EVENT_VAL_USB_AVAILABLE "available"
188 * @brief Definition for system-event of ear-jack : status of ear-jack connection.
190 * @see EVENT_KEY_EARJACK_STATUS
192 #define SYSTEM_EVENT_EARJACK_STATUS "tizen.system.event.earjack_status"
195 * @brief Definition for key of SYSTEM_EVENT_EARJACK_STATUS.
197 * @see EVENT_VAL_EARJACK_DISCONNECTED
198 * @see EVENT_VAL_EARJACK_CONNECTED
200 #define EVENT_KEY_EARJACK_STATUS "earjack_status"
203 * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
206 #define EVENT_VAL_EARJACK_DISCONNECTED "disconnected"
209 * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
212 #define EVENT_VAL_EARJACK_CONNECTED "connected"
215 * @brief Definition for system-event of display : state of display.
217 * @privilege %http://tizen.org/privilege/display
218 * @remarks If you want to receive this event, you must declare this privilege.
219 * @see EVENT_KEY_DISPLAY_STATE
221 #define SYSTEM_EVENT_DISPLAY_STATE "tizen.system.event.display_state"
224 * @brief Definition for key of SYSTEM_EVENT_DISPLAY_STATE.
226 * @see EVENT_VAL_DISPLAY_NORMAL
227 * @see EVENT_VAL_DISPLAY_DIM
228 * @see EVENT_VAL_DISPLAY_OFF
230 #define EVENT_KEY_DISPLAY_STATE "display_state"
233 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
236 #define EVENT_VAL_DISPLAY_NORMAL "normal"
239 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
242 #define EVENT_VAL_DISPLAY_DIM "dim"
245 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
248 #define EVENT_VAL_DISPLAY_OFF "off"
251 * @brief Definition for system-event of system : boot completion.
253 * @remarks There is no corresponding key/value.
254 * @remarks You can treat the initial value as "false" before you receive this event.
255 * @remarks If it's already boot-completed state before you regiser event handler, you can receive the event as soon as you register the event handler.
257 #define SYSTEM_EVENT_BOOT_COMPLETED "tizen.system.event.boot_completed"
260 * @brief Definition for system-event of system : shutdown.
262 * @remarks There is no corresponding key/value.
263 * @remarks You can treat the inital value as "false" before you receive this event.
264 * @remarks If it's already shutting-down state before you regiser event handler, you can receive the event as soon as you register the event handler.
266 #define SYSTEM_EVENT_SYSTEM_SHUTDOWN "tizen.system.event.system_shutdown"
269 * @brief Definition for system-event of system : low memory.
271 * @see EVENT_KEY_LOW_MEMORY
273 #define SYSTEM_EVENT_LOW_MEMORY "tizen.system.event.low_memory"
276 * @brief Definition for key of SYSTEM_EVENT_LOW_MEMORY.
278 * @remarks If there is earlier occurrence regarding this event, you will receive the event as soon as you register event handler for this event. You can use this earlier event-data as initial value.
279 * @see EVENT_VAL_MEMORY_NORMAL
280 * @see EVENT_VAL_MEMORY_SOFT_WARNING
281 * @see EVENT_VAL_MEMORY_HARD_WARNING
283 #define EVENT_KEY_LOW_MEMORY "low_memory"
286 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
289 #define EVENT_VAL_MEMORY_NORMAL "normal"
292 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
295 #define EVENT_VAL_MEMORY_SOFT_WARNING "soft_warning"
298 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
301 #define EVENT_VAL_MEMORY_HARD_WARNING "hard_warning"
304 * @brief Definition for system-event of wifi : state of wifi.
306 * @privilege %http://tizen.org/privilege/network.get
307 * @remarks If you want to receive this event, you must declare this privilege.
308 * @see EVENT_KEY_WIFI_STATE
310 #define SYSTEM_EVENT_WIFI_STATE "tizen.system.event.wifi_state"
313 * @brief Definition for key of SYSTEM_EVENT_WIFI_STATE.
315 * @see EVENT_VAL_WIFI_OFF
316 * @see EVENT_VAL_WIFI_ON
317 * @see EVENT_VAL_WIFI_CONNECTED
319 #define EVENT_KEY_WIFI_STATE "wifi_state"
322 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
325 #define EVENT_VAL_WIFI_OFF "off"
328 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
331 #define EVENT_VAL_WIFI_ON "on"
334 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
337 #define EVENT_VAL_WIFI_CONNECTED "connected"
340 * @brief Definition for system-event of bluetooth : status of bluetooth.
342 * @see EVENT_KEY_BT_STATE
343 * @see EVENT_KEY_BT_LE_STATE
344 * @see EVENT_KEY_BT_TRANSFERING_STATE
346 #define SYSTEM_EVENT_BT_STATE "tizen.system.event.bt_state"
349 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
351 * @see EVENT_VAL_BT_STATE_OFF
352 * @see EVENT_VAL_BT_STATE_ON
354 #define EVENT_KEY_BT_STATE "bt_state"
357 * @brief Definition for value of EVENT_KEY_BT_STATE.
360 #define EVENT_VAL_BT_OFF "off"
363 * @brief Definition for value of EVENT_KEY_BT_STATE.
366 #define EVENT_VAL_BT_ON "on"
369 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
371 * @see EVENT_VAL_BT_LE_STATE_OFF
372 * @see EVENT_VAL_BT_LE_STATE_ON
374 #define EVENT_KEY_BT_LE_STATE "bt_le_state"
377 * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
380 #define EVENT_VAL_BT_LE_OFF "off"
383 * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
386 #define EVENT_VAL_BT_LE_ON "on"
389 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
391 * @remarks If it's already transfering state before you register this event, you can't receive the event regarding current transfer but you can receive the following transfers.
392 * @see EVENT_VAL_BT_NON_TRANSFERING
393 * @see EVENT_VAL_BT_TRANSFERING
395 #define EVENT_KEY_BT_TRANSFERING_STATE "bt_transfering_state"
398 * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
401 #define EVENT_VAL_BT_NON_TRANSFERING "non_transfering"
404 * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
407 #define EVENT_VAL_BT_TRANSFERING "transfering"
410 * @brief Definition for system-event of location : enable state of location.
412 * @see EVENT_KEY_LOCATION_ENABLE_STATE
414 #define SYSTEM_EVENT_LOCATION_ENABLE_STATE "tizen.system.event.location_enable_state"
417 * @brief Definition for key of SYSTEM_EVENT_LOCATION_ENABLE_STATE.
419 * @see EVENT_VAL_LOCATION_DISABLED
420 * @see EVENT_VAL_LOCATION_ENABLED
422 #define EVENT_KEY_LOCATION_ENABLE_STATE "location_enable_state"
425 * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
428 #define EVENT_VAL_LOCATION_DISABLED "disabled"
431 * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
434 #define EVENT_VAL_LOCATION_ENABLED "enabled"
437 * @brief Definition for system-event of location : enable state of gps.
439 * @see EVENT_KEY_GPS_ENABLE_STATE
441 #define SYSTEM_EVENT_GPS_ENABLE_STATE "tizen.system.event.gps_enable_state"
444 * @brief Definition for key of SYSTEM_EVENT_GPS_ENABLE_STATE.
446 * @see EVENT_VAL_GPS_DISABLED
447 * @see EVENT_VAL_GPS_ENABLED
449 #define EVENT_KEY_GPS_ENABLE_STATE "gps_enable_state"
452 * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
455 #define EVENT_VAL_GPS_DISABLED "disabled"
458 * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
461 #define EVENT_VAL_GPS_ENABLED "enabled"
464 * @brief Definition for system-event of location : enable state of nps.
466 * @see EVENT_KEY_NPS_ENABLE_STATE
468 #define SYSTEM_EVENT_NPS_ENABLE_STATE "tizen.system.event.nps_enable_state"
471 * @brief Definition for key of SYSTEM_EVENT_NPS_ENABLE_STATE.
473 * @see EVENT_VAL_NPS_DISABLED
474 * @see EVENT_VAL_NPS_ENABLED
476 #define EVENT_KEY_NPS_ENABLE_STATE "nps_enable_state"
479 * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
482 #define EVENT_VAL_NPS_DISABLED "disabled"
485 * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
488 #define EVENT_VAL_NPS_ENABLED "enabled"
491 * @brief Definition for system-event of message : incoming msg.
493 * @privilege %http://tizen.org/privilege/message.read
494 * @remarks If you want to receive this event, you must declare this privilege.
495 * @see EVENT_KEY_MSG_TYPE
496 * @see EVENT_KEY_MSG_ID
498 #define SYSTEM_EVENT_INCOMMING_MSG "tizen.system.event.incoming_msg"
501 * @brief Definition for key of SYSTEM_EVENT_INCOMMING_MSG.
504 * @see EVENT_VAL_PUSH
507 #define EVENT_KEY_MSG_TYPE "msg_type"
510 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
513 #define EVENT_VAL_SMS "sms"
516 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
519 #define EVENT_VAL_PUSH "push"
522 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
525 #define EVENT_VAL_CB "cb"
528 * @brief Definition for key of SYSTEM_EVENT_INCOMMING_MSG.
530 * @remarks The value of this key is a string of unsigned int value : new message id.
532 #define EVENT_KEY_MSG_ID "msg_id"
535 * @brief Definition for system-event of setting : time changed.
537 * @remarks There is no corresponding key/value.
538 * @remarks You can use a @a alarm_get_current_time() API for checking new time after receiving this event.
540 #define SYSTEM_EVENT_TIME_CHANGED "tizen.system.event.time_changed"
543 * @brief Definition for system-event of setting : timezone setting.
545 * @see EVENT_KEY_TIME_ZONE
547 #define SYSTEM_EVENT_TIME_ZONE "tizen.system.event.time_zone"
550 * @brief Definition for key of SYSTEM_EVENT_TIME_ZONE.
552 * @remarks The value of this key is timezone value of tz database,
553 * for example, "Asia/Seoul", "America/New_York",
554 * refer to the Time Zone Database of IANA.
556 #define EVENT_KEY_TIME_ZONE "time_zone"
559 * @brief Definition for system-event of setting : hour format.
561 * @see EVENT_KEY_HOUR_FORMAT
563 #define SYSTEM_EVENT_HOUR_FORMAT "tizen.system.event.hour_format"
566 * @brief Definition for key of SYSTEM_EVENT_HOUR_FORMAT.
568 * @see EVENT_VAL_HOURFORMAT_12
569 * @see EVENT_VAL_HOURFORMAT_24
571 #define EVENT_KEY_HOUR_FORMAT "hour_format"
574 * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
577 #define EVENT_VAL_HOURFORMAT_12 "12"
580 * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
583 #define EVENT_VAL_HOURFORMAT_24 "24"
586 * @brief Definition for system-event of setting : language setting.
588 * @see EVENT_KEY_LANGUAGE_SET
590 #define SYSTEM_EVENT_LANGUAGE_SET "tizen.system.event.language_set"
593 * @brief Definition for key of SYSTEM_EVENT_LANGUAGE_SET.
595 * @remarks The value of this key is full name of locale, for example,
596 * "ko_KR.UTF8" : in case of Korean language
597 * "en_US.UTF8" : in case of USA language,
598 * refer to linux locale info.
600 #define EVENT_KEY_LANGUAGE_SET "language_set"
603 * @brief Definition for system-event of setting : region format.
605 * @see EVENT_KEY_REGION_FORMAT
607 #define SYSTEM_EVENT_REGION_FORMAT "tizen.system.event.region_format"
610 * @brief Definition for key of SYSTEM_EVENT_REGION_FORMAT.
612 * @remarks The value of this key is full name of locale, for example,
613 * "ko_KR.UTF8" : in case of Korean region format
614 * "en_US.UTF8" : in case of USA region format,
615 * refer to linux locale info.
617 #define EVENT_KEY_REGION_FORMAT "region_format"
620 * @brief Definition for system-event of setting : silent_mode.
622 * @see EVENT_KEY_SILENT_MODE
624 #define SYSTEM_EVENT_SILENT_MODE "tizen.system.event.silent_mode"
627 * @brief Definition for key of SYSTEM_EVENT_SILENT_MODE.
629 * @see EVENT_VAL_SILENTMODE_ON
630 * @see EVENT_VAL_SILENTMODE_OFF
632 #define EVENT_KEY_SILENT_MODE "silent_mode"
635 * @brief Definition for value of EVENT_KEY_SILENT_MODE.
638 #define EVENT_VAL_SILENTMODE_ON "on"
641 * @brief Definition for value of EVENT_KEY_SILENT_MODE.
644 #define EVENT_VAL_SILENTMODE_OFF "off"
647 * @brief Definition for system-event of setting : state of vibration.
649 * @see EVENT_KEY_VIBRATION_STATE
651 #define SYSTEM_EVENT_VIBRATION_STATE "tizen.system.event.vibration_state"
654 * @brief Definition for key of SYSTEM_EVENT_VIBRATION_STATE.
656 * @see EVENT_VAL_VIBRATION_ON
657 * @see EVENT_VAL_VIBRATION_OFF
659 #define EVENT_KEY_VIBRATION_STATE "vibration_state"
662 * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
665 #define EVENT_VAL_VIBRATION_ON "on"
668 * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
671 #define EVENT_VAL_VIBRATION_OFF "off"
674 * @brief Definition for system-event of setting : state of screen's auto-rotation.
676 * @see EVENT_KEY_SCREEN_AUTOROTATE_STATE
678 #define SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE "tizen.system.event.screen_autorotate_state"
681 * @brief Definition for key of SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE.
683 * @see EVENT_VAL_SCREEN_AUTOROTATE_ON
684 * @see EVENT_VAL_SCREEN_AUTOROTATE_OFF
686 #define EVENT_KEY_SCREEN_AUTOROTATE_STATE "screen_autorotate_state"
689 * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
692 #define EVENT_VAL_SCREEN_AUTOROTATE_ON "on"
695 * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
698 #define EVENT_VAL_SCREEN_AUTOROTATE_OFF "off"
701 * @brief Definition for system-event of setting : state of mobile data.
703 * @see EVENT_KEY_MOBILE_DATA_STATE
705 #define SYSTEM_EVENT_MOBILE_DATA_STATE "tizen.system.event.mobile_data_state"
708 * @brief Definition for key of SYSTEM_EVENT_MOBILE_DATA_STATE.
710 * @see EVENT_VAL_MOBILE_DATA_OFF
711 * @see EVENT_VAL_MOBILE_DATA_ON
713 #define EVENT_KEY_MOBILE_DATA_STATE "mobile_data_state"
716 * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
719 #define EVENT_VAL_MOBILE_DATA_OFF "off"
722 * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
725 #define EVENT_VAL_MOBILE_DATA_ON "on"
728 * @brief Definition for system-event of setting : state of data roaming.
730 * @see EVENT_KEY_DATA_ROAMING_STATE
732 #define SYSTEM_EVENT_DATA_ROAMING_STATE "tizen.system.event.data_roaming_state"
735 * @brief Definition for key of SYSTEM_EVENT_DATA_ROAMING_STATE.
737 * @see EVENT_VAL_DATA_ROAMING_OFF
738 * @see EVENT_VAL_DATA_ROAMING_ON
740 #define EVENT_KEY_DATA_ROAMING_STATE "data_roaming_state"
743 * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
746 #define EVENT_VAL_DATA_ROAMING_OFF "off"
749 * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
752 #define EVENT_VAL_DATA_ROAMING_ON "on"
755 * @brief Definition for system-event of setting : font setting.
757 * @see EVENT_KEY_FONT_SET
759 #define SYSTEM_EVENT_FONT_SET "tizen.system.event.font_set"
762 * @brief Definition for key of SYSTEM_EVENT_FONT_SET.
764 * @remarks The value of this key is font name of string type by font-config.
766 #define EVENT_KEY_FONT_SET "font_set"
769 * @brief Adds the event handler for receiving event-data of interested events.
772 * @remarks If you want to add the privileged event, you MUST declare right privilge first. Unless that, this function returns #EVENT_ERROR_PERMISSION_DENIED. The privileged events are commented on remarks of it's definitions.
773 * @param[in] event_name The interested event name
774 * @param[in] callback The event callback called when the event occurs
775 * @param[in] user_data The user data for passing to callback
776 * @param[out] event_handler The event handler
777 * @return 0 on success, otherwise a negative error value
778 * @retval #EVENT_ERROR_NONE Successful
779 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
780 * @retval #EVENT_ERROR_PERMISSION_DENIED Permission denied
782 int event_add_event_handler(const char *event_name, event_cb callback, void *user_data,
783 event_handler_h *event_handler);
786 * @brief Removes the registered event handler.
789 * @param[in] event_handler The event handler
790 * @return 0 on success, otherwise a negative error value
791 * @retval #EVENT_ERROR_NONE Successful
792 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
794 int event_remove_event_handler(event_handler_h event_handler);
797 * @brief Sends the User-Event to receiver applications.
800 * @remarks The format of User-Event's name MUST be "event.{sender's appid}.{user-defined name}", refer to 'The name-format of User-Event' section, If the event_name is invalid, the function returns #EVENT_ERROR_IO_ERROR.
801 * @param[in] event_name The event's name to send
802 * @param[in] event_data The event's data to send
803 * @return 0 on success, otherwise a negative error value
804 * @retval #EVENT_ERROR_NONE Successful
805 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
806 * @retval #EVENT_ERROR_IO_ERROR Sending operation failed
808 int event_publish_app_event(const char *event_name, bundle *event_data);
811 * @brief Sends the User-Event to trusted receiver-applications.
814 * @remarks The application which has same certification with sender can receive the event.
815 * @remarks The format of User-Event's name MUST be "event.{sender's appid}.{user-defined name}", refer to 'The name-format of User-Event' section, If the event_name is invalid, the function returns #EVENT_ERROR_IO_ERROR.
816 * @param[in] event_name The event's name to send
817 * @param[in] event_data The event's data to send
818 * @return 0 on success, otherwise a negative error value
819 * @retval #EVENT_ERROR_NONE Successful
820 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
821 * @retval #EVENT_ERROR_IO_ERROR Sending operation failed
823 int event_publish_trusted_app_event(const char *event_name, bundle *event_data);
833 #endif /* __TIZEN_APPFW_EVENT_H__ */