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.
59 EVENT_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
60 EVENT_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
61 EVENT_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
62 EVENT_ERROR_TIMED_OUT = TIZEN_ERROR_TIMED_OUT, /**< Time out */
63 EVENT_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR, /**< IO error */
64 EVENT_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED /**< Permisiion denied */
68 * @brief Definition for system-event of battery : charger status.
70 * @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.
71 * @see EVENT_KEY_BATTERY_CHARGER_STATUS
73 #define SYSTEM_EVENT_BATTERY_CHARGER_STATUS "tizen.system.event.battery_charger_status"
76 * @brief Definition for key of SYSTEM_EVENT_BATTERY_CHARGER_STATUS.
78 * @see EVENT_VAL_BATTERY_CHARGER_DISCONNECTED
79 * @see EVENT_VAL_BATTERY_CHARGER_CONNECTED
80 * @see EVENT_VAL_BATTERY_CHARGER_CHARGING
81 * @see EVENT_VAL_BATTERY_CHARGER_DISCHARGING
83 #define EVENT_KEY_BATTERY_CHARGER_STATUS "battery_charger_status"
86 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
88 * @remarks charger disconnected
90 #define EVENT_VAL_BATTERY_CHARGER_DISCONNECTED "disconnected"
93 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
95 * @remarks charger connected
97 #define EVENT_VAL_BATTERY_CHARGER_CONNECTED "connected"
100 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
102 * @remarks charging is enabled
104 #define EVENT_VAL_BATTERY_CHARGER_CHARGING "charging"
107 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
109 * @remarks charging is disabled
111 #define EVENT_VAL_BATTERY_CHARGER_DISCHARGING "discharging"
114 * @brief Definition for system-event of battery : level status.
116 * @see EVENT_KEY_BATTERY_LEVEL_STATUS
118 #define SYSTEM_EVENT_BATTERY_LEVEL_STATUS "tizen.system.event.battery_level_status"
121 * @brief Definition for key of SYSTEM_EVENT_BATTERY_LEVEL_STATUS.
123 * @see EVENT_VAL_BATTERY_LEVEL_EMPTY
124 * @see EVENT_VAL_BATTERY_LEVEL_CRITICAL
125 * @see EVENT_VAL_BATTERY_LEVEL_LOW
126 * @see EVENT_VAL_BATTERY_LEVEL_HIGH
127 * @see EVENT_VAL_BATTERY_LEVEL_FULL
129 #define EVENT_KEY_BATTERY_LEVEL_STATUS "battery_level_status"
132 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
135 #define EVENT_VAL_BATTERY_LEVEL_EMPTY "empty"
138 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
141 #define EVENT_VAL_BATTERY_LEVEL_CRITICAL "critical"
144 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
147 #define EVENT_VAL_BATTERY_LEVEL_LOW "low"
150 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
153 #define EVENT_VAL_BATTERY_LEVEL_HIGH "high"
156 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
159 #define EVENT_VAL_BATTERY_LEVEL_FULL "full"
162 * @brief Definition for system-event of usb : status of usb connection.
164 * @see EVENT_KEY_USB_STATUS
166 #define SYSTEM_EVENT_USB_STATUS "tizen.system.event.usb_status"
169 * @brief Definition for key of SYSTEM_EVENT_USB_STATUS.
171 * @see EVENT_VAL_USB_DISCONNECTED
172 * @see EVENT_VAL_USB_CONNECTED
173 * @see EVENT_VAL_USB_AVAILABLE
175 #define EVENT_KEY_USB_STATUS "usb_status"
178 * @brief Definition for value of EVENT_KEY_USB_STATUS.
181 #define EVENT_VAL_USB_DISCONNECTED "disconnected"
184 * @brief Definition for value of EVENT_KEY_USB_STATUS.
186 * @remarks Connected but not-available.
188 #define EVENT_VAL_USB_CONNECTED "connected"
191 * @brief Definition for value of EVENT_KEY_USB_STATUS.
194 #define EVENT_VAL_USB_AVAILABLE "available"
197 * @brief Definition for system-event of ear-jack : status of ear-jack connection.
199 * @see EVENT_KEY_EARJACK_STATUS
201 #define SYSTEM_EVENT_EARJACK_STATUS "tizen.system.event.earjack_status"
204 * @brief Definition for key of SYSTEM_EVENT_EARJACK_STATUS.
206 * @see EVENT_VAL_EARJACK_DISCONNECTED
207 * @see EVENT_VAL_EARJACK_CONNECTED
209 #define EVENT_KEY_EARJACK_STATUS "earjack_status"
212 * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
215 #define EVENT_VAL_EARJACK_DISCONNECTED "disconnected"
218 * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
221 #define EVENT_VAL_EARJACK_CONNECTED "connected"
224 * @brief Definition for system-event of display : state of display.
226 * @privilege %http://tizen.org/privilege/display
227 * @remarks If you want to receive this event, you must declare this privilege.
228 * @see EVENT_KEY_DISPLAY_STATE
230 #define SYSTEM_EVENT_DISPLAY_STATE "tizen.system.event.display_state"
233 * @brief Definition for key of SYSTEM_EVENT_DISPLAY_STATE.
235 * @see EVENT_VAL_DISPLAY_NORMAL
236 * @see EVENT_VAL_DISPLAY_DIM
237 * @see EVENT_VAL_DISPLAY_OFF
239 #define EVENT_KEY_DISPLAY_STATE "display_state"
242 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
245 #define EVENT_VAL_DISPLAY_NORMAL "normal"
248 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
251 #define EVENT_VAL_DISPLAY_DIM "dim"
254 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
257 #define EVENT_VAL_DISPLAY_OFF "off"
260 * @brief Definition for system-event of system : boot completion.
262 * @remarks There is no corresponding key/value.
263 * @remarks You can treat the initial value as "false" before you receive this event.
264 * @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.
266 #define SYSTEM_EVENT_BOOT_COMPLETED "tizen.system.event.boot_completed"
269 * @brief Definition for system-event of system : shutdown.
271 * @remarks There is no corresponding key/value.
272 * @remarks You can treat the inital value as "false" before you receive this event.
273 * @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.
275 #define SYSTEM_EVENT_SYSTEM_SHUTDOWN "tizen.system.event.system_shutdown"
278 * @brief Definition for system-event of system : low memory.
280 * @see EVENT_KEY_LOW_MEMORY
282 #define SYSTEM_EVENT_LOW_MEMORY "tizen.system.event.low_memory"
285 * @brief Definition for key of SYSTEM_EVENT_LOW_MEMORY.
287 * @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.
288 * @see EVENT_VAL_MEMORY_NORMAL
289 * @see EVENT_VAL_MEMORY_SOFT_WARNING
290 * @see EVENT_VAL_MEMORY_HARD_WARNING
292 #define EVENT_KEY_LOW_MEMORY "low_memory"
295 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
298 #define EVENT_VAL_MEMORY_NORMAL "normal"
301 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
304 #define EVENT_VAL_MEMORY_SOFT_WARNING "soft_warning"
307 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
310 #define EVENT_VAL_MEMORY_HARD_WARNING "hard_warning"
313 * @brief Definition for system-event of wifi : state of wifi.
315 * @privilege %http://tizen.org/privilege/network.get
316 * @remarks If you want to receive this event, you must declare this privilege.
317 * @see EVENT_KEY_WIFI_STATE
319 #define SYSTEM_EVENT_WIFI_STATE "tizen.system.event.wifi_state"
322 * @brief Definition for key of SYSTEM_EVENT_WIFI_STATE.
324 * @see EVENT_VAL_WIFI_OFF
325 * @see EVENT_VAL_WIFI_ON
326 * @see EVENT_VAL_WIFI_CONNECTED
328 #define EVENT_KEY_WIFI_STATE "wifi_state"
331 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
334 #define EVENT_VAL_WIFI_OFF "off"
337 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
340 #define EVENT_VAL_WIFI_ON "on"
343 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
346 #define EVENT_VAL_WIFI_CONNECTED "connected"
349 * @brief Definition for system-event of bluetooth : status of bluetooth.
351 * @see EVENT_KEY_BT_STATE
352 * @see EVENT_KEY_BT_LE_STATE
353 * @see EVENT_KEY_BT_TRANSFERING_STATE
355 #define SYSTEM_EVENT_BT_STATE "tizen.system.event.bt_state"
358 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
360 * @see EVENT_VAL_BT_STATE_OFF
361 * @see EVENT_VAL_BT_STATE_ON
363 #define EVENT_KEY_BT_STATE "bt_state"
366 * @brief Definition for value of EVENT_KEY_BT_STATE.
369 #define EVENT_VAL_BT_OFF "off"
372 * @brief Definition for value of EVENT_KEY_BT_STATE.
375 #define EVENT_VAL_BT_ON "on"
378 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
380 * @see EVENT_VAL_BT_LE_STATE_OFF
381 * @see EVENT_VAL_BT_LE_STATE_ON
383 #define EVENT_KEY_BT_LE_STATE "bt_le_state"
386 * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
389 #define EVENT_VAL_BT_LE_OFF "off"
392 * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
395 #define EVENT_VAL_BT_LE_ON "on"
398 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
400 * @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.
401 * @see EVENT_VAL_BT_NON_TRANSFERING
402 * @see EVENT_VAL_BT_TRANSFERING
404 #define EVENT_KEY_BT_TRANSFERING_STATE "bt_transfering_state"
407 * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
410 #define EVENT_VAL_BT_NON_TRANSFERING "non_transfering"
413 * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
416 #define EVENT_VAL_BT_TRANSFERING "transfering"
419 * @brief Definition for system-event of location : enable state of location.
421 * @see EVENT_KEY_LOCATION_ENABLE_STATE
423 #define SYSTEM_EVENT_LOCATION_ENABLE_STATE "tizen.system.event.location_enable_state"
426 * @brief Definition for key of SYSTEM_EVENT_LOCATION_ENABLE_STATE.
428 * @see EVENT_VAL_LOCATION_DISABLED
429 * @see EVENT_VAL_LOCATION_ENABLED
431 #define EVENT_KEY_LOCATION_ENABLE_STATE "location_enable_state"
434 * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
437 #define EVENT_VAL_LOCATION_DISABLED "disabled"
440 * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
443 #define EVENT_VAL_LOCATION_ENABLED "enabled"
446 * @brief Definition for system-event of location : enable state of gps.
448 * @see EVENT_KEY_GPS_ENABLE_STATE
450 #define SYSTEM_EVENT_GPS_ENABLE_STATE "tizen.system.event.gps_enable_state"
453 * @brief Definition for key of SYSTEM_EVENT_GPS_ENABLE_STATE.
455 * @see EVENT_VAL_GPS_DISABLED
456 * @see EVENT_VAL_GPS_ENABLED
458 #define EVENT_KEY_GPS_ENABLE_STATE "gps_enable_state"
461 * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
464 #define EVENT_VAL_GPS_DISABLED "disabled"
467 * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
470 #define EVENT_VAL_GPS_ENABLED "enabled"
473 * @brief Definition for system-event of location : enable state of nps.
475 * @see EVENT_KEY_NPS_ENABLE_STATE
477 #define SYSTEM_EVENT_NPS_ENABLE_STATE "tizen.system.event.nps_enable_state"
480 * @brief Definition for key of SYSTEM_EVENT_NPS_ENABLE_STATE.
482 * @see EVENT_VAL_NPS_DISABLED
483 * @see EVENT_VAL_NPS_ENABLED
485 #define EVENT_KEY_NPS_ENABLE_STATE "nps_enable_state"
488 * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
491 #define EVENT_VAL_NPS_DISABLED "disabled"
494 * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
497 #define EVENT_VAL_NPS_ENABLED "enabled"
500 * @brief Definition for system-event of message : incoming msg.
502 * @privilege %http://tizen.org/privilege/message.read
503 * @remarks If you want to receive this event, you must declare this privilege.
504 * @see EVENT_KEY_MSG_TYPE
505 * @see EVENT_KEY_MSG_ID
507 #define SYSTEM_EVENT_INCOMMING_MSG "tizen.system.event.incoming_msg"
510 * @brief Definition for key of SYSTEM_EVENT_INCOMMING_MSG.
513 * @see EVENT_VAL_PUSH
516 #define EVENT_KEY_MSG_TYPE "msg_type"
519 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
522 #define EVENT_VAL_SMS "sms"
525 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
528 #define EVENT_VAL_PUSH "push"
531 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
534 #define EVENT_VAL_CB "cb"
537 * @brief Definition for key of SYSTEM_EVENT_INCOMMING_MSG.
539 * @remarks The value of this key is a string of unsigned int value : new message id.
541 #define EVENT_KEY_MSG_ID "msg_id"
544 * @brief Definition for system-event of setting : time changed.
546 * @remarks There is no corresponding key/value.
547 * @remarks You can use a @a alarm_get_current_time() API for checking new time after receiving this event.
549 #define SYSTEM_EVENT_TIME_CHANGED "tizen.system.event.time_changed"
552 * @brief Definition for system-event of setting : timezone setting.
554 * @see EVENT_KEY_TIME_ZONE
556 #define SYSTEM_EVENT_TIME_ZONE "tizen.system.event.time_zone"
559 * @brief Definition for key of SYSTEM_EVENT_TIME_ZONE.
561 * @remarks The value of this key is timezone value of tz database,
562 * for example, "Asia/Seoul", "America/New_York",
563 * refer to the Time Zone Database of IANA.
565 #define EVENT_KEY_TIME_ZONE "time_zone"
568 * @brief Definition for system-event of setting : hour format.
570 * @see EVENT_KEY_HOUR_FORMAT
572 #define SYSTEM_EVENT_HOUR_FORMAT "tizen.system.event.hour_format"
575 * @brief Definition for key of SYSTEM_EVENT_HOUR_FORMAT.
577 * @see EVENT_VAL_HOURFORMAT_12
578 * @see EVENT_VAL_HOURFORMAT_24
580 #define EVENT_KEY_HOUR_FORMAT "hour_format"
583 * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
586 #define EVENT_VAL_HOURFORMAT_12 "12"
589 * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
592 #define EVENT_VAL_HOURFORMAT_24 "24"
595 * @brief Definition for system-event of setting : language setting.
597 * @see EVENT_KEY_LANGUAGE_SET
599 #define SYSTEM_EVENT_LANGUAGE_SET "tizen.system.event.language_set"
602 * @brief Definition for key of SYSTEM_EVENT_LANGUAGE_SET.
604 * @remarks The value of this key is full name of locale, for example,
605 * "ko_KR.UTF8" : in case of Korean language
606 * "en_US.UTF8" : in case of USA language,
607 * refer to linux locale info.
609 #define EVENT_KEY_LANGUAGE_SET "language_set"
612 * @brief Definition for system-event of setting : region format.
614 * @see EVENT_KEY_REGION_FORMAT
616 #define SYSTEM_EVENT_REGION_FORMAT "tizen.system.event.region_format"
619 * @brief Definition for key of SYSTEM_EVENT_REGION_FORMAT.
621 * @remarks The value of this key is full name of locale, for example,
622 * "ko_KR.UTF8" : in case of Korean region format
623 * "en_US.UTF8" : in case of USA region format,
624 * refer to linux locale info.
626 #define EVENT_KEY_REGION_FORMAT "region_format"
629 * @brief Definition for system-event of setting : silent_mode.
631 * @see EVENT_KEY_SILENT_MODE
633 #define SYSTEM_EVENT_SILENT_MODE "tizen.system.event.silent_mode"
636 * @brief Definition for key of SYSTEM_EVENT_SILENT_MODE.
638 * @see EVENT_VAL_SILENTMODE_ON
639 * @see EVENT_VAL_SILENTMODE_OFF
641 #define EVENT_KEY_SILENT_MODE "silent_mode"
644 * @brief Definition for value of EVENT_KEY_SILENT_MODE.
647 #define EVENT_VAL_SILENTMODE_ON "on"
650 * @brief Definition for value of EVENT_KEY_SILENT_MODE.
653 #define EVENT_VAL_SILENTMODE_OFF "off"
656 * @brief Definition for system-event of setting : state of vibration.
658 * @see EVENT_KEY_VIBRATION_STATE
660 #define SYSTEM_EVENT_VIBRATION_STATE "tizen.system.event.vibration_state"
663 * @brief Definition for key of SYSTEM_EVENT_VIBRATION_STATE.
665 * @see EVENT_VAL_VIBRATION_ON
666 * @see EVENT_VAL_VIBRATION_OFF
668 #define EVENT_KEY_VIBRATION_STATE "vibration_state"
671 * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
674 #define EVENT_VAL_VIBRATION_ON "on"
677 * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
680 #define EVENT_VAL_VIBRATION_OFF "off"
683 * @brief Definition for system-event of setting : state of screen's auto-rotation.
685 * @see EVENT_KEY_SCREEN_AUTOROTATE_STATE
687 #define SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE "tizen.system.event.screen_autorotate_state"
690 * @brief Definition for key of SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE.
692 * @see EVENT_VAL_SCREEN_AUTOROTATE_ON
693 * @see EVENT_VAL_SCREEN_AUTOROTATE_OFF
695 #define EVENT_KEY_SCREEN_AUTOROTATE_STATE "screen_autorotate_state"
698 * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
701 #define EVENT_VAL_SCREEN_AUTOROTATE_ON "on"
704 * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
707 #define EVENT_VAL_SCREEN_AUTOROTATE_OFF "off"
710 * @brief Definition for system-event of setting : state of mobile data.
712 * @see EVENT_KEY_MOBILE_DATA_STATE
714 #define SYSTEM_EVENT_MOBILE_DATA_STATE "tizen.system.event.mobile_data_state"
717 * @brief Definition for key of SYSTEM_EVENT_MOBILE_DATA_STATE.
719 * @see EVENT_VAL_MOBILE_DATA_OFF
720 * @see EVENT_VAL_MOBILE_DATA_ON
722 #define EVENT_KEY_MOBILE_DATA_STATE "mobile_data_state"
725 * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
728 #define EVENT_VAL_MOBILE_DATA_OFF "off"
731 * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
734 #define EVENT_VAL_MOBILE_DATA_ON "on"
737 * @brief Definition for system-event of setting : state of data roaming.
739 * @see EVENT_KEY_DATA_ROAMING_STATE
741 #define SYSTEM_EVENT_DATA_ROAMING_STATE "tizen.system.event.data_roaming_state"
744 * @brief Definition for key of SYSTEM_EVENT_DATA_ROAMING_STATE.
746 * @see EVENT_VAL_DATA_ROAMING_OFF
747 * @see EVENT_VAL_DATA_ROAMING_ON
749 #define EVENT_KEY_DATA_ROAMING_STATE "data_roaming_state"
752 * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
755 #define EVENT_VAL_DATA_ROAMING_OFF "off"
758 * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
761 #define EVENT_VAL_DATA_ROAMING_ON "on"
764 * @brief Definition for system-event of setting : font setting.
766 * @see EVENT_KEY_FONT_SET
768 #define SYSTEM_EVENT_FONT_SET "tizen.system.event.font_set"
771 * @brief Definition for key of SYSTEM_EVENT_FONT_SET.
773 * @remarks The value of this key is font name of string type by font-config.
775 #define EVENT_KEY_FONT_SET "font_set"
778 * @brief Adds the event handler for receiving event-data of interested events.
781 * @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.
782 * @param[in] event_name The interested event name
783 * @param[in] callback The event callback called when the event occurs
784 * @param[in] user_data The user data for passing to callback
785 * @param[out] event_handler The event handler
786 * @return 0 on success, otherwise a negative error value
787 * @retval #EVENT_ERROR_NONE Successful
788 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
789 * @retval #EVENT_ERROR_PERMISSION_DENIED Permission denied
790 * @retval #EVENT_ERROR_IO_ERROR Adding handler failed
791 * @retval #EVENT_ERROR_OUT_OF_MEMORY Out of memory
793 int event_add_event_handler(const char *event_name, event_cb callback, void *user_data,
794 event_handler_h *event_handler);
797 * @brief Removes the registered event handler.
800 * @param[in] event_handler The event handler
801 * @return 0 on success, otherwise a negative error value
802 * @retval #EVENT_ERROR_NONE Successful
803 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
805 int event_remove_event_handler(event_handler_h event_handler);
808 * @brief Sends the User-Event to receiver applications.
811 * @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.
812 * @param[in] event_name The event's name to send
813 * @param[in] event_data The event's data to send
814 * @return 0 on success, otherwise a negative error value
815 * @retval #EVENT_ERROR_NONE Successful
816 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
817 * @retval #EVENT_ERROR_IO_ERROR Sending operation failed
819 int event_publish_app_event(const char *event_name, bundle *event_data);
822 * @brief Sends the User-Event to trusted receiver-applications.
825 * @remarks The application which has same certification with sender can receive the event.
826 * @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.
827 * @param[in] event_name The event's name to send
828 * @param[in] event_data The event's data to send
829 * @return 0 on success, otherwise a negative error value
830 * @retval #EVENT_ERROR_NONE Successful
831 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
832 * @retval #EVENT_ERROR_IO_ERROR Sending operation failed
834 int event_publish_trusted_app_event(const char *event_name, bundle *event_data);
844 #endif /* __TIZEN_APPFW_EVENT_H__ */