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
82 * @see EVENT_VAL_BATTERY_CHARGER_DISCHARGING
84 #define EVENT_KEY_BATTERY_CHARGER_STATUS "battery_charger_status"
87 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
89 * @remarks charger disconnected
91 #define EVENT_VAL_BATTERY_CHARGER_DISCONNECTED "disconnected"
94 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
96 * @remarks charger connected
98 #define EVENT_VAL_BATTERY_CHARGER_CONNECTED "connected"
101 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
103 * @remarks charging is enabled
105 #define EVENT_VAL_BATTERY_CHARGER_CHARGING "charging"
108 * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
110 * @remarks charging is disabled
112 #define EVENT_VAL_BATTERY_CHARGER_DISCHARGING "discharging"
115 * @brief Definition for system-event of battery : level status.
117 * @see EVENT_KEY_BATTERY_LEVEL_STATUS
119 #define SYSTEM_EVENT_BATTERY_LEVEL_STATUS "tizen.system.event.battery_level_status"
122 * @brief Definition for key of SYSTEM_EVENT_BATTERY_LEVEL_STATUS.
124 * @see EVENT_VAL_BATTERY_LEVEL_EMPTY
125 * @see EVENT_VAL_BATTERY_LEVEL_CRITICAL
126 * @see EVENT_VAL_BATTERY_LEVEL_LOW
127 * @see EVENT_VAL_BATTERY_LEVEL_HIGH
128 * @see EVENT_VAL_BATTERY_LEVEL_FULL
130 #define EVENT_KEY_BATTERY_LEVEL_STATUS "battery_level_status"
133 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
136 #define EVENT_VAL_BATTERY_LEVEL_EMPTY "empty"
139 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
142 #define EVENT_VAL_BATTERY_LEVEL_CRITICAL "critical"
145 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
148 #define EVENT_VAL_BATTERY_LEVEL_LOW "low"
151 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
154 #define EVENT_VAL_BATTERY_LEVEL_HIGH "high"
157 * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
160 #define EVENT_VAL_BATTERY_LEVEL_FULL "full"
163 * @brief Definition for system-event of usb : status of usb connection.
165 * @see EVENT_KEY_USB_STATUS
167 #define SYSTEM_EVENT_USB_STATUS "tizen.system.event.usb_status"
170 * @brief Definition for key of SYSTEM_EVENT_USB_STATUS.
172 * @see EVENT_VAL_USB_DISCONNECTED
173 * @see EVENT_VAL_USB_CONNECTED
174 * @see EVENT_VAL_USB_AVAILABLE
176 #define EVENT_KEY_USB_STATUS "usb_status"
179 * @brief Definition for value of EVENT_KEY_USB_STATUS.
182 #define EVENT_VAL_USB_DISCONNECTED "disconnected"
185 * @brief Definition for value of EVENT_KEY_USB_STATUS.
187 * @remarks Connected but not-available.
189 #define EVENT_VAL_USB_CONNECTED "connected"
192 * @brief Definition for value of EVENT_KEY_USB_STATUS.
195 #define EVENT_VAL_USB_AVAILABLE "available"
198 * @brief Definition for system-event of ear-jack : status of ear-jack connection.
200 * @see EVENT_KEY_EARJACK_STATUS
202 #define SYSTEM_EVENT_EARJACK_STATUS "tizen.system.event.earjack_status"
205 * @brief Definition for key of SYSTEM_EVENT_EARJACK_STATUS.
207 * @see EVENT_VAL_EARJACK_DISCONNECTED
208 * @see EVENT_VAL_EARJACK_CONNECTED
210 #define EVENT_KEY_EARJACK_STATUS "earjack_status"
213 * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
216 #define EVENT_VAL_EARJACK_DISCONNECTED "disconnected"
219 * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
222 #define EVENT_VAL_EARJACK_CONNECTED "connected"
225 * @brief Definition for system-event of display : state of display.
227 * @privilege %http://tizen.org/privilege/display
228 * @remarks If you want to receive this event, you must declare this privilege.
229 * @see EVENT_KEY_DISPLAY_STATE
231 #define SYSTEM_EVENT_DISPLAY_STATE "tizen.system.event.display_state"
234 * @brief Definition for key of SYSTEM_EVENT_DISPLAY_STATE.
236 * @see EVENT_VAL_DISPLAY_NORMAL
237 * @see EVENT_VAL_DISPLAY_DIM
238 * @see EVENT_VAL_DISPLAY_OFF
240 #define EVENT_KEY_DISPLAY_STATE "display_state"
243 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
246 #define EVENT_VAL_DISPLAY_NORMAL "normal"
249 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
252 #define EVENT_VAL_DISPLAY_DIM "dim"
255 * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
258 #define EVENT_VAL_DISPLAY_OFF "off"
261 * @brief Definition for system-event of system : boot completion.
263 * @remarks There is no corresponding key/value.
264 * @remarks You can treat the initial value as "false" before you receive this event.
265 * @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.
267 #define SYSTEM_EVENT_BOOT_COMPLETED "tizen.system.event.boot_completed"
270 * @brief Definition for system-event of system : shutdown.
272 * @remarks There is no corresponding key/value.
273 * @remarks You can treat the inital value as "false" before you receive this event.
274 * @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.
276 #define SYSTEM_EVENT_SYSTEM_SHUTDOWN "tizen.system.event.system_shutdown"
279 * @brief Definition for system-event of system : low memory.
281 * @see EVENT_KEY_LOW_MEMORY
283 #define SYSTEM_EVENT_LOW_MEMORY "tizen.system.event.low_memory"
286 * @brief Definition for key of SYSTEM_EVENT_LOW_MEMORY.
288 * @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.
289 * @see EVENT_VAL_MEMORY_NORMAL
290 * @see EVENT_VAL_MEMORY_SOFT_WARNING
291 * @see EVENT_VAL_MEMORY_HARD_WARNING
293 #define EVENT_KEY_LOW_MEMORY "low_memory"
296 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
299 #define EVENT_VAL_MEMORY_NORMAL "normal"
302 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
305 #define EVENT_VAL_MEMORY_SOFT_WARNING "soft_warning"
308 * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
311 #define EVENT_VAL_MEMORY_HARD_WARNING "hard_warning"
314 * @brief Definition for system-event of wifi : state of wifi.
316 * @privilege %http://tizen.org/privilege/network.get
317 * @remarks If you want to receive this event, you must declare this privilege.
318 * @see EVENT_KEY_WIFI_STATE
320 #define SYSTEM_EVENT_WIFI_STATE "tizen.system.event.wifi_state"
323 * @brief Definition for key of SYSTEM_EVENT_WIFI_STATE.
325 * @see EVENT_VAL_WIFI_OFF
326 * @see EVENT_VAL_WIFI_ON
327 * @see EVENT_VAL_WIFI_CONNECTED
329 #define EVENT_KEY_WIFI_STATE "wifi_state"
332 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
335 #define EVENT_VAL_WIFI_OFF "off"
338 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
341 #define EVENT_VAL_WIFI_ON "on"
344 * @brief Definition for value of EVENT_KEY_WIFI_STATE.
347 #define EVENT_VAL_WIFI_CONNECTED "connected"
350 * @brief Definition for system-event of bluetooth : status of bluetooth.
352 * @see EVENT_KEY_BT_STATE
353 * @see EVENT_KEY_BT_LE_STATE
354 * @see EVENT_KEY_BT_TRANSFERING_STATE
356 #define SYSTEM_EVENT_BT_STATE "tizen.system.event.bt_state"
359 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
361 * @see EVENT_VAL_BT_STATE_OFF
362 * @see EVENT_VAL_BT_STATE_ON
364 #define EVENT_KEY_BT_STATE "bt_state"
367 * @brief Definition for value of EVENT_KEY_BT_STATE.
370 #define EVENT_VAL_BT_OFF "off"
373 * @brief Definition for value of EVENT_KEY_BT_STATE.
376 #define EVENT_VAL_BT_ON "on"
379 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
381 * @see EVENT_VAL_BT_LE_STATE_OFF
382 * @see EVENT_VAL_BT_LE_STATE_ON
384 #define EVENT_KEY_BT_LE_STATE "bt_le_state"
387 * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
390 #define EVENT_VAL_BT_LE_OFF "off"
393 * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
396 #define EVENT_VAL_BT_LE_ON "on"
399 * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
401 * @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.
402 * @see EVENT_VAL_BT_NON_TRANSFERING
403 * @see EVENT_VAL_BT_TRANSFERING
405 #define EVENT_KEY_BT_TRANSFERING_STATE "bt_transfering_state"
408 * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
411 #define EVENT_VAL_BT_NON_TRANSFERING "non_transfering"
414 * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
417 #define EVENT_VAL_BT_TRANSFERING "transfering"
420 * @brief Definition for system-event of location : enable state of location.
422 * @see EVENT_KEY_LOCATION_ENABLE_STATE
424 #define SYSTEM_EVENT_LOCATION_ENABLE_STATE "tizen.system.event.location_enable_state"
427 * @brief Definition for key of SYSTEM_EVENT_LOCATION_ENABLE_STATE.
429 * @see EVENT_VAL_LOCATION_DISABLED
430 * @see EVENT_VAL_LOCATION_ENABLED
432 #define EVENT_KEY_LOCATION_ENABLE_STATE "location_enable_state"
435 * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
438 #define EVENT_VAL_LOCATION_DISABLED "disabled"
441 * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
444 #define EVENT_VAL_LOCATION_ENABLED "enabled"
447 * @brief Definition for system-event of location : enable state of gps.
449 * @see EVENT_KEY_GPS_ENABLE_STATE
451 #define SYSTEM_EVENT_GPS_ENABLE_STATE "tizen.system.event.gps_enable_state"
454 * @brief Definition for key of SYSTEM_EVENT_GPS_ENABLE_STATE.
456 * @see EVENT_VAL_GPS_DISABLED
457 * @see EVENT_VAL_GPS_ENABLED
459 #define EVENT_KEY_GPS_ENABLE_STATE "gps_enable_state"
462 * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
465 #define EVENT_VAL_GPS_DISABLED "disabled"
468 * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
471 #define EVENT_VAL_GPS_ENABLED "enabled"
474 * @brief Definition for system-event of location : enable state of nps.
476 * @see EVENT_KEY_NPS_ENABLE_STATE
478 #define SYSTEM_EVENT_NPS_ENABLE_STATE "tizen.system.event.nps_enable_state"
481 * @brief Definition for key of SYSTEM_EVENT_NPS_ENABLE_STATE.
483 * @see EVENT_VAL_NPS_DISABLED
484 * @see EVENT_VAL_NPS_ENABLED
486 #define EVENT_KEY_NPS_ENABLE_STATE "nps_enable_state"
489 * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
492 #define EVENT_VAL_NPS_DISABLED "disabled"
495 * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
498 #define EVENT_VAL_NPS_ENABLED "enabled"
501 * @brief Definition for system-event of message : incoming msg.
503 * @privilege %http://tizen.org/privilege/message.read
504 * @remarks If you want to receive this event, you must declare this privilege.
505 * @see EVENT_KEY_MSG_TYPE
506 * @see EVENT_KEY_MSG_ID
508 #define SYSTEM_EVENT_INCOMMING_MSG "tizen.system.event.incoming_msg"
511 * @brief Definition for key of SYSTEM_EVENT_INCOMMING_MSG.
514 * @see EVENT_VAL_PUSH
517 #define EVENT_KEY_MSG_TYPE "msg_type"
520 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
523 #define EVENT_VAL_SMS "sms"
526 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
529 #define EVENT_VAL_PUSH "push"
532 * @brief Definition for value of EVENT_KEY_MSG_TYPE.
535 #define EVENT_VAL_CB "cb"
538 * @brief Definition for key of SYSTEM_EVENT_INCOMMING_MSG.
540 * @remarks The value of this key is a string of unsigned int value : new message id.
542 #define EVENT_KEY_MSG_ID "msg_id"
545 * @brief Definition for system-event of setting : time changed.
547 * @remarks There is no corresponding key/value.
548 * @remarks You can use a @a alarm_get_current_time() API for checking new time after receiving this event.
550 #define SYSTEM_EVENT_TIME_CHANGED "tizen.system.event.time_changed"
553 * @brief Definition for system-event of setting : timezone setting.
555 * @see EVENT_KEY_TIME_ZONE
557 #define SYSTEM_EVENT_TIME_ZONE "tizen.system.event.time_zone"
560 * @brief Definition for key of SYSTEM_EVENT_TIME_ZONE.
562 * @remarks The value of this key is timezone value of tz database,
563 * for example, "Asia/Seoul", "America/New_York",
564 * refer to the Time Zone Database of IANA.
566 #define EVENT_KEY_TIME_ZONE "time_zone"
569 * @brief Definition for system-event of setting : hour format.
571 * @see EVENT_KEY_HOUR_FORMAT
573 #define SYSTEM_EVENT_HOUR_FORMAT "tizen.system.event.hour_format"
576 * @brief Definition for key of SYSTEM_EVENT_HOUR_FORMAT.
578 * @see EVENT_VAL_HOURFORMAT_12
579 * @see EVENT_VAL_HOURFORMAT_24
581 #define EVENT_KEY_HOUR_FORMAT "hour_format"
584 * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
587 #define EVENT_VAL_HOURFORMAT_12 "12"
590 * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
593 #define EVENT_VAL_HOURFORMAT_24 "24"
596 * @brief Definition for system-event of setting : language setting.
598 * @see EVENT_KEY_LANGUAGE_SET
600 #define SYSTEM_EVENT_LANGUAGE_SET "tizen.system.event.language_set"
603 * @brief Definition for key of SYSTEM_EVENT_LANGUAGE_SET.
605 * @remarks The value of this key is full name of locale, for example,
606 * "ko_KR.UTF8" : in case of Korean language
607 * "en_US.UTF8" : in case of USA language,
608 * refer to linux locale info.
610 #define EVENT_KEY_LANGUAGE_SET "language_set"
613 * @brief Definition for system-event of setting : region format.
615 * @see EVENT_KEY_REGION_FORMAT
617 #define SYSTEM_EVENT_REGION_FORMAT "tizen.system.event.region_format"
620 * @brief Definition for key of SYSTEM_EVENT_REGION_FORMAT.
622 * @remarks The value of this key is full name of locale, for example,
623 * "ko_KR.UTF8" : in case of Korean region format
624 * "en_US.UTF8" : in case of USA region format,
625 * refer to linux locale info.
627 #define EVENT_KEY_REGION_FORMAT "region_format"
630 * @brief Definition for system-event of setting : silent_mode.
632 * @see EVENT_KEY_SILENT_MODE
634 #define SYSTEM_EVENT_SILENT_MODE "tizen.system.event.silent_mode"
637 * @brief Definition for key of SYSTEM_EVENT_SILENT_MODE.
639 * @see EVENT_VAL_SILENTMODE_ON
640 * @see EVENT_VAL_SILENTMODE_OFF
642 #define EVENT_KEY_SILENT_MODE "silent_mode"
645 * @brief Definition for value of EVENT_KEY_SILENT_MODE.
648 #define EVENT_VAL_SILENTMODE_ON "on"
651 * @brief Definition for value of EVENT_KEY_SILENT_MODE.
654 #define EVENT_VAL_SILENTMODE_OFF "off"
657 * @brief Definition for system-event of setting : state of vibration.
659 * @see EVENT_KEY_VIBRATION_STATE
661 #define SYSTEM_EVENT_VIBRATION_STATE "tizen.system.event.vibration_state"
664 * @brief Definition for key of SYSTEM_EVENT_VIBRATION_STATE.
666 * @see EVENT_VAL_VIBRATION_ON
667 * @see EVENT_VAL_VIBRATION_OFF
669 #define EVENT_KEY_VIBRATION_STATE "vibration_state"
672 * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
675 #define EVENT_VAL_VIBRATION_ON "on"
678 * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
681 #define EVENT_VAL_VIBRATION_OFF "off"
684 * @brief Definition for system-event of setting : state of screen's auto-rotation.
686 * @see EVENT_KEY_SCREEN_AUTOROTATE_STATE
688 #define SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE "tizen.system.event.screen_autorotate_state"
691 * @brief Definition for key of SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE.
693 * @see EVENT_VAL_SCREEN_AUTOROTATE_ON
694 * @see EVENT_VAL_SCREEN_AUTOROTATE_OFF
696 #define EVENT_KEY_SCREEN_AUTOROTATE_STATE "screen_autorotate_state"
699 * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
702 #define EVENT_VAL_SCREEN_AUTOROTATE_ON "on"
705 * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
708 #define EVENT_VAL_SCREEN_AUTOROTATE_OFF "off"
711 * @brief Definition for system-event of setting : state of mobile data.
713 * @see EVENT_KEY_MOBILE_DATA_STATE
715 #define SYSTEM_EVENT_MOBILE_DATA_STATE "tizen.system.event.mobile_data_state"
718 * @brief Definition for key of SYSTEM_EVENT_MOBILE_DATA_STATE.
720 * @see EVENT_VAL_MOBILE_DATA_OFF
721 * @see EVENT_VAL_MOBILE_DATA_ON
723 #define EVENT_KEY_MOBILE_DATA_STATE "mobile_data_state"
726 * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
729 #define EVENT_VAL_MOBILE_DATA_OFF "off"
732 * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
735 #define EVENT_VAL_MOBILE_DATA_ON "on"
738 * @brief Definition for system-event of setting : state of data roaming.
740 * @see EVENT_KEY_DATA_ROAMING_STATE
742 #define SYSTEM_EVENT_DATA_ROAMING_STATE "tizen.system.event.data_roaming_state"
745 * @brief Definition for key of SYSTEM_EVENT_DATA_ROAMING_STATE.
747 * @see EVENT_VAL_DATA_ROAMING_OFF
748 * @see EVENT_VAL_DATA_ROAMING_ON
750 #define EVENT_KEY_DATA_ROAMING_STATE "data_roaming_state"
753 * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
756 #define EVENT_VAL_DATA_ROAMING_OFF "off"
759 * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
762 #define EVENT_VAL_DATA_ROAMING_ON "on"
765 * @brief Definition for system-event of setting : font setting.
767 * @see EVENT_KEY_FONT_SET
769 #define SYSTEM_EVENT_FONT_SET "tizen.system.event.font_set"
772 * @brief Definition for key of SYSTEM_EVENT_FONT_SET.
774 * @remarks The value of this key is font name of string type by font-config.
776 #define EVENT_KEY_FONT_SET "font_set"
779 * @brief Adds the event handler for receiving event-data of interested events.
782 * @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.
783 * @param[in] event_name The interested event name
784 * @param[in] callback The event callback called when the event occurs
785 * @param[in] user_data The user data for passing to callback
786 * @param[out] event_handler The event handler
787 * @return 0 on success, otherwise a negative error value
788 * @retval #EVENT_ERROR_NONE Successful
789 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
790 * @retval #EVENT_ERROR_PERMISSION_DENIED Permission denied
791 * @retval #EVENT_ERROR_IO_ERROR Adding handler failed
792 * @retval #EVENT_ERROR_OUT_OF_MEMORY Out of memory
794 int event_add_event_handler(const char *event_name, event_cb callback, void *user_data,
795 event_handler_h *event_handler);
798 * @brief Removes the registered event handler.
801 * @param[in] event_handler The event handler
802 * @return 0 on success, otherwise a negative error value
803 * @retval #EVENT_ERROR_NONE Successful
804 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
806 int event_remove_event_handler(event_handler_h event_handler);
809 * @brief Sends the User-Event to receiver applications.
812 * @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.
813 * @param[in] event_name The event's name to send
814 * @param[in] event_data The event's data to send
815 * @return 0 on success, otherwise a negative error value
816 * @retval #EVENT_ERROR_NONE Successful
817 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
818 * @retval #EVENT_ERROR_IO_ERROR Sending operation failed
820 int event_publish_app_event(const char *event_name, bundle *event_data);
823 * @brief Sends the User-Event to trusted receiver-applications.
826 * @remarks The application which has same certification with sender can receive the event.
827 * @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.
828 * @param[in] event_name The event's name to send
829 * @param[in] event_data The event's data to send
830 * @return 0 on success, otherwise a negative error value
831 * @retval #EVENT_ERROR_NONE Successful
832 * @retval #EVENT_ERROR_INVALID_PARAMETER Invalid parameter
833 * @retval #EVENT_ERROR_IO_ERROR Sending operation failed
835 int event_publish_trusted_app_event(const char *event_name, bundle *event_data);
845 #endif /* __TIZEN_APPFW_EVENT_H__ */