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_CONSUMER_CONSTANTS_H_
22 #define _NS_CONSUMER_CONSTANTS_H_
32 #include "NSStructs.h"
34 #include "NSConsumerInterface.h"
36 #define NS_QOS OC_LOW_QOS
37 #define NS_RESOURCE_TYPE "oic.r.notification"
38 #define NS_RESOURCE_URI "/notification"
39 #define NS_INTERFACE_BASELINE "oic.if.baseline"
40 #define NS_INTERFACE_NOTIFICATION "oic.if.notification"
41 #define NS_RESOURCE_QUERY "/oic/res"
43 #define NS_DISCOVER_QUERY "/oic/res?rt=oic.r.notification"
45 typedef OCStackApplicationResult (*onRIResponseListener)(
46 void *, OCDoHandle, OCClientResponse *);
53 } NSConsumerMessageTypes;
66 NSConsumerMessageTypes type;
69 bool NSIsStartedConsumer();
70 void NSSetIsStartedConsumer(bool setValue);
72 void NSSetDiscoverProviderCb(NSProviderDiscoveredCallback cb);
73 void NSDiscoveredProvider(NSProvider * handle);
75 void NSSetNotificationPostedCb(NSNotificationReceivedCallback cb);
76 void NSNotificationPost(NSProvider * provider, NSMessage * obj);
78 void NSSetNotificationSyncCb(NSSyncCallback cb);
79 void NSNotificationSync(NSProvider * provider, NSSync * sync);
81 onRIResponseListener NSGetResponseListener();
82 void NSSetResponseListener(onRIResponseListener cb);
84 NSTask * NSMakeTask(NSTaskType, void *);
86 NSResult NSConsumerPushEvent(NSTask *);
88 NSMessage_consumer * NSCopyMessage(NSMessage_consumer *);
89 void NSRemoveMessage(NSMessage_consumer *);
91 OCStackResult NSRequestToResourceIntrospection(OCDoHandle * handle,
92 OCMethod method, const OCDevAddr * addr,
93 const char * queryUrl, OCPayload * payload, void * callback);
99 #endif // _NS_CONSUMER_CONSTANTS_H_