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_PROVIDER_RESOURCE_H_
22 #define _NS_PROVIDER_RESOURCE_H_
27 #include "NSProviderListener.h"
28 #include "NSProviderSystem.h"
29 #include "oic_malloc.h"
30 #include "oic_string.h"
32 #define NS_CREATE_RESOURCE(func, obj) \
34 NSResult _ret = (func); \
37 NS_LOG_V(ERROR, "%s : %s", __func__, #obj); \
42 #define NS_DELETE_RESOURCE(func, obj) \
44 OCStackResult _ret = (func); \
45 if ( _ret != OC_STACK_OK) \
47 NS_LOG_V(ERROR, "%s : %s", __func__, #obj); \
52 NSResult NSCreateResource(char *uri);
54 NSResult NSPublishResourceToCloud(char *host);
56 NSResult NSRegisterResource();
58 NSResult NSUnRegisterResource();
60 NSResult NSPutNotificationResource(bool policy, OCResourceHandle * handle);
62 NSResult NSPutMessageResource(NSMessage *msg, OCResourceHandle * handle);
64 NSResult NSPutSyncResource(NSSyncInfo *sync, OCResourceHandle * handle);
66 NSResult NSPutTopicResource(NSTopicList *topicList, OCResourceHandle * handle);
68 #endif /* _NS_PROVIDER_RESOURCE_H_ */