2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
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.
17 #ifndef __TIZEN_CONTEXT_CONTEXT_TRIGGER_H__
18 #define __TIZEN_CONTEXT_CONTEXT_TRIGGER_H__
21 * @addtogroup CAPI_CONTEXT_TRIGGER_MODULE
25 #include <tizen_error.h>
26 #include <app_control.h>
31 #endif /* __cplusplus */
34 * @brief The operator "is equal to".
35 * @details This can be used as operators of context_trigger_rule_entry_add_comparison_int()
36 * and context_trigger_rule_entry_add_comparison_string().
39 #define CONTEXT_TRIGGER_EQUAL_TO "=="
42 * @brief The operator "is not equal to".
43 * @details This can be used as operators of context_trigger_rule_entry_add_comparison_int()
44 * and context_trigger_rule_entry_add_comparison_string().
47 #define CONTEXT_TRIGGER_NOT_EQUAL_TO "!="
50 * @brief The operator "is greater than".
51 * @details This can be used as operators of context_trigger_rule_entry_add_comparison_int().
54 #define CONTEXT_TRIGGER_GREATER_THAN ">"
57 * @brief The operator "is greater than or equal to".
58 * @details This can be used as operators of context_trigger_rule_entry_add_comparison_int().
61 #define CONTEXT_TRIGGER_GREATER_THAN_OR_EQUAL_TO ">="
64 * @brief The operator "is less than".
65 * @details This can be used as operators of context_trigger_rule_entry_add_comparison_int().
68 #define CONTEXT_TRIGGER_LESS_THAN "<"
71 * @brief The operator "is less than or equal to".
72 * @details This can be used as operators of context_trigger_rule_entry_add_comparison_int().
75 #define CONTEXT_TRIGGER_LESS_THAN_OR_EQUAL_TO "<="
78 * @brief Logical true.
79 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_int().
82 #define CONTEXT_TRIGGER_TRUE 1
85 * @brief Logical false.
86 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_int().
89 #define CONTEXT_TRIGGER_FALSE 0
92 * @brief The attribute key denoting "time of day".
93 * @details This can be used as a key of context_trigger_rule_entry_add_option_string(),
94 * or left operands of context_trigger_rule_entry_add_comparison_int().@n
95 * When being used as option, it is time interval of the day. For example, "13-15" denotes "from 1 PM to 3 PM".
96 * When being used with #CONTEXT_TRIGGER_EVENT_TIME or #CONTEXT_TRIGGER_CONDITION_TIME, it's unit is "minute",
97 * the valid range of the corresponding right operands is thus from 0 (12:00 AM) to 1439 (11:59 PM).
100 #define CONTEXT_TRIGGER_TIME_OF_DAY "TimeOfDay"
103 * @brief The attribute key denoting "day of week".
104 * @details This can be used as a key of context_trigger_rule_entry_add_option_string(),
105 * or left operands of context_trigger_rule_entry_add_comparison_string().@n
106 * As the right operands of this attribute, one of the following values are allowed:
107 * #CONTEXT_TRIGGER_MON, #CONTEXT_TRIGGER_TUE, #CONTEXT_TRIGGER_WED, #CONTEXT_TRIGGER_THU, #CONTEXT_TRIGGER_FRI,
108 * #CONTEXT_TRIGGER_SAT, #CONTEXT_TRIGGER_SUN, #CONTEXT_TRIGGER_WEEKDAY, and #CONTEXT_TRIGGER_WEEKEND.
111 #define CONTEXT_TRIGGER_DAY_OF_WEEK "DayOfWeek"
114 * @brief The attribute key denoting "day of month".
115 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_int().@n
116 * The valid range of the corresponding right operands is from 1 to 31.
119 #define CONTEXT_TRIGGER_DAY_OF_MONTH "DayOfMonth"
122 * @brief The attribute key denoting boolean states of "is connected".
123 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_int().@n
124 * As the right operands of this attribute, one of the following values are allowed:
125 * #CONTEXT_TRIGGER_TRUE and #CONTEXT_TRIGGER_FALSE.
128 #define CONTEXT_TRIGGER_IS_CONNECTED "IsConnected"
131 * @brief The attribute key denoting boolean states of "is charging".
132 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_int().@n
133 * As the right operands of this attribute, one of the following values are allowed:
134 * #CONTEXT_TRIGGER_TRUE and #CONTEXT_TRIGGER_FALSE.
137 #define CONTEXT_TRIGGER_IS_CHARGING "IsCharging"
140 * @brief The attribute key denoting boolean states of "is enabled".
141 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_int().@n
142 * As the right operands of this attribute, one of the following values are allowed:
143 * #CONTEXT_TRIGGER_TRUE and #CONTEXT_TRIGGER_FALSE.
146 #define CONTEXT_TRIGGER_IS_ENABLED "IsEnabled"
149 * @brief The attribute key denoting "level".
150 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_string().@n
151 * See the programming guide to find available right operands values.
154 #define CONTEXT_TRIGGER_LEVEL "Level"
157 * @brief The attribute key denoting "state".
158 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_string().@n
159 * See the programming guide to find available right operands.
162 #define CONTEXT_TRIGGER_STATE "State"
165 * @brief The attribute key denoting "BSSID".
166 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_string().@n
167 * See the programming guide to find available right operands.
170 #define CONTEXT_TRIGGER_BSSID "BSSID"
173 * @brief The attribute key denoting "type".
174 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_string().@n
175 * See the programming guide to find available right operands.
178 #define CONTEXT_TRIGGER_TYPE "Type"
181 * @brief The attribute key denoting "event".
182 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_string().@n
183 * See the programming guide to find available right operands.
186 #define CONTEXT_TRIGGER_EVENT "Event"
189 * @brief The attribute key denoting "accuracy".
190 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_string().@n
191 * See the programming guide to find available right operands.
194 #define CONTEXT_TRIGGER_ACCURACY "Accuracy"
197 * @brief The attribute key denoting "medium".
198 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_string().@n
199 * See the programming guide to find available right operands.
202 #define CONTEXT_TRIGGER_MEDIUM "Medium"
205 * @brief The attribute key denoting "place id".
206 * @details This can be used as a key of context_trigger_rule_entry_add_option_int().@n
207 * See the programming guide to find the corresponding trigger events.
210 #define CONTEXT_TRIGGER_PLACE_ID "PlaceId"
213 * @brief The attribute key denoting "application id".
214 * @details This can be used as a key of context_trigger_rule_entry_add_option_string().@n
215 * See the programming guide to find the corresponding trigger events.
218 #define CONTEXT_TRIGGER_APP_ID "AppId"
221 * @brief The attribute key denoting "address".
222 * @details This can be used as a key of context_trigger_rule_entry_add_option_string(),
223 * or context_trigger_rule_entry_add_comparison_string().@n
224 * See the programming guide and CAPI_CONTEXT_TRIGGER_MODULE_OPTION_FORMAT to find the corresponding items.
227 #define CONTEXT_TRIGGER_ADDRESS "Address"
230 * @brief The attribute key denoting "rank".
231 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_int().@n
232 * See the programming guide to find available right operands.
235 #define CONTEXT_TRIGGER_RANK "Rank"
238 * @brief The attribute key denoting "total count".
239 * @details This can be used as left operands of context_trigger_rule_entry_add_comparison_int().@n
240 * See the programming guide to find available right operands.
243 #define CONTEXT_TRIGGER_TOTAL_COUNT "TotalCount"
246 * @brief The attribute value denoting Monday.
247 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
248 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
249 * See the programming guide to find the corresponding option keys or left operand attribute keys.
252 #define CONTEXT_TRIGGER_MON "Mon"
255 * @brief The attribute value denoting Tuesday.
256 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
257 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
258 * See the programming guide to find the corresponding option keys or left operand attribute keys.
261 #define CONTEXT_TRIGGER_TUE "Tue"
264 * @brief The attribute value denoting Wednesday.
265 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
266 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
267 * See the programming guide to find the corresponding option keys or left operand attribute keys.
270 #define CONTEXT_TRIGGER_WED "Wed"
273 * @brief The attribute value denoting Thursday.
274 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
275 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
276 * See the programming guide to find the corresponding option keys or left operand attribute keys.
279 #define CONTEXT_TRIGGER_THU "Thu"
282 * @brief The attribute value denoting Friday.
283 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
284 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
285 * See the programming guide to find the corresponding option keys or left operand attribute keys.
288 #define CONTEXT_TRIGGER_FRI "Fri"
291 * @brief The attribute value denoting Saturday.
292 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
293 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
294 * See the programming guide to find the corresponding option keys or left operand attribute keys.
297 #define CONTEXT_TRIGGER_SAT "Sat"
300 * @brief The attribute value denoting Sunday.
301 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
302 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
303 * See the programming guide to find the corresponding option keys or left operand attribute keys.
306 #define CONTEXT_TRIGGER_SUN "Sun"
309 * @brief The attribute value denoting Weekdays.
310 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
311 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
312 * See the programming guide to find the corresponding option keys or left operand attribute keys.
315 #define CONTEXT_TRIGGER_WEEKDAY "Weekday"
318 * @brief The attribute value denoting Weekends.
319 * @details This can be used as a value of context_trigger_rule_entry_add_option_string()
320 * or right operands of context_trigger_rule_entry_add_comparison_string().@n
321 * See the programming guide to find the corresponding option keys or left operand attribute keys.
324 #define CONTEXT_TRIGGER_WEEKEND "Weekend"
327 * @brief The attribute value denoting the "empty" state.
328 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
329 * See the programming guide to find the corresponding left operand attribute keys.
332 #define CONTEXT_TRIGGER_EMPTY "Empty"
335 * @brief The attribute value denoting the "critical" state.
336 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
337 * See the programming guide to find the corresponding left operand attribute keys.
340 #define CONTEXT_TRIGGER_CRITICAL "Critical"
343 * @brief The attribute value denoting the "low" state.
344 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
345 * See the programming guide to find the corresponding left operand attribute keys.
348 #define CONTEXT_TRIGGER_LOW "Low"
351 * @brief The attribute value denoting the "normal" state.
352 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
353 * See the programming guide to find the corresponding left operand attribute keys.
356 #define CONTEXT_TRIGGER_NORMAL "Normal"
359 * @brief The attribute value denoting the "high" state.
360 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
361 * See the programming guide to find the corresponding left operand attribute keys.
364 #define CONTEXT_TRIGGER_HIGH "High"
367 * @brief The attribute value denoting the "full" state.
368 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
369 * See the programming guide to find the corresponding left operand attribute keys.
372 #define CONTEXT_TRIGGER_FULL "Full"
375 * @brief The attribute value denoting the "disabled" state.
376 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
377 * See the programming guide to find the corresponding left operand attribute keys.
380 #define CONTEXT_TRIGGER_DISABLED "Disabled"
383 * @brief The attribute value denoting the "searching" state.
384 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
385 * See the programming guide to find the corresponding left operand attribute keys.
388 #define CONTEXT_TRIGGER_SEARCHING "Searching"
391 * @brief The attribute value denoting the "connecting" state.
392 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
393 * See the programming guide to find the corresponding left operand attribute keys.
396 #define CONTEXT_TRIGGER_CONNECTING "Connecting"
399 * @brief The attribute value denoting the "connected" state.
400 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
401 * See the programming guide to find the corresponding left operand attribute keys.
404 #define CONTEXT_TRIGGER_CONNECTED "Connected"
407 * @brief The attribute value denoting the "unconnected" state.
408 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
409 * See the programming guide to find the corresponding left operand attribute keys.
412 #define CONTEXT_TRIGGER_UNCONNECTED "Unconnected"
415 * @brief The attribute value denoting the "idle" state.
416 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
417 * See the programming guide to find the corresponding left operand attribute keys.
420 #define CONTEXT_TRIGGER_IDLE "Idle"
423 * @brief The attribute value denoting the "voice" type.
424 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
425 * See the programming guide to find the corresponding left operand attribute keys.
428 #define CONTEXT_TRIGGER_VOICE "Voice"
431 * @brief The attribute value denoting the "video" type.
432 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
433 * See the programming guide to find the corresponding left operand attribute keys.
436 #define CONTEXT_TRIGGER_VIDEO "Video"
439 * @brief The attribute value denoting the "headset" type.
440 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
441 * See the programming guide to find the corresponding left operand attribute keys.
444 #define CONTEXT_TRIGGER_HEADSET "Headset"
447 * @brief The attribute value denoting the "bluetooth" type.
448 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
449 * See the programming guide to find the corresponding left operand attribute keys.
452 #define CONTEXT_TRIGGER_BLUETOOTH "Bluetooth"
455 * @brief The attribute value denoting the "received" event.
456 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
457 * See the programming guide to find the corresponding left operand attribute keys.
460 #define CONTEXT_TRIGGER_RECEIVED "Received"
463 * @brief The attribute value denoting the "sent" event.
464 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
465 * See the programming guide to find the corresponding left operand attribute keys.
468 #define CONTEXT_TRIGGER_SENT "Sent"
471 * @brief The attribute value denoting the "SMS" type.
472 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
473 * See the programming guide to find the corresponding left operand attribute keys.
476 #define CONTEXT_TRIGGER_SMS "SMS"
479 * @brief The attribute value denoting the "MMS" type.
480 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
481 * See the programming guide to find the corresponding left operand attribute keys.
484 #define CONTEXT_TRIGGER_MMS "MMS"
487 * @brief The attribute value denoting the "detected" event.
488 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
489 * See the programming guide to find the corresponding left operand attribute keys.
492 #define CONTEXT_TRIGGER_DETECTED "Detected"
495 * @brief The attribute value denoting the "in" event.
496 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
497 * See the programming guide to find the corresponding left operand attribute keys.
500 #define CONTEXT_TRIGGER_IN "In"
503 * @brief The attribute value denoting the "out" event.
504 * @details This can be used as right operands of context_trigger_rule_entry_add_comparison_string().@n
505 * See the programming guide to find the corresponding left operand attribute keys.
508 #define CONTEXT_TRIGGER_OUT "Out"
511 * @brief Enumeration of error codes for context trigger API.
515 CONTEXT_TRIGGER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
516 CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid function parameter */
517 CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
518 CONTEXT_TRIGGER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
519 CONTEXT_TRIGGER_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< Not supported */
520 CONTEXT_TRIGGER_ERROR_NO_DATA = TIZEN_ERROR_NO_DATA, /**< No data */
521 CONTEXT_TRIGGER_ERROR_OPERATION_FAILED = (TIZEN_ERROR_CONTEXT | 0x04), /**< Operation failed */
522 CONTEXT_TRIGGER_ERROR_RULE_ENABLED = (TIZEN_ERROR_CONTEXT | 0X05), /**< Rule is enabled */
523 CONTEXT_TRIGGER_ERROR_RULE_NOT_ENABLED = (TIZEN_ERROR_CONTEXT | 0X06), /**< Rule is not enabled */
524 CONTEXT_TRIGGER_ERROR_INVALID_RULE = (TIZEN_ERROR_CONTEXT | 0X07), /**< Invalid rule */
525 CONTEXT_TRIGGER_ERROR_RULE_NOT_EXIST = (TIZEN_ERROR_CONTEXT | 0X08), /**< Rule does not exist */
526 } context_trigger_error_e;
529 * @brief Enumeration for event types.
533 CONTEXT_TRIGGER_EVENT_TIME = 0x10001, /**< At certain times of day and days of week @n Privilege: http://tizen.org/privilege/alarm.set */
534 CONTEXT_TRIGGER_EVENT_BATTERY = 0x10100, /**< Battery level changed */
535 CONTEXT_TRIGGER_EVENT_CHARGER, /**< Charger connected/disconnected */
536 CONTEXT_TRIGGER_EVENT_GPS, /**< GPS state changed */
537 CONTEXT_TRIGGER_EVENT_HEADPHONE, /**< Headphone connected/disconnected */
538 CONTEXT_TRIGGER_EVENT_USB, /**< USB connected/disconnected */
539 CONTEXT_TRIGGER_EVENT_WIFI, /**< WiFi state changed @n Privilege: http://tizen.org/privilege/network.get */
540 CONTEXT_TRIGGER_EVENT_POWER_SAVING_MODE = 0x10200, /**< Power saving mode enabled/disabled */
541 CONTEXT_TRIGGER_EVENT_CALL = 0x10300, /**< Call state changed @n Privilege: http://tizen.org/privilege/telephony */
542 CONTEXT_TRIGGER_EVENT_EMAIL, /**< Email sent/received */
543 CONTEXT_TRIGGER_EVENT_MESSAGE, /**< Message sent/received @n Privilege: http://tizen.org/privilege/message.read */
544 CONTEXT_TRIGGER_EVENT_ACTIVITY_STATIONARY = 0x10400, /**< 'Stationary' activity detected */
545 CONTEXT_TRIGGER_EVENT_ACTIVITY_WALKING, /**< 'Walking' activity detected */
546 CONTEXT_TRIGGER_EVENT_ACTIVITY_RUNNING, /**< 'Running' activity detected */
547 CONTEXT_TRIGGER_EVENT_ACTIVITY_IN_VEHICLE, /**< 'In vehicle' activity detected */
548 CONTEXT_TRIGGER_EVENT_PLACE = 0x10500, /**< Get in/out to/from a specific user place @n Privilege: http://tizen.org/privilege/location */
549 } context_trigger_event_e;
552 * @brief Enumeration for condition types.
556 CONTEXT_TRIGGER_CONDITION_TIME = 0x20001, /**< Time of day */
557 CONTEXT_TRIGGER_CONDITION_BATTERY = 0x20100, /**< Battery level */
558 CONTEXT_TRIGGER_CONDITION_CHARGER, /**< Charger connection */
559 CONTEXT_TRIGGER_CONDITION_GPS, /**< GPS state */
560 CONTEXT_TRIGGER_CONDITION_HEADPHONE, /**< Headphone connection */
561 CONTEXT_TRIGGER_CONDITION_USB, /**< USB connection */
562 CONTEXT_TRIGGER_CONDITION_WIFI, /**< WiFi state @n Privilege: http://tizen.org/privilege/network.get */
563 CONTEXT_TRIGGER_CONDITION_POWER_SAVING_MODE = 0x20200, /**< Power saving mode setting */
564 CONTEXT_TRIGGER_CONDITION_CALL = 0x20300, /**< Call state @n Privilege: http://tizen.org/privilege/telephony */
565 CONTEXT_TRIGGER_CONDITION_APP_USE_FREQUENCY = 0x20600, /**< Frequency of app use @n Privilege: http://tizen.org/privilege/apphistory.read */
566 CONTEXT_TRIGGER_CONDITION_COMMUNICATION_FREQUENCY, /**< Frequency of communication via call or message @n Privilege: http://tizen.org/privilege/callhistory.read */
567 CONTEXT_TRIGGER_CONDITION_MUSIC_PLAYBACK_FREQUENCY, /**< Frequency of music playback @n Privilege: http://tizen.org/privilege/mediahistory.read */
568 CONTEXT_TRIGGER_CONDITION_VIDEO_PLAYBACK_FREQUENCY, /**< Frequency of video playback @n Privilege: http://tizen.org/privilege/mediahistory.read */
569 } context_trigger_condition_e;
572 * @brief Enumeration for logical operation types.
576 CONTEXT_TRIGGER_LOGICAL_CONJUNCTION = 1, /**< Logical conjunction */
577 CONTEXT_TRIGGER_LOGICAL_DISJUNCTION, /**< Logical disjunction */
578 } context_trigger_logical_type_e;
581 * @brief Handle for editing a trigger rule.
584 typedef struct _context_trigger_rule_s* context_trigger_rule_h;
587 * @brief Handle for editing an event or a condition, which is added to a rule.
590 typedef struct _context_trigger_rule_entry_s* context_trigger_rule_entry_h;
593 * @brief Registers a rule.
594 * @details Using this, applications can register a rule and get the ID of the registered rule.@n
595 * A rule only can be enabled, disabled, or removed by the application that has registered the rule.
599 * @privilege http://tizen.org/privilege/alarm.set @n
600 * http://tizen.org/privilege/telephony @n
601 * http://tizen.org/privilege/message.read @n
602 * http://tizen.org/privilege/network.get
604 * @remarks When registering a new rule,
605 * regarding the event and condition items used to compose the rule,
606 * the application may require one or more privileges.
607 * If the application does not have a necessary privilege,
608 * #CONTEXT_TRIGGER_ERROR_PERMISSION_DENIED is returned.
610 * @param[in] rule The rule to register
611 * @param[out] rule_id The ID assigned to the @c rule
613 * @return 0 on success, otherwise a negative error value
614 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
615 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
616 * @retval #CONTEXT_TRIGGER_ERROR_PERMISSION_DENIED Permission denied
617 * @retval #CONTEXT_TRIGGER_ERROR_NOT_SUPPORTED Unsupported event/condition contained
618 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
619 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
620 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
622 * @see context_trigger_remove_rule()
624 int context_trigger_add_rule(context_trigger_rule_h rule, int* rule_id);
627 * @brief Removes a rule.
628 * @details This removes the rule designated by the @c rule_id, which is owned by the application.
631 * @remarks If the rule has been activated, it should be disabled through context_trigger_disable_rule() in advance.
633 * @param[in] rule_id The ID of the rule to be removed
635 * @return 0 on success, otherwise a negative error value
636 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
637 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
638 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
639 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
640 * @retval #CONTEXT_TRIGGER_ERROR_RULE_ENABLED Rule is enabled already
641 * @retval #CONTEXT_TRIGGER_ERROR_RULE_NOT_EXIST Rule does not exist
643 * @see context_trigger_add_rule()
645 int context_trigger_remove_rule(int rule_id);
648 * @brief Enables a rule.
649 * @details This activates the rule designated by the @c rule_id, which is owned by the application.
652 * @param[in] rule_id The ID of the rule to be enabled
654 * @return 0 on success, otherwise a negative error value
655 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
656 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
657 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
658 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
659 * @retval #CONTEXT_TRIGGER_ERROR_RULE_ENABLED Rule is enabled already
660 * @retval #CONTEXT_TRIGGER_ERROR_RULE_NOT_EXIST Rule does not exist
662 * @see context_trigger_disable_rule()
664 int context_trigger_enable_rule(int rule_id);
667 * @brief Disables a rule.
668 * @details This deactivates the rule designated by the @c rule_id, which is owned by the application.
671 * @param[in] rule_id The ID of the rule to be disabled
673 * @return 0 on success, otherwise a negative error value
674 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
675 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
676 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
677 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
678 * @retval #CONTEXT_TRIGGER_ERROR_RULE_NOT_ENABLED Rule is not enabled
679 * @retval #CONTEXT_TRIGGER_ERROR_RULE_NOT_EXIST Rule does not exist
681 * @see context_trigger_enable_rule()
683 int context_trigger_disable_rule(int rule_id);
686 * @brief Gets the IDs of the rules owned by the current application.
689 * @remarks The arrays @c enabled_rule_ids and @c disabled_rule_ids must be released using @c free().
691 * @param[out] enabled_rule_ids The IDs of the active rules
692 * @param[out] enabled_rule_count The number of the active rules
693 * @param[out] disabled_rule_ids The IDs of the inactive rules
694 * @param[out] disabled_rule_count The number of the inactive rules
696 * @return 0 on success, otherwise a negative error value
697 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
698 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
699 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
700 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
703 int context_trigger_get_own_rule_ids(int** enabled_rule_ids, int* enabled_rule_count, int** disabled_rule_ids, int* disabled_rule_count);
706 * @brief Gets a rule stored in the system by rule ID.
709 * @remarks The @c rule must be released using context_trigger_rule_destroy().
711 * @param[in] rule_id The ID of the rule to be retrieved
712 * @param[out] rule The rule retrieved
714 * @return 0 on success, otherwise a negative error value
715 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
716 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
717 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
718 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
719 * @retval #CONTEXT_TRIGGER_ERROR_RULE_NOT_EXIST Rule does not exist
721 int context_trigger_get_rule_by_id(int rule_id, context_trigger_rule_h* rule);
724 * @brief Creates an empty rule.
725 * @details An empty rule container is created. When using this,
726 * a logical operator, one of #context_trigger_logical_type_e, needs to be designated.@n
727 * In case of #CONTEXT_TRIGGER_LOGICAL_CONJUNCTION,
728 * the rule can be satisfied only if all conditions are true.
729 * Otherwise, in case of #CONTEXT_TRIGGER_LOGICAL_DISJUNCTION,
730 * the rule can be satisfied if at least one is true.
733 * @remarks The @c rule must be released using context_trigger_rule_destroy().
735 * @param[in] logical_type The logical operator
736 * @param[out] rule The rule handle to be initialized
738 * @return 0 on success, otherwise a negative error value
739 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
740 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
741 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Memory allocation failed
743 * @see context_trigger_rule_destroy()
745 int context_trigger_rule_create(context_trigger_logical_type_e logical_type, context_trigger_rule_h* rule);
748 * @brief Releases the resources occupied by a rule handle.
751 * @param[in] rule The rule handle to be released
753 * @return 0 on success, otherwise a negative error value
754 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
755 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
757 * @pre context_trigger_rule_create()
758 * @see context_trigger_get_rule_by_id()
760 int context_trigger_rule_destroy(context_trigger_rule_h rule);
763 * @brief Adds an event or a condition to a rule.
766 * @param[in] rule The rule
767 * @param[in] entry The event or condition entry to be added to the rule
769 * @return 0 on success, otherwise a negative error value
770 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
771 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
772 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
773 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
774 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
776 int context_trigger_rule_add_entry(context_trigger_rule_h rule, context_trigger_rule_entry_h entry);
779 * @brief Sets a app launching request as the action of a rule.
780 * @details Contextual Trigger accepts an App Control as the action of a rule,
781 * an application thus can be launched when the rule is satisfied.@n
785 * @privilege http://tizen.org/privilege/appmanager.launch @n
786 * http://tizen.org/privilege/call
788 * @remarks In addition to the privilege http://tizen.org/privilege/appmanager.launch,
789 * if it is an App Control that makes a call to someone,
790 * the privilege http://tizen.org/privilege/call is also required.
791 * @remarks The launch request of the service application is restricted.
792 * The function will return #CONTEXT_TRIGGER_ERROR_INVALID_RULE,
793 * if the launch request is for the service application.
795 * @param[in] rule The rule
796 * @param[in] app_control The App Control, which will be used to launch an application
798 * @return 0 on success, otherwise a negative error value
799 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
800 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
801 * @retval #CONTEXT_TRIGGER_ERROR_PERMISSION_DENIED Permission denied
802 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
803 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
804 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
806 int context_trigger_rule_set_action_app_control(context_trigger_rule_h rule, app_control_h app_control);
809 * @brief Sets a notification posting request as the action of a rule.
810 * @details A basic notification can be posted when the rule is satisfied,
811 * which consists of the title, a content body text, an icon, and an App Control.
815 * @privilege http://tizen.org/privilege/notification
817 * @remarks The @c app_control can be @c NULL. In that case, no application will be launched via the notification.
819 * @param[in] rule The rule
820 * @param[in] title The title text
821 * @param[in] content The content body text
822 * @param[in] icon_path The icon file path
823 * @param[in] app_control The app control
825 * @return 0 on success, otherwise a negative error value
826 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
827 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
828 * @retval #CONTEXT_TRIGGER_ERROR_PERMISSION_DENIED Permission denied
829 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
830 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
831 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
833 int context_trigger_rule_set_action_notification(context_trigger_rule_h rule, const char* title, const char* content, const char* icon_path, app_control_h app_control);
836 * @brief Sets the description of a rule.
839 * @param[in] rule The rule
840 * @param[in] description The description to be set
842 * @return 0 on success, otherwise a negative error value
843 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
844 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
845 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
846 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
848 * @see context_trigger_rule_get_description()
850 int context_trigger_rule_set_description(context_trigger_rule_h rule, const char* description);
853 * @brief Gets the description of a rule.
856 * @remarks The @c description must be released using @c free().
858 * @param[in] rule The rule
859 * @param[out] description The description of the rule
861 * @return 0 on success, otherwise a negative error value
862 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
863 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
864 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
865 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
867 * @see context_trigger_rule_set_description()
869 int context_trigger_rule_get_description(context_trigger_rule_h rule, char** description);
872 * @brief Creates an event entry.
873 * @details An event of a contextual event item, which will be monitored by the system, is created.
876 * @remarks The @c entry must be released using context_trigger_rule_entry_destroy().
878 * @param[in] event_item The contextual event item
879 * @param[in] logical_type The logical operator
880 * @param[out] entry The event entry to be initialized
882 * @return 0 on success, otherwise a negative error value
883 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
884 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
885 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Memory allocation failed
887 * @see context_trigger_rule_entry_destroy()
889 int context_trigger_rule_event_create(context_trigger_event_e event_item, context_trigger_logical_type_e logical_type, context_trigger_rule_entry_h* entry);
892 * @brief Checks whether a contextual event is supported in the current device.
895 * @param[in] event_item The contextual event item
896 * @param[out] supported If supported, @c true; Otherwise, @c false
898 * @return 0 on success, otherwise a negative error value
899 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
900 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
901 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
903 int context_trigger_rule_event_is_supported(context_trigger_event_e event_item, bool* supported);
906 * @brief Creates a condition entry.
907 * @details A condition of a contextual condition item is created.
910 * @remarks The @c entry must be released using context_trigger_rule_entry_destroy().
912 * @param[in] condition_item The contextual condition item
913 * @param[in] logical_type The logical operator
914 * @param[out] entry The condition entry to be initialized
916 * @return 0 on success, otherwise a negative error value
917 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
918 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
919 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Memory allocation failed
921 * @see context_trigger_rule_entry_destroy()
923 int context_trigger_rule_condition_create(context_trigger_condition_e condition_item, context_trigger_logical_type_e logical_type, context_trigger_rule_entry_h* entry);
926 * @brief Checks whether a contextual condition is supported in the current device.
929 * @param[in] condition_item The contextual condition item
930 * @param[out] supported If supported, @c true; Otherwise, @c false
932 * @return 0 on success, otherwise a negative error value
933 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
934 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
935 * @retval #CONTEXT_TRIGGER_ERROR_OPERATION_FAILED Operation failed
937 int context_trigger_rule_condition_is_supported(context_trigger_condition_e condition_item, bool* supported);
940 * @brief Releases the resource occupied by an entry.
943 * @param[in] entry The event or condition entry
945 * @return 0 on success, otherwise a negative error value
946 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
947 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
949 * @pre context_trigger_rule_event_create()
950 * @pre context_trigger_rule_condition_create()
952 int context_trigger_rule_entry_destroy(context_trigger_rule_entry_h entry);
955 * @brief Sets an integer type option to an event or condition entry.
956 * @details See the programming guide to find available option keys for each event/condition item.
959 * @param[in] entry The event or condition entry
960 * @param[in] option_key The option key
961 * @param[in] value The option value
963 * @return 0 on success, otherwise a negative error value
964 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
965 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
966 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
967 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
969 * @see context_trigger_rule_entry_add_option()
970 * @see context_trigger_rule_entry_add_option_string()
972 int context_trigger_rule_entry_add_option_int(context_trigger_rule_entry_h entry, const char* option_key, int value);
975 * @brief Sets a string type option to an event or condition entry.
976 * @details See the programming guide to find available option keys for each event/condition item.
979 * @param[in] entry The event or condition entry
980 * @param[in] option_key The option key
981 * @param[in] value The option value
983 * @return 0 on success, otherwise a negative error value
984 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
985 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
986 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
987 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
989 * @see context_trigger_rule_entry_add_option()
990 * @see context_trigger_rule_entry_add_option_int()
992 int context_trigger_rule_entry_add_option_string(context_trigger_rule_entry_h entry, const char* option_key, const char* value);
995 * @brief Sets an option to a condition entry, which references an attribute that will be extracted from the event.
996 * @details See the programming guide to find available option keys for each condition item.
999 * @param[in] entry The condition entry
1000 * @param[in] option_key The option key
1001 * @param[in] event_data_key The event data key of which the corresponding data value will be used as the option parameter
1003 * @return 0 on success, otherwise a negative error value
1004 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
1005 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
1006 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
1007 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
1009 * @see context_trigger_rule_entry_add_option_int()
1010 * @see context_trigger_rule_entry_add_option_string()
1012 int context_trigger_rule_entry_add_option(context_trigger_rule_entry_h entry, const char* option_key, const char* event_data_key);
1015 * @brief Adds an attribute key to an entry.
1016 * @details The key will be used as the left operand of comparisons.
1017 * See the programming guide to find available attribute keys for each event/condition item.
1020 * @param[in] entry The event or condition entry
1021 * @param[in] logical_type The logical operator
1022 * @param[in] key The attribute key
1024 * @return 0 on success, otherwise a negative error value
1025 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
1026 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
1027 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
1028 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
1030 * @post context_trigger_rule_entry_add_comparison()
1031 * @post context_trigger_rule_entry_add_comparison_int()
1032 * @post context_trigger_rule_entry_add_comparison_string()
1034 int context_trigger_rule_entry_add_key(context_trigger_rule_entry_h entry, context_trigger_logical_type_e logical_type, const char* key);
1037 * @brief Adds a comparison between an attribute key and an integer.
1038 * @details The key needs to be registered in advance, via context_trigger_rule_entry_add_key().
1039 * As the comparison operator, one of the following operators is allowed:
1040 * #CONTEXT_TRIGGER_EQUAL_TO, #CONTEXT_TRIGGER_NOT_EQUAL_TO, #CONTEXT_TRIGGER_LESS_THAN,
1041 * #CONTEXT_TRIGGER_GREATER_THAN, #CONTEXT_TRIGGER_LESS_THAN_OR_EQUAL_TO
1042 * and #CONTEXT_TRIGGER_GREATER_THAN_OR_EQUAL_TO.
1045 * @param[in] entry The event or condition entry
1046 * @param[in] key The attribute key, which will be used as the left operand
1047 * @param[in] comp_operator The comparison operator
1048 * @param[in] value The right operand value
1050 * @return 0 on success, otherwise a negative error value
1051 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
1052 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
1053 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
1054 * @retval #CONTEXT_TRIGGER_ERROR_NO_DATA The key was not added in the entry
1055 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
1057 * @pre context_trigger_rule_entry_add_key()
1058 * @see context_trigger_rule_entry_add_comparison()
1059 * @see context_trigger_rule_entry_add_comparison_string()
1061 int context_trigger_rule_entry_add_comparison_int(context_trigger_rule_entry_h entry, const char* key, const char* comp_operator, int value);
1064 * @brief Adds a comparison between an attribute key and a string.
1065 * @details The key needs to be registered in advance, via context_trigger_rule_entry_add_key().
1066 * As the comparison operator, one of the following operators is allowed:
1067 * #CONTEXT_TRIGGER_EQUAL_TO and #CONTEXT_TRIGGER_NOT_EQUAL_TO.
1070 * @param[in] entry The event or condition entry
1071 * @param[in] key The attribute key, which will be used as the left operand
1072 * @param[in] comp_operator The comparison operator
1073 * @param[in] value The right operand value
1075 * @return 0 on success, otherwise a negative error value
1076 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
1077 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
1078 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
1079 * @retval #CONTEXT_TRIGGER_ERROR_NO_DATA The key was not added in the entry
1080 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
1082 * @pre context_trigger_rule_entry_add_key()
1083 * @see context_trigger_rule_entry_add_comparison()
1084 * @see context_trigger_rule_entry_add_comparison_int()
1086 int context_trigger_rule_entry_add_comparison_string(context_trigger_rule_entry_h entry, const char* key, const char* comp_operator, const char* value);
1089 * @brief Adds a comparison between an attribute of a condition and an attribute extracted from the event.
1090 * @details The key needs to be registered in advance, via context_trigger_rule_entry_add_key().
1093 * @param[in] entry The condition entry
1094 * @param[in] key The attribute key of the condition, which will be used as the left operand
1095 * @param[in] comp_operator The comparison operator
1096 * @param[in] event_data_key The event data key of which the corresponding data value will be used as the right operand
1098 * @return 0 on success, otherwise a negative error value
1099 * @retval #CONTEXT_TRIGGER_ERROR_NONE Successful
1100 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_PARAMETER Invalid parameter
1101 * @retval #CONTEXT_TRIGGER_ERROR_OUT_OF_MEMORY Out of memory
1102 * @retval #CONTEXT_TRIGGER_ERROR_NO_DATA The key was not added in the entry
1103 * @retval #CONTEXT_TRIGGER_ERROR_INVALID_RULE Invalid rule
1105 * @pre context_trigger_rule_entry_add_key()
1106 * @see context_trigger_rule_entry_add_comparison_int()
1107 * @see context_trigger_rule_entry_add_comparison_string()
1109 int context_trigger_rule_entry_add_comparison(context_trigger_rule_entry_h entry, const char* key, const char* comp_operator, const char* event_data_key);
1113 #endif /* __cplusplus */
1119 #endif /* __TIZEN_CONTEXT_CONTEXT_TRIGGER_H__ */