Fix Asan build errors (#281)
[platform/upstream/iotivity.git] / service / notification / src / provider / NSProviderTopic.h
1 //******************************************************************\r
2 //\r
3 // Copyright 2016 Samsung Electronics All Rights Reserved.\r
4 //\r
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
6 //\r
7 // Licensed under the Apache License, Version 2.0 (the "License");\r
8 // you may not use this file except in compliance with the License.\r
9 // You may obtain a copy of the License at\r
10 //\r
11 //      http://www.apache.org/licenses/LICENSE-2.0\r
12 //\r
13 // Unless required by applicable law or agreed to in writing, software\r
14 // distributed under the License is distributed on an "AS IS" BASIS,\r
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16 // See the License for the specific language governing permissions and\r
17 // limitations under the License.\r
18 //\r
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
20 \r
21 #ifndef _NS_PROVIDER_TOPIC_H_\r
22 #define _NS_PROVIDER_TOPIC_H_\r
23 \r
24 #include "NSCommon.h"\r
25 #include "NSStructs.h"\r
26 #include "NSConstants.h"\r
27 #include "NSProviderScheduler.h"\r
28 #include "NSProviderResource.h"\r
29 #include "NSProviderSubscription.h"\r
30 \r
31 typedef struct {\r
32     pthread_cond_t * condition;\r
33     pthread_mutex_t * mutex;\r
34     char * consumerId;\r
35     NSTopicLL * topics;\r
36 } NSTopicSync;\r
37 \r
38 typedef struct {\r
39     pthread_cond_t * condition;\r
40     pthread_mutex_t * mutex;\r
41     void * topicData;\r
42     NSResult result;\r
43 } NSTopicSyncResult;\r
44 \r
45 extern NSCacheList * consumerTopicList;\r
46 extern NSCacheList * registeredTopicList;\r
47 \r
48 NSResult NSInitTopicList();\r
49 NSTopicList * NSGetTopics(char *consumerId);\r
50 \r
51 bool NSIsTopicSubscribed(char *consumerId, char *topic);\r
52 \r
53 #endif /* _NS_PROVIDER_TOPIC_H_ */\r