2 * Copyright (c) 2016 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 _CONTEXT_PROVIDER_LIST_H_
18 #define _CONTEXT_PROVIDER_LIST_H_
20 #include <ContextProvider.h>
21 #include <ProviderTypes.h>
22 #include <MyPlaceTypes.h>
23 #include <SensorRecorderTypes.h>
25 #define LIB_PREFIX "/context-service/libctx-prvd-"
26 #define LIB_EXTENSION ".so"
28 /* CtxJson1 Formats */
29 #define TRIG_DEF_RANK "\"Rank\":{\"type\":\"integer\",\"minimum\":1}"
30 #define TRIG_DEF_TOTAL_COUNT "\"TotalCount\":{\"type\":\"integer\",\"minimum\":0}"
31 #define TRIG_DEF_TIME_OF_DAY "\"TimeOfDay\":{\"type\":\"string\"}"
32 #define TRIG_DEF_DAY_OF_WEEK "\"DayOfWeek\":{\"enum\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\",\"Weekday\",\"Weekend\"]}"
33 #define TRIG_BOOL_ITEM_DEF(sbj) "\"" sbj "\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":1}"
38 } subjectLibraryList[] = {
39 {SUBJ_ACTIVITY, "activity"},
40 {SUBJ_APP_STATS, "app-stats"},
41 {SUBJ_BATTERY_STATS, "battery-stats"},
42 {SUBJ_STATE_CALL, "call"},
43 {SUBJ_STATE_CONTACTS, "contacts"},
44 {SUBJ_CUSTOM, "custom"},
45 {SUBJ_STATE_EMAIL, "email"},
46 {SUBJ_PLACE_GEOFENCE, "geofence"},
47 {SUBJ_STATE_HEADPHONE, "headphone"},
48 {SUBJ_MEDIA_LOGGER, "media-stats"},
49 {SUBJ_MUSIC_STATS, "media-stats"},
50 {SUBJ_VIDEO_STATS, "media-stats"},
51 {SUBJ_STATE_MESSAGE, "message"},
52 {SUBJ_PLACE_DETECTION, "my-place"},
53 {SUBJ_SENSOR, "sensor"},
54 {SUBJ_SOCIAL_STATS, "social-stats"},
55 {SUBJ_STATE_BATTERY, "system"},
56 {SUBJ_STATE_CHARGER, "system"},
57 {SUBJ_STATE_USB, "system"},
58 {SUBJ_STATE_GPS, "system"},
59 {SUBJ_STATE_PSMODE, "system"},
60 {SUBJ_STATE_ALARM, "time"},
61 {SUBJ_STATE_TIME, "time"},
62 {SUBJ_STATE_WIFI, "wifi"}
68 const char *attribute;
70 } triggerTemplateList[] = {
74 "{\"Event\":{\"enum\":[\"Detected\"]}}",
75 "{\"Accuracy\":{\"enum\":[\"Low\",\"Normal\",\"High\"]}}"
80 "{" TRIG_DEF_RANK "," TRIG_DEF_TOTAL_COUNT "}",
82 "\"AppId\":{\"type\":\"string\"},"
83 TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK
88 OPS_SUBSCRIBE | OPS_READ,
89 /* TODO remove Connecting, Connected */
91 "\"Medium\":{\"enum\":[\"Voice\",\"Video\"]},"
92 "\"State\":{\"enum\":[\"Idle\",\"Connecting\",\"Connected\"]},"
93 "\"Address\":{\"type\":\"string\"}"
101 "\"Event\":{\"enum\":[\"Changed\"]},"
102 "\"Type\":{\"enum\":[\"MyProfile\",\"Person\"]}"
116 "\"Event\":{\"enum\":[\"Received\",\"Sent\"]}"
124 "\"Event\":{\"enum\":[\"In\",\"Out\"]}"
127 "\"PlaceId\":{\"type\":\"integer\",\"minimum\":1}"
131 SUBJ_STATE_HEADPHONE,
132 OPS_SUBSCRIBE | OPS_READ,
134 TRIG_BOOL_ITEM_DEF("IsConnected") ","
135 "\"Type\":{\"enum\":[\"Normal\",\"Headset\",\"Bluetooth\"]}"
140 SUBJ_MUSIC_FREQUENCY,
142 "{" TRIG_DEF_TOTAL_COUNT "}",
143 "{" TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK "}"
146 SUBJ_VIDEO_FREQUENCY,
148 "{" TRIG_DEF_TOTAL_COUNT "}",
149 "{" TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK "}"
155 "\"Event\":{\"enum\":[\"Received\"]},"
156 "\"Type\":{\"enum\":[\"SMS\",\"MMS\"]},"
157 "\"Address\":{\"type\":\"string\"}"
162 SUBJ_SOCIAL_FREQUENCY,
164 "{" TRIG_DEF_RANK "," TRIG_DEF_TOTAL_COUNT "}",
166 "\"Address\":{\"type\":\"string\"},"
167 TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK
172 OPS_SUBSCRIBE | OPS_READ,
174 "\"Level\":{\"enum\":[\"Empty\",\"Critical\",\"Low\",\"Normal\",\"High\",\"Full\"]},"
175 TRIG_BOOL_ITEM_DEF("IsCharging")
181 OPS_SUBSCRIBE | OPS_READ,
182 "{" TRIG_BOOL_ITEM_DEF("IsConnected") "}",
187 OPS_SUBSCRIBE | OPS_READ,
189 "\"State\":{\"enum\":[\"Disabled\",\"Searching\",\"Connected\"]}"
195 OPS_SUBSCRIBE | OPS_READ,
196 "{" TRIG_BOOL_ITEM_DEF("IsEnabled") "}",
201 OPS_SUBSCRIBE | OPS_READ,
202 "{" TRIG_BOOL_ITEM_DEF("IsConnected") "}",
209 "\"TimeOfDay\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":1439},"
210 "\"DayOfWeek\":{\"enum\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\",\"Weekday\",\"Weekend\"]}"
218 "\"TimeOfDay\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":1439},"
219 "\"DayOfWeek\":{\"enum\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\",\"Weekday\",\"Weekend\"]},"
220 "\"DayOfMonth\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":31}"
226 OPS_SUBSCRIBE | OPS_READ,
228 "\"State\":{\"enum\":[\"Disabled\",\"Unconnected\",\"Connected\"]},"
229 "\"BSSID\":{\"type\":\"string\"}"
235 #endif /* _CONTEXT_PROVIDER_TYPES_H_ */