Fix Asan build errors (#281)
[platform/upstream/iotivity.git] / service / notification / src / provider / NSProviderMemoryCache.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_CACHEADAPTER__H_\r
22 #define _NS_PROVIDER_CACHEADAPTER__H_\r
23 \r
24 #include <pthread.h>\r
25 #include <stdbool.h>\r
26 \r
27 #include "NSCommon.h"\r
28 #include "NSConstants.h"\r
29 #include "NSStructs.h"\r
30 #include "oic_malloc.h"\r
31 #include "oic_string.h"\r
32 #include "NSUtil.h"\r
33 \r
34 NSCacheList * NSProviderStorageCreate();\r
35 NSCacheElement * NSProviderStorageRead(NSCacheList * list, const char * findId);\r
36 NSResult NSProviderStorageWrite(NSCacheList * list, NSCacheElement * newObj);\r
37 NSResult NSProviderStorageDelete(NSCacheList * list, const char * delId);\r
38 NSResult NSProviderStorageDestroy(NSCacheList * list);\r
39 \r
40 NSResult NSProviderDeleteCacheData(NSCacheType, void *);\r
41 \r
42 bool NSProviderCompareIdCacheData(NSCacheType, void *, const char *);\r
43 \r
44 bool NSProviderIsFoundCacheData(NSCacheType, void *, void*);\r
45 \r
46 NSResult NSCacheUpdateSubScriptionState(NSCacheList *, char *, bool);\r
47 \r
48 NSResult NSProviderDeleteSubDataFromObId(NSCacheList * list, OCObservationId id);\r
49 \r
50 NSTopicLL * NSProviderGetTopicsCacheData(NSCacheList * regTopicList);\r
51 \r
52 NSTopicLL * NSProviderGetConsumerTopicsCacheData(NSCacheList * regTopicList,\r
53         NSCacheList * conTopicList, const char * consumerId);\r
54 \r
55 bool NSProviderIsTopicSubScribed(NSCacheElement * conTopicList, char * cId, char * topicName);\r
56 \r
57 NSResult NSProviderDeleteConsumerTopic(NSCacheList * conTopicList,\r
58         NSCacheTopicSubData * topicSubData);\r
59 \r
60 extern pthread_mutex_t NSCacheMutex;\r
61 extern pthread_mutexattr_t NSCacheMutexAttr;\r
62 \r
63 #endif /* _NS_PROVIDER_CACHEADAPTER__H_ */\r