fix spelling error of SYSTEM_EVENT_INCOMMING_MSG
[platform/core/api/application.git] / include / app_event.h
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17
18 #ifndef __TIZEN_APPFW_EVENT_H__
19 #define __TIZEN_APPFW_EVENT_H__
20
21 #include <bundle.h>
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 /**
28  * @file event.h
29  */
30
31 /**
32  * @addtogroup CAPI_EVENT_MODULE
33  * @{
34  */
35
36
37 /**
38  * @brief Event handle.
39  * @since_tizen 2.4
40  */
41 typedef struct event_handler* event_handler_h;
42
43 /**
44  * @brief Event callback.
45  *
46  * @since_tizen 2.4
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
51  */
52 typedef void (*event_cb)(const char *event_name, bundle *event_data, void *user_data);
53
54 /**
55  * @brief Enumeration for Event Error.
56  * @since_tizen 2.4
57  */
58 typedef enum {
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 */
65 } event_error_e;
66
67 /**
68  * @brief Definition for system-event of battery : charger status.
69  * @since_tizen 2.4
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
72  */
73 #define SYSTEM_EVENT_BATTERY_CHARGER_STATUS "tizen.system.event.battery_charger_status"
74
75 /**
76  * @brief Definition for key of SYSTEM_EVENT_BATTERY_CHARGER_STATUS.
77  * @since_tizen 2.4
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
82  */
83 #define EVENT_KEY_BATTERY_CHARGER_STATUS "battery_charger_status"
84
85 /**
86  * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
87  * @since_tizen 2.4
88  * @remarks charger disconnected
89  */
90 #define EVENT_VAL_BATTERY_CHARGER_DISCONNECTED "disconnected"
91
92 /**
93  * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
94  * @since_tizen 2.4
95  * @remarks charger connected
96  */
97 #define EVENT_VAL_BATTERY_CHARGER_CONNECTED "connected"
98
99 /**
100  * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
101  * @since_tizen 2.4
102  * @remarks charging is enabled
103  */
104 #define EVENT_VAL_BATTERY_CHARGER_CHARGING "charging"
105
106 /**
107  * @brief Definition for value of EVENT_KEY_BATTERY_CHARGER_STATUS.
108  * @since_tizen 2.4
109  * @remarks charging is disabled
110  */
111 #define EVENT_VAL_BATTERY_CHARGER_DISCHARGING "discharging"
112
113 /**
114  * @brief Definition for system-event of battery : level status.
115  * @since_tizen 2.4
116  * @see EVENT_KEY_BATTERY_LEVEL_STATUS
117  */
118 #define SYSTEM_EVENT_BATTERY_LEVEL_STATUS "tizen.system.event.battery_level_status"
119
120 /**
121  * @brief Definition for key of SYSTEM_EVENT_BATTERY_LEVEL_STATUS.
122  * @since_tizen 2.4
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
128  */
129 #define EVENT_KEY_BATTERY_LEVEL_STATUS "battery_level_status"
130
131 /**
132  * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
133  * @since_tizen 2.4
134  */
135 #define EVENT_VAL_BATTERY_LEVEL_EMPTY "empty"
136
137 /**
138  * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
139  * @since_tizen 2.4
140  */
141 #define EVENT_VAL_BATTERY_LEVEL_CRITICAL "critical"
142
143 /**
144  * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
145  * @since_tizen 2.4
146  */
147 #define EVENT_VAL_BATTERY_LEVEL_LOW "low"
148
149 /**
150  * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
151  * @since_tizen 2.4
152  */
153 #define EVENT_VAL_BATTERY_LEVEL_HIGH "high"
154
155 /**
156  * @brief Definition for value of EVENT_KEY_BATTERY_LEVEL_STATUS.
157  * @since_tizen 2.4
158  */
159 #define EVENT_VAL_BATTERY_LEVEL_FULL "full"
160
161 /**
162  * @brief Definition for system-event of usb : status of usb connection.
163  * @since_tizen 2.4
164  * @see EVENT_KEY_USB_STATUS
165  */
166 #define SYSTEM_EVENT_USB_STATUS "tizen.system.event.usb_status"
167
168 /**
169  * @brief Definition for key of SYSTEM_EVENT_USB_STATUS.
170  * @since_tizen 2.4
171  * @see EVENT_VAL_USB_DISCONNECTED
172  * @see EVENT_VAL_USB_CONNECTED
173  * @see EVENT_VAL_USB_AVAILABLE
174  */
175 #define EVENT_KEY_USB_STATUS "usb_status"
176
177 /**
178  * @brief Definition for value of EVENT_KEY_USB_STATUS.
179  * @since_tizen 2.4
180  */
181 #define EVENT_VAL_USB_DISCONNECTED "disconnected"
182
183 /**
184  * @brief Definition for value of EVENT_KEY_USB_STATUS.
185  * @since_tizen 2.4
186  * @remarks Connected but not-available.
187  */
188 #define EVENT_VAL_USB_CONNECTED "connected"
189
190 /**
191  * @brief Definition for value of EVENT_KEY_USB_STATUS.
192  * @since_tizen 2.4
193  */
194 #define EVENT_VAL_USB_AVAILABLE "available"
195
196 /**
197  * @brief Definition for system-event of ear-jack : status of ear-jack connection.
198  * @since_tizen 2.4
199  * @see EVENT_KEY_EARJACK_STATUS
200  */
201 #define SYSTEM_EVENT_EARJACK_STATUS "tizen.system.event.earjack_status"
202
203 /**
204  * @brief Definition for key of SYSTEM_EVENT_EARJACK_STATUS.
205  * @since_tizen 2.4
206  * @see EVENT_VAL_EARJACK_DISCONNECTED
207  * @see EVENT_VAL_EARJACK_CONNECTED
208  */
209 #define EVENT_KEY_EARJACK_STATUS "earjack_status"
210
211 /**
212  * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
213  * @since_tizen 2.4
214  */
215 #define EVENT_VAL_EARJACK_DISCONNECTED "disconnected"
216
217 /**
218  * @brief Definition for value of EVENT_KEY_EARJACK_STATUS.
219  * @since_tizen 2.4
220  */
221 #define EVENT_VAL_EARJACK_CONNECTED "connected"
222
223 /**
224  * @brief Definition for system-event of display : state of display.
225  * @since_tizen 2.4
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
229  */
230 #define SYSTEM_EVENT_DISPLAY_STATE "tizen.system.event.display_state"
231
232 /**
233  * @brief Definition for key of SYSTEM_EVENT_DISPLAY_STATE.
234  * @since_tizen 2.4
235  * @see EVENT_VAL_DISPLAY_NORMAL
236  * @see EVENT_VAL_DISPLAY_DIM
237  * @see EVENT_VAL_DISPLAY_OFF
238  */
239 #define EVENT_KEY_DISPLAY_STATE "display_state"
240
241 /**
242  * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
243  * @since_tizen 2.4
244  */
245 #define EVENT_VAL_DISPLAY_NORMAL "normal"
246
247 /**
248  * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
249  * @since_tizen 2.4
250  */
251 #define EVENT_VAL_DISPLAY_DIM "dim"
252
253 /**
254  * @brief Definition for value of EVENT_KEY_DISPLAY_STATE.
255  * @since_tizen 2.4
256  */
257 #define EVENT_VAL_DISPLAY_OFF "off"
258
259 /**
260  * @brief Definition for system-event of system : boot completion.
261  * @since_tizen 2.4
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.
265  */
266 #define SYSTEM_EVENT_BOOT_COMPLETED "tizen.system.event.boot_completed"
267
268 /**
269  * @brief Definition for system-event of system : shutdown.
270  * @since_tizen 2.4
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.
274 */
275 #define SYSTEM_EVENT_SYSTEM_SHUTDOWN "tizen.system.event.system_shutdown"
276
277 /**
278  * @brief Definition for system-event of system : low memory.
279  * @since_tizen 2.4
280  * @see EVENT_KEY_LOW_MEMORY
281  */
282 #define SYSTEM_EVENT_LOW_MEMORY "tizen.system.event.low_memory"
283
284 /**
285  * @brief Definition for key of SYSTEM_EVENT_LOW_MEMORY.
286  * @since_tizen 2.4
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
291  */
292 #define EVENT_KEY_LOW_MEMORY "low_memory"
293
294 /**
295  * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
296  * @since_tizen 2.4
297  */
298 #define EVENT_VAL_MEMORY_NORMAL "normal"
299
300 /**
301  * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
302  * @since_tizen 2.4
303  */
304 #define EVENT_VAL_MEMORY_SOFT_WARNING "soft_warning"
305
306 /**
307  * @brief Definition for value of EVENT_KEY_LOW_MEMORY.
308  * @since_tizen 2.4
309  */
310 #define EVENT_VAL_MEMORY_HARD_WARNING "hard_warning"
311
312 /**
313  * @brief Definition for system-event of wifi : state of wifi.
314  * @since_tizen 2.4
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
318  */
319 #define SYSTEM_EVENT_WIFI_STATE "tizen.system.event.wifi_state"
320
321 /**
322  * @brief Definition for key of SYSTEM_EVENT_WIFI_STATE.
323  * @since_tizen 2.4
324  * @see EVENT_VAL_WIFI_OFF
325  * @see EVENT_VAL_WIFI_ON
326  * @see EVENT_VAL_WIFI_CONNECTED
327  */
328 #define EVENT_KEY_WIFI_STATE "wifi_state"
329
330 /**
331  * @brief Definition for value of EVENT_KEY_WIFI_STATE.
332  * @since_tizen 2.4
333  */
334 #define EVENT_VAL_WIFI_OFF "off"
335
336 /**
337  * @brief Definition for value of EVENT_KEY_WIFI_STATE.
338  * @since_tizen 2.4
339  */
340 #define EVENT_VAL_WIFI_ON "on"
341
342 /**
343  * @brief Definition for value of EVENT_KEY_WIFI_STATE.
344  * @since_tizen 2.4
345  */
346 #define EVENT_VAL_WIFI_CONNECTED "connected"
347
348 /**
349  * @brief Definition for system-event of bluetooth : status of bluetooth.
350  * @since_tizen 2.4
351  * @see EVENT_KEY_BT_STATE
352  * @see EVENT_KEY_BT_LE_STATE
353  * @see EVENT_KEY_BT_TRANSFERING_STATE
354  */
355 #define SYSTEM_EVENT_BT_STATE "tizen.system.event.bt_state"
356
357 /**
358  * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
359  * @since_tizen 2.4
360  * @see EVENT_VAL_BT_STATE_OFF
361  * @see EVENT_VAL_BT_STATE_ON
362  */
363 #define EVENT_KEY_BT_STATE "bt_state"
364
365 /**
366  * @brief Definition for value of EVENT_KEY_BT_STATE.
367  * @since_tizen 2.4
368  */
369 #define EVENT_VAL_BT_OFF "off"
370
371 /**
372  * @brief Definition for value of EVENT_KEY_BT_STATE.
373  * @since_tizen 2.4
374  */
375 #define EVENT_VAL_BT_ON "on"
376
377 /**
378  * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
379  * @since_tizen 2.4
380  * @see EVENT_VAL_BT_LE_STATE_OFF
381  * @see EVENT_VAL_BT_LE_STATE_ON
382  */
383 #define EVENT_KEY_BT_LE_STATE "bt_le_state"
384
385 /**
386  * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
387  * @since_tizen 2.4
388  */
389 #define EVENT_VAL_BT_LE_OFF "off"
390
391 /**
392  * @brief Definition for value of EVENT_KEY_BT_LE_STATE.
393  * @since_tizen 2.4
394  */
395 #define EVENT_VAL_BT_LE_ON "on"
396
397 /**
398  * @brief Definition for key of SYSTEM_EVENT_BT_STATE.
399  * @since_tizen 2.4
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
403  */
404 #define EVENT_KEY_BT_TRANSFERING_STATE "bt_transfering_state"
405
406 /**
407  * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
408  * @since_tizen 2.4
409  */
410 #define EVENT_VAL_BT_NON_TRANSFERING "non_transfering"
411
412 /**
413  * @brief Definition for value of EVENT_KEY_BT_TRANSFERING_STATE.
414  * @since_tizen 2.4
415  */
416 #define EVENT_VAL_BT_TRANSFERING "transfering"
417
418 /**
419  * @brief Definition for system-event of location : enable state of location.
420  * @since_tizen 2.4
421  * @see EVENT_KEY_LOCATION_ENABLE_STATE
422  */
423 #define SYSTEM_EVENT_LOCATION_ENABLE_STATE "tizen.system.event.location_enable_state"
424
425 /**
426  * @brief Definition for key of SYSTEM_EVENT_LOCATION_ENABLE_STATE.
427  * @since_tizen 2.4
428  * @see EVENT_VAL_LOCATION_DISABLED
429  * @see EVENT_VAL_LOCATION_ENABLED
430  */
431 #define EVENT_KEY_LOCATION_ENABLE_STATE "location_enable_state"
432
433 /**
434  * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
435  * @since_tizen 2.4
436  */
437 #define EVENT_VAL_LOCATION_DISABLED "disabled"
438
439 /**
440  * @brief Definition for value of EVENT_KEY_LOCATION_ENABLE_STATE.
441  * @since_tizen 2.4
442  */
443 #define EVENT_VAL_LOCATION_ENABLED "enabled"
444
445 /**
446  * @brief Definition for system-event of location : enable state of gps.
447  * @since_tizen 2.4
448  * @see EVENT_KEY_GPS_ENABLE_STATE
449  */
450 #define SYSTEM_EVENT_GPS_ENABLE_STATE "tizen.system.event.gps_enable_state"
451
452 /**
453  * @brief Definition for key of SYSTEM_EVENT_GPS_ENABLE_STATE.
454  * @since_tizen 2.4
455  * @see EVENT_VAL_GPS_DISABLED
456  * @see EVENT_VAL_GPS_ENABLED
457  */
458 #define EVENT_KEY_GPS_ENABLE_STATE "gps_enable_state"
459
460 /**
461  * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
462  * @since_tizen 2.4
463  */
464 #define EVENT_VAL_GPS_DISABLED "disabled"
465
466 /**
467  * @brief Definition for value of EVENT_KEY_GPS_ENABLE_STATE.
468  * @since_tizen 2.4
469  */
470 #define EVENT_VAL_GPS_ENABLED "enabled"
471
472 /**
473  * @brief Definition for system-event of location : enable state of nps.
474  * @since_tizen 2.4
475  * @see EVENT_KEY_NPS_ENABLE_STATE
476  */
477 #define SYSTEM_EVENT_NPS_ENABLE_STATE "tizen.system.event.nps_enable_state"
478
479 /**
480  * @brief Definition for key of SYSTEM_EVENT_NPS_ENABLE_STATE.
481  * @since_tizen 2.4
482  * @see EVENT_VAL_NPS_DISABLED
483  * @see EVENT_VAL_NPS_ENABLED
484  */
485 #define EVENT_KEY_NPS_ENABLE_STATE "nps_enable_state"
486
487 /**
488  * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
489  * @since_tizen 2.4
490  */
491 #define EVENT_VAL_NPS_DISABLED "disabled"
492
493 /**
494  * @brief Definition for value of EVENT_KEY_NPS_ENABLE_STATE.
495  * @since_tizen 2.4
496  */
497 #define EVENT_VAL_NPS_ENABLED "enabled"
498
499 /**
500  * @brief Definition for system-event of message : incoming msg.
501  * @since_tizen 2.4
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
506  */
507 #define SYSTEM_EVENT_INCOMING_MSG "tizen.system.event.incoming_msg"
508
509 /**
510  * @brief Definition for key of SYSTEM_EVENT_INCOMING_MSG.
511  * @since_tizen 2.4
512  * @see EVENT_VAL_SMS
513  * @see EVENT_VAL_PUSH
514  * @see EVENT_VAL_CB
515  */
516 #define EVENT_KEY_MSG_TYPE "msg_type"
517
518 /**
519  * @brief Definition for value of EVENT_KEY_MSG_TYPE.
520  * @since_tizen 2.4
521  */
522 #define EVENT_VAL_SMS "sms"
523
524 /**
525  * @brief Definition for value of EVENT_KEY_MSG_TYPE.
526  * @since_tizen 2.4
527  */
528 #define EVENT_VAL_PUSH "push"
529
530 /**
531  * @brief Definition for value of EVENT_KEY_MSG_TYPE.
532  * @since_tizen 2.4
533  */
534 #define EVENT_VAL_CB "cb"
535
536 /**
537  * @brief Definition for key of SYSTEM_EVENT_INCOMING_MSG.
538  * @since_tizen 2.4
539  * @remarks The value of this key is a string of unsigned int value : new message id.
540  */
541 #define EVENT_KEY_MSG_ID "msg_id"
542
543 /**
544  * @brief Definition for system-event of setting : time changed.
545  * @since_tizen 2.4
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.
548  */
549 #define SYSTEM_EVENT_TIME_CHANGED "tizen.system.event.time_changed"
550
551 /**
552  * @brief Definition for system-event of setting : timezone setting.
553  * @since_tizen 2.4
554  * @see EVENT_KEY_TIME_ZONE
555  */
556 #define SYSTEM_EVENT_TIME_ZONE "tizen.system.event.time_zone"
557
558 /**
559  * @brief Definition for key of SYSTEM_EVENT_TIME_ZONE.
560  * @since_tizen 2.4
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.
564  */
565 #define EVENT_KEY_TIME_ZONE "time_zone"
566
567 /**
568  * @brief Definition for system-event of setting : hour format.
569  * @since_tizen 2.4
570  * @see EVENT_KEY_HOUR_FORMAT
571  */
572 #define SYSTEM_EVENT_HOUR_FORMAT "tizen.system.event.hour_format"
573
574 /**
575  * @brief Definition for key of SYSTEM_EVENT_HOUR_FORMAT.
576  * @since_tizen 2.4
577  * @see EVENT_VAL_HOURFORMAT_12
578  * @see EVENT_VAL_HOURFORMAT_24
579  */
580 #define EVENT_KEY_HOUR_FORMAT "hour_format"
581
582 /**
583  * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
584  * @since_tizen 2.4
585  */
586 #define EVENT_VAL_HOURFORMAT_12 "12"
587
588 /**
589  * @brief Definition for value of EVENT_KEY_HOUR_FORMAT.
590  * @since_tizen 2.4
591  */
592 #define EVENT_VAL_HOURFORMAT_24 "24"
593
594 /**
595  * @brief Definition for system-event of setting : language setting.
596  * @since_tizen 2.4
597  * @see EVENT_KEY_LANGUAGE_SET
598  */
599 #define SYSTEM_EVENT_LANGUAGE_SET "tizen.system.event.language_set"
600
601 /**
602  * @brief Definition for key of SYSTEM_EVENT_LANGUAGE_SET.
603  * @since_tizen 2.4
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.
608  */
609 #define EVENT_KEY_LANGUAGE_SET "language_set"
610
611 /**
612  * @brief Definition for system-event of setting : region format.
613  * @since_tizen 2.4
614  * @see EVENT_KEY_REGION_FORMAT
615  */
616 #define SYSTEM_EVENT_REGION_FORMAT "tizen.system.event.region_format"
617
618 /**
619  * @brief Definition for key of SYSTEM_EVENT_REGION_FORMAT.
620  * @since_tizen 2.4
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.
625  */
626 #define EVENT_KEY_REGION_FORMAT "region_format"
627
628 /**
629  * @brief Definition for system-event of setting : silent_mode.
630  * @since_tizen 2.4
631  * @see EVENT_KEY_SILENT_MODE
632  */
633 #define SYSTEM_EVENT_SILENT_MODE "tizen.system.event.silent_mode"
634
635 /**
636  * @brief Definition for key of SYSTEM_EVENT_SILENT_MODE.
637  * @since_tizen 2.4
638  * @see EVENT_VAL_SILENTMODE_ON
639  * @see EVENT_VAL_SILENTMODE_OFF
640  */
641 #define EVENT_KEY_SILENT_MODE "silent_mode"
642
643 /**
644  * @brief Definition for value of EVENT_KEY_SILENT_MODE.
645  * @since_tizen 2.4
646  */
647 #define EVENT_VAL_SILENTMODE_ON "on"
648
649 /**
650  * @brief Definition for value of EVENT_KEY_SILENT_MODE.
651  * @since_tizen 2.4
652  */
653 #define EVENT_VAL_SILENTMODE_OFF "off"
654
655 /**
656  * @brief Definition for system-event of setting : state of vibration.
657  * @since_tizen 2.4
658  * @see EVENT_KEY_VIBRATION_STATE
659  */
660 #define SYSTEM_EVENT_VIBRATION_STATE "tizen.system.event.vibration_state"
661
662 /**
663  * @brief Definition for key of SYSTEM_EVENT_VIBRATION_STATE.
664  * @since_tizen 2.4
665  * @see EVENT_VAL_VIBRATION_ON
666  * @see EVENT_VAL_VIBRATION_OFF
667  */
668 #define EVENT_KEY_VIBRATION_STATE "vibration_state"
669
670 /**
671  * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
672  * @since_tizen 2.4
673  */
674 #define EVENT_VAL_VIBRATION_ON "on"
675
676 /**
677  * @brief Definition for value of EVENT_KEY_VIBRATION_STATE.
678  * @since_tizen 2.4
679  */
680 #define EVENT_VAL_VIBRATION_OFF "off"
681
682 /**
683  * @brief Definition for system-event of setting : state of screen's auto-rotation.
684  * @since_tizen 2.4
685  * @see EVENT_KEY_SCREEN_AUTOROTATE_STATE
686  */
687 #define SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE "tizen.system.event.screen_autorotate_state"
688
689 /**
690  * @brief Definition for key of SYSTEM_EVENT_SCREEN_AUTOROTATE_STATE.
691  * @since_tizen 2.4
692  * @see EVENT_VAL_SCREEN_AUTOROTATE_ON
693  * @see EVENT_VAL_SCREEN_AUTOROTATE_OFF
694  */
695 #define EVENT_KEY_SCREEN_AUTOROTATE_STATE "screen_autorotate_state"
696
697 /**
698  * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
699  * @since_tizen 2.4
700  */
701 #define EVENT_VAL_SCREEN_AUTOROTATE_ON "on"
702
703 /**
704  * @brief Definition for value of EVENT_KEY_SCREEN_AUTOROTATE_STATE.
705  * @since_tizen 2.4
706  */
707 #define EVENT_VAL_SCREEN_AUTOROTATE_OFF "off"
708
709 /**
710  * @brief Definition for system-event of setting : state of mobile data.
711  * @since_tizen 2.4
712  * @see EVENT_KEY_MOBILE_DATA_STATE
713  */
714 #define SYSTEM_EVENT_MOBILE_DATA_STATE "tizen.system.event.mobile_data_state"
715
716 /**
717  * @brief Definition for key of SYSTEM_EVENT_MOBILE_DATA_STATE.
718  * @since_tizen 2.4
719  * @see EVENT_VAL_MOBILE_DATA_OFF
720  * @see EVENT_VAL_MOBILE_DATA_ON
721  */
722 #define EVENT_KEY_MOBILE_DATA_STATE "mobile_data_state"
723
724 /**
725  * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
726  * @since_tizen 2.4
727  */
728 #define EVENT_VAL_MOBILE_DATA_OFF "off"
729
730 /**
731  * @brief Definition for value of EVENT_KEY_MOBILE_DATA_STATE.
732  * @since_tizen 2.4
733  */
734 #define EVENT_VAL_MOBILE_DATA_ON "on"
735
736 /**
737  * @brief Definition for system-event of setting : state of data roaming.
738  * @since_tizen 2.4
739  * @see EVENT_KEY_DATA_ROAMING_STATE
740  */
741 #define SYSTEM_EVENT_DATA_ROAMING_STATE "tizen.system.event.data_roaming_state"
742
743 /**
744  * @brief Definition for key of SYSTEM_EVENT_DATA_ROAMING_STATE.
745  * @since_tizen 2.4
746  * @see EVENT_VAL_DATA_ROAMING_OFF
747  * @see EVENT_VAL_DATA_ROAMING_ON
748  */
749 #define EVENT_KEY_DATA_ROAMING_STATE "data_roaming_state"
750
751 /**
752  * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
753  * @since_tizen 2.4
754  */
755 #define EVENT_VAL_DATA_ROAMING_OFF "off"
756
757 /**
758  * @brief Definition for value of EVENT_KEY_DATA_ROAMING_STATE.
759  * @since_tizen 2.4
760  */
761 #define EVENT_VAL_DATA_ROAMING_ON "on"
762
763 /**
764  * @brief Definition for system-event of setting : font setting.
765  * @since_tizen 2.4
766  * @see EVENT_KEY_FONT_SET
767  */
768 #define SYSTEM_EVENT_FONT_SET "tizen.system.event.font_set"
769
770 /**
771  * @brief Definition for key of SYSTEM_EVENT_FONT_SET.
772  * @since_tizen 2.4
773  * @remarks The value of this key is font name of string type by font-config.
774  */
775 #define EVENT_KEY_FONT_SET "font_set"
776
777 /**
778  * @brief Adds the event handler for receiving event-data of interested events.
779  *
780  * @since_tizen 2.4
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
792  */
793 int event_add_event_handler(const char *event_name, event_cb callback, void *user_data,
794         event_handler_h *event_handler);
795
796 /**
797  * @brief Removes the registered event handler.
798  *
799  * @since_tizen 2.4
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
804  */
805 int event_remove_event_handler(event_handler_h event_handler);
806
807 /**
808  * @brief Sends the User-Event to receiver applications.
809  *
810  * @since_tizen 2.4
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
818  */
819 int event_publish_app_event(const char *event_name, bundle *event_data);
820
821 /**
822  * @brief Sends the User-Event to trusted receiver-applications.
823  *
824  * @since_tizen 2.4
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
833  */
834 int event_publish_trusted_app_event(const char *event_name, bundle *event_data);
835
836 /**
837  * @}
838  */
839
840 #ifdef __cplusplus
841 }
842 #endif
843
844 #endif /* __TIZEN_APPFW_EVENT_H__ */