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_VERIFY_NOT_NULL_V(obj) \
97 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
102 #define NS_VERIFY_NOT_NULL(obj, retVal) \
106 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
111 #define NS_VERIFY_NOT_NULL_WITH_POST_CLEANING_V(obj, func) \
115 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
116 NS_LOG(ERROR, "execute deletion"); \
122 #define NS_VERIFY_NOT_NULL_WITH_POST_CLEANING(obj, retVal, func) \
126 NS_LOG_V(ERROR, "%s : %s is null", __func__, #obj); \
127 NS_LOG(ERROR, "execute deletion"); \
133 #define NS_VERIFY_STACK_SUCCESS_V(obj) \
138 NS_LOG_V(ERROR, "%s : %s is not OC_STACK_OK : %d", __func__, #obj, _ret); \
143 #define NS_VERIFY_STACK_SUCCESS(obj, retVal) \
148 NS_LOG_V(ERROR, "%s : %s is not OC_STACK_OK : %d", __func__, #obj, _ret); \
153 #define NS_VERIFY_STACK_SUCCESS_WITH_POST_CLEANING(obj, retVal, func) \
158 NS_LOG_V(ERROR, "%s : %s is not OC_STACK_OK : %d", __func__, #obj, _ret); \
164 #define NSOICFree(obj) \
170 NS_LOG_V(DEBUG, "%s : %s Removed", __func__, #obj); \
175 typedef enum eConnectionState
182 typedef enum eSchedulerType
184 CALLBACK_RESPONSE_SCHEDULER = 0,
185 DISCOVERY_SCHEDULER = 1,
186 SUBSCRIPTION_SCHEDULER = 2,
187 NOTIFICATION_SCHEDULER = 3,
191 typedef enum eTaskType
193 TASK_REGISTER_RESOURCE = 1000,
194 TASK_PUBLISH_RESOURCE = 1001,
196 TASK_START_PRESENCE = 2000,
197 TASK_STOP_PRESENCE = 2001,
199 TASK_RECV_SUBSCRIPTION = 3000,
200 TASK_RECV_UNSUBSCRIPTION = 3001,
201 TASK_SEND_POLICY = 3002,
202 TASK_SEND_ALLOW = 3003,
203 TASK_SEND_DENY = 3004,
204 TASK_SYNC_SUBSCRIPTION = 3005,
206 TASK_SEND_NOTIFICATION = 4000,
207 TASK_SEND_PENDING_NOTI = 4001,
209 TASK_RECV_SYNCINFO = 5000,
210 TASK_RECV_READ = 5001,
211 TASK_RECV_DISMISS = 5003,
212 TASK_SEND_SYNCINFO = 5099,
213 TASK_MAKE_SYNCINFO = 5100,
214 TASK_SEND_READ = 5101,
215 TASK_SEND_DISMISS = 5102,
217 TASK_CONSUMER_REQ_DISCOVER = 8001,
218 TASK_CONSUMER_REQ_SUBSCRIBE = 8002,
219 TASK_CONSUMER_REQ_SUBSCRIBE_CANCEL = 8003,
220 TASK_CONSUMER_RECV_SUBSCRIBE_CONFIRMED = 8004,
221 TASK_CONSUMER_RECV_MESSAGE = 8101,
223 TASK_CONSUMER_PROVIDER_DISCOVERED = 8201,
224 TASK_CONSUMER_PROVIDER_DELETED = 8202,
225 TASK_CONSUMER_RECV_CONFIRM = 8206,
227 TASK_EVENT_CONNECTED = 9000,
228 TASK_EVENT_CONNECTED_TCP = 9001,
229 TASK_EVENT_DISCONNECTED = 9002,
231 TASK_CB_SUBSCRIPTION = 10000,
232 TASK_CB_SYNC = 10001,
234 TASK_SEND_TOPICS = 11000,
235 TASK_SELECT_TOPICS = 11001,
236 TASK_SET_TOPICS = 11002,
242 NS_CONSUMER_BLACKLIST = 0,
243 NS_CONSUMER_WHITELIST = 1,
247 typedef enum eCacheType
249 NS_PROVIDER_CACHE_SUBSCRIBER = 1000,
250 NS_PROVIDER_CACHE_MESSAGE = 1001,
251 NS_PROVIDER_CACHE_TOPIC = 1002,
253 NS_CONSUMER_CACHE_PROVIDER = 2000,
254 NS_CONSUMER_CACHE_MESSAGE = 2001,
257 typedef enum eResourceType
259 NS_RESOURCE_MESSAGE = 1000,
260 NS_RESOURCE_SYNC = 1001,
261 NS_RESOURCE_TOPIC = 1002,
264 typedef enum eResponse
273 #endif /* _NS_CONSTANTS_H_ */