1 //******************************************************************
3 // Copyright 2016 Samsung Electronics All Rights Reserved.
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21 #ifndef _NS_CONSTANTS_H_
22 #define _NS_CONSTANTS_H_
24 #define __NS_FILE__ ( strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__ )
28 #define NS_LOG_V(level, format, ...) (OIC_LOG_V((level), __NS_FILE__, (format), __VA_ARGS__))
29 #define NS_LOG(level, msg) (OIC_LOG((level), __NS_FILE__, (msg)))
32 #define NS_CONVERT_LEVEL(level) ( \
33 ((level) == 0) ? "DEBUG" : \
34 ((level) == 1) ? "INFO" : \
35 ((level) == 2) ? "WARNING" : \
36 ((level) == 3) ? "ERROR" : "FATAL")
37 #define NS_LOG_V(level, format, ...) \
39 printf("%s: %s ", NS_CONVERT_LEVEL(level), __NS_FILE__); \
40 printf((format), __VA_ARGS__); \
43 #define NS_LOG(level, msg) \
45 printf("%s: %s ", NS_CONVERT_LEVEL(level), __NS_FILE__); \
51 #define NS_TAG "IOT_NOTI"
54 #define THREAD_COUNT 5
57 #define NOTIOBJ_TITLE_KEY "title"
58 #define NOTIOBJ_ID_KEY "id"
59 #define NOTOOBJ_CONTENT_KEY "contentText"
61 #define DISCOVERY_TAG "NS_PROVIDER_DISCOVERY"
62 #define SUBSCRIPTION_TAG "NS_PROVIDER_SUBSCRIPTION"
63 #define INTERFACE_TAG "NS_PROVIDER_INTERFACE"
64 #define NOTIFICATION_TAG "NS_PROVIDER_NOTIFICATION"
65 #define SCHEDULER_TAG "NS_PROVIDER_SCHEDULER"
66 #define LISTENER_TAG "NS_PROVIDER_LISTENER"
67 #define RESOURCE_TAG "NS_PROVIDER_RESOURCE"
68 #define TOPIC_TAG "NS_PROVIDER_TOPIC"
70 #define NS_ROOT_TYPE "oic.r.notification"
71 #define NS_COLLECTION_MESSAGE_TYPE "oic.r.notification.message"
72 #define NS_COLLECTION_SYNC_TYPE "oic.r.notification.sync"
73 #define NS_COLLECTION_TOPIC_TYPE "oic.r.notification.topic"
75 #define NS_DEFAULT_INTERFACE "oic.if.baseline"
77 #define NS_ROOT_URI "/notification"
78 #define NS_COLLECTION_MESSAGE_URI "/notification/message"
79 #define NS_COLLECTION_SYNC_URI "/notification/sync"
80 #define NS_COLLECTION_TOPIC_URI "/notification/topic"
82 #define NS_QUERY_SEPARATOR "&;"
83 #define NS_KEY_VALUE_DELIMITER "="
85 #define NS_QUERY_CONSUMER_ID "consumerid"
86 #define NS_QUERY_PROVIDER_ID "providerid"
88 #define NS_QUERY_ID_SIZE 10
90 #define NS_POLICY_PROVIDER 1
91 #define NS_POLICY_CONSUMER 0
93 #define NS_RD_PUBLISH_QUERY "/oic/rd?rt=oic.wk.rdpub"
95 #define NS_VERIFY_NOT_NULL_V(obj) \
99 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
104 #define NS_VERIFY_NOT_NULL(obj, retVal) \
108 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
113 #define NS_VERIFY_NOT_NULL_WITH_POST_CLEANING_V(obj, func) \
117 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
118 NS_LOG(ERROR, "execute deletion"); \
124 #define NS_VERIFY_NOT_NULL_WITH_POST_CLEANING(obj, retVal, func) \
128 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
129 NS_LOG(ERROR, "execute deletion"); \
135 #define NS_VERIFY_STACK_SUCCESS_V(obj) \
140 NS_LOG_V(ERROR, "%s : %s is not OC_STACK_OK : %d", __func__, #obj, _ret); \
145 #define NS_VERIFY_STACK_SUCCESS(obj, retVal) \
150 NS_LOG_V(ERROR, "%s : %s is not OC_STACK_OK : %d", __func__, #obj, _ret); \
155 #define NS_VERIFY_STACK_SUCCESS_WITH_POST_CLEANING(obj, retVal, func) \
160 NS_LOG_V(ERROR, "%s : %s is not OC_STACK_OK : %d", __func__, #obj, _ret); \
166 #define NSOICFree(obj) \
172 NS_LOG_V(DEBUG, "%s : %s Removed", __func__, #obj); \
177 typedef enum eConnectionState
184 typedef enum eSchedulerType
186 CALLBACK_RESPONSE_SCHEDULER = 0,
187 DISCOVERY_SCHEDULER = 1,
188 SUBSCRIPTION_SCHEDULER = 2,
189 NOTIFICATION_SCHEDULER = 3,
193 typedef enum eTaskType
195 TASK_REGISTER_RESOURCE = 1000,
196 TASK_PUBLISH_RESOURCE = 1001,
198 TASK_START_PRESENCE = 2000,
199 TASK_STOP_PRESENCE = 2001,
201 TASK_RECV_SUBSCRIPTION = 3000,
202 TASK_RECV_UNSUBSCRIPTION = 3001,
203 TASK_SEND_POLICY = 3002,
204 TASK_SEND_ALLOW = 3003,
205 TASK_SEND_DENY = 3004,
206 TASK_SYNC_SUBSCRIPTION = 3005,
208 TASK_SEND_NOTIFICATION = 4000,
209 TASK_SEND_PENDING_NOTI = 4001,
211 TASK_RECV_SYNCINFO = 5000,
212 TASK_RECV_READ = 5001,
213 TASK_RECV_DISMISS = 5003,
214 TASK_SEND_SYNCINFO = 5099,
215 TASK_MAKE_SYNCINFO = 5100,
216 TASK_SEND_READ = 5101,
217 TASK_SEND_DISMISS = 5102,
219 TASK_CONSUMER_REQ_DISCOVER = 8001,
220 TASK_CONSUMER_REQ_SUBSCRIBE = 8002,
221 TASK_CONSUMER_REQ_SUBSCRIBE_CANCEL = 8003,
222 TASK_CONSUMER_RECV_SUBSCRIBE_CONFIRMED = 8004,
223 TASK_CONSUMER_RECV_PROVIDER_CHANGED = 8005,
224 TASK_CONSUMER_RECV_MESSAGE = 8101,
226 TASK_CONSUMER_PROVIDER_DISCOVERED = 8201,
227 TASK_CONSUMER_PROVIDER_DELETED = 8202,
228 TASK_CONSUMER_RECV_CONFIRM = 8206,
230 TASK_CONSUMER_REQ_TOPIC_URI = 8299,
231 TASK_CONSUMER_REQ_TOPIC_LIST = 8300,
232 TASK_CONSUMER_RECV_TOPIC_LIST = 8031,
233 TASK_CONSUMER_GET_TOPIC_LIST = 8302,
234 TASK_CONSUMER_SELECT_TOPIC_LIST = 8303,
236 TASK_EVENT_CONNECTED = 9000,
237 TASK_EVENT_CONNECTED_TCP = 9001,
238 TASK_EVENT_DISCONNECTED = 9002,
240 TASK_CB_SUBSCRIPTION = 10000,
241 TASK_CB_SYNC = 10001,
243 TASK_SEND_TOPICS = 11000,
244 TASK_SUBSCRIBE_TOPICS = 11001,
245 TASK_REGISTER_TOPICS = 11002,
251 NS_CONSUMER_BLACKLIST = 0,
252 NS_CONSUMER_WHITELIST = 1,
256 typedef enum eCacheType
258 NS_PROVIDER_CACHE_SUBSCRIBER = 1000,
259 NS_PROVIDER_CACHE_MESSAGE = 1001,
260 NS_PROVIDER_CACHE_TOPIC = 1002,
262 NS_CONSUMER_CACHE_PROVIDER = 2000,
263 NS_CONSUMER_CACHE_MESSAGE = 2001,
266 typedef enum eResourceType
268 NS_RESOURCE_MESSAGE = 1000,
269 NS_RESOURCE_SYNC = 1001,
270 NS_RESOURCE_TOPIC = 1002,
273 #endif /* _NS_CONSTANTS_H_ */