1 //******************************************************************
3 // Copyright 2014 Intel Mobile Communications GmbH 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 //******************************************************************
25 // Description: Implementation of the OCPlatform.
29 //*********************************************************************
30 #include <OCPlatform.h>
35 void Configure(const PlatformConfig& config)
37 OCPlatform_impl::Configure(config);
40 OCStackResult setDefaultDeviceEntityHandler(EntityHandler entityHandler)
42 return OCPlatform_impl::Instance().setDefaultDeviceEntityHandler(entityHandler);
45 OCStackResult notifyAllObservers(OCResourceHandle resourceHandle,
48 return OCPlatform_impl::Instance().notifyAllObservers(resourceHandle, QoS);
51 OCStackResult notifyAllObservers(OCResourceHandle resourceHandle)
53 return OCPlatform_impl::Instance().notifyAllObservers(resourceHandle);
56 OCStackResult notifyListOfObservers(OCResourceHandle resourceHandle,
57 ObservationIds& observationIds,
58 const std::shared_ptr<OCResourceResponse> pResponse)
60 return OCPlatform_impl::Instance().notifyListOfObservers(resourceHandle,
61 observationIds, pResponse);
64 OCStackResult notifyListOfObservers(OCResourceHandle resourceHandle,
65 ObservationIds& observationIds,
66 const std::shared_ptr<OCResourceResponse> pResponse,
69 return OCPlatform_impl::Instance().notifyListOfObservers(resourceHandle,
70 observationIds, pResponse, QoS);
73 OCResource::Ptr constructResourceObject(const std::string& host,
74 const std::string& uri,
75 OCConnectivityType connectivityType,
77 const std::vector<std::string>& resourceTypes,
78 const std::vector<std::string>& interfaces)
80 return OCPlatform_impl::Instance().constructResourceObject(host,
81 uri, connectivityType,
83 resourceTypes, interfaces);
86 OCStackResult findResource(const std::string& host,
87 const std::string& resourceName,
88 OCConnectivityType connectivityType,
89 FindCallback resourceHandler)
91 return OCPlatform_impl::Instance().findResource(host, resourceName,
92 connectivityType, resourceHandler);
95 OCStackResult findResource(const std::string& host,
96 const std::string& resourceName,
97 OCConnectivityType connectivityType,
98 FindCallback resourceHandler,
101 return OCPlatform_impl::Instance().findResource(host, resourceName,
102 connectivityType, resourceHandler, QoS);
105 OCStackResult findResource(const std::string& host,
106 const std::string& resourceName,
107 OCConnectivityType connectivityType,
108 FindCallback resourceHandler,
109 FindErrorCallback errorHandler)
111 return OCPlatform_impl::Instance().findResource(host, resourceName,
112 connectivityType, resourceHandler, errorHandler);
115 OCStackResult findResource(const std::string& host,
116 const std::string& resourceName,
117 OCConnectivityType connectivityType,
118 FindCallback resourceHandler,
119 FindErrorCallback errorHandler,
120 QualityOfService QoS)
122 return OCPlatform_impl::Instance().findResource(host, resourceName,
123 connectivityType, resourceHandler, errorHandler, QoS);
126 OCStackResult findResourceList(const std::string& host, const std::string& resourceURI,
127 OCConnectivityType connectivityType, FindResListCallback resourceHandler,
128 QualityOfService QoS)
130 return OCPlatform_impl::Instance().findResourceList(host, resourceURI,
131 connectivityType, resourceHandler, QoS);
134 OCStackResult getDeviceInfo(const std::string& host,
135 const std::string& deviceURI,
136 OCConnectivityType connectivityType,
137 FindDeviceCallback deviceInfoHandler)
139 return OCPlatform_impl::Instance().getDeviceInfo(host, deviceURI,
140 connectivityType, deviceInfoHandler);
143 OCStackResult getDeviceInfo(const std::string& host,
144 const std::string& deviceURI,
145 OCConnectivityType connectivityType,
146 FindDeviceCallback deviceInfoHandler,
147 QualityOfService QoS)
149 return OCPlatform_impl::Instance().getDeviceInfo(host, deviceURI, connectivityType,
150 deviceInfoHandler, QoS);
153 OCStackResult getPlatformInfo(const std::string& host,
154 const std::string& platformURI,
155 OCConnectivityType connectivityType,
156 FindPlatformCallback platformInfoHandler)
158 return OCPlatform_impl::Instance().getPlatformInfo(host, platformURI,
159 connectivityType, platformInfoHandler);
162 OCStackResult getPlatformInfo(const std::string& host,
163 const std::string& platformURI,
164 OCConnectivityType connectivityType,
165 FindPlatformCallback platformInfoHandler,
166 QualityOfService QoS)
168 return OCPlatform_impl::Instance().getPlatformInfo(host, platformURI, connectivityType,
169 platformInfoHandler, QoS);
172 OCStackResult registerResource(OCResourceHandle& resourceHandle,
173 std::string& resourceURI,
174 const std::string& resourceTypeName,
175 const std::string& resourceInterface,
176 EntityHandler entityHandler,
177 uint8_t resourceProperty)
179 return OCPlatform_impl::Instance().registerResource(resourceHandle, resourceURI,
180 resourceTypeName, resourceInterface,
181 entityHandler, resourceProperty);
184 OCStackResult registerResource(OCResourceHandle& resourceHandle,
185 const std::shared_ptr< OCResource > resource)
187 return OCPlatform_impl::Instance().registerResource(resourceHandle, resource);
190 OCStackResult registerDeviceInfo(const OCDeviceInfo deviceInfo)
192 return OCPlatform_impl::Instance().registerDeviceInfo(deviceInfo);
195 OCStackResult registerPlatformInfo(const OCPlatformInfo platformInfo)
197 return OCPlatform_impl::Instance().registerPlatformInfo(platformInfo);
200 OCStackResult unregisterResource(const OCResourceHandle& resourceHandle)
202 return OCPlatform_impl::Instance().unregisterResource(resourceHandle);
205 OCStackResult unbindResource(OCResourceHandle collectionHandle,
206 OCResourceHandle resourceHandle)
208 return OCPlatform_impl::Instance().unbindResource(collectionHandle, resourceHandle);
211 OCStackResult unbindResources(const OCResourceHandle collectionHandle,
212 const std::vector<OCResourceHandle>& resourceHandles)
214 return OCPlatform_impl::Instance().unbindResources(collectionHandle, resourceHandles);
217 OCStackResult bindResource(const OCResourceHandle collectionHandle,
218 const OCResourceHandle resourceHandle)
220 return OCPlatform_impl::Instance().bindResource(collectionHandle, resourceHandle);
223 OCStackResult bindResources(const OCResourceHandle collectionHandle,
224 const std::vector<OCResourceHandle>& resourceHandles
227 return OCPlatform_impl::Instance().bindResources(collectionHandle, resourceHandles);
230 OCStackResult bindTypeToResource(const OCResourceHandle& resourceHandle,
231 const std::string& resourceTypeName)
233 return OCPlatform_impl::Instance().bindTypeToResource(resourceHandle,resourceTypeName);
236 OCStackResult bindInterfaceToResource(const OCResourceHandle& resourceHandle,
237 const std::string& resourceInterfaceName)
239 return OCPlatform_impl::Instance().bindInterfaceToResource(resourceHandle,
240 resourceInterfaceName);
243 OCStackResult startPresence(const unsigned int announceDurationSeconds)
245 return OCPlatform_impl::Instance().startPresence(announceDurationSeconds);
248 OCStackResult stopPresence()
250 return OCPlatform_impl::Instance().stopPresence();
253 OCStackResult subscribePresence(OCPresenceHandle& presenceHandle,
254 const std::string& host,
255 OCConnectivityType connectivityType,
256 SubscribeCallback presenceHandler)
258 return OCPlatform_impl::Instance().subscribePresence(presenceHandle, host,
259 connectivityType, presenceHandler);
262 OCStackResult subscribePresence(OCPresenceHandle& presenceHandle,
263 const std::string& host,
264 const std::string& resourceType,
265 OCConnectivityType connectivityType,
266 SubscribeCallback presenceHandler)
268 return OCPlatform_impl::Instance().subscribePresence(presenceHandle, host,
269 resourceType, connectivityType, presenceHandler);
272 OCStackResult unsubscribePresence(OCPresenceHandle presenceHandle)
274 return OCPlatform_impl::Instance().unsubscribePresence(presenceHandle);
278 OCStackResult subscribeDevicePresence(OCPresenceHandle& presenceHandle,
279 const std::string& host,
280 const std::vector<std::string>& di,
281 OCConnectivityType connectivityType,
282 ObserveCallback callback)
284 return OCPlatform_impl::Instance().subscribeDevicePresence(presenceHandle,
292 OCStackResult sendResponse(const std::shared_ptr<OCResourceResponse> pResponse)
294 return OCPlatform_impl::Instance().sendResponse(pResponse);
297 OCStackResult findDirectPairingDevices(unsigned short waittime,
298 GetDirectPairedCallback directPairingHandler)
300 return OCPlatform_impl::Instance().findDirectPairingDevices(waittime,
301 directPairingHandler);
304 OCStackResult getDirectPairedDevices(GetDirectPairedCallback directPairingHandler)
306 return OCPlatform_impl::Instance().getDirectPairedDevices(directPairingHandler);
309 OCStackResult doDirectPairing(std::shared_ptr<OCDirectPairing> peer, OCPrm_t pmSel,
310 const std::string& pinNumber,
311 DirectPairingCallback resultCallback)
313 return OCPlatform_impl::Instance().doDirectPairing(peer, pmSel,
314 pinNumber, resultCallback);
317 OCAccountManager::Ptr constructAccountManagerObject(const std::string& host,
318 OCConnectivityType connectivityType)
320 return OCPlatform_impl::Instance().constructAccountManagerObject(host,
325 OCStackResult publishResourceToRD(const std::string& host,
326 OCConnectivityType connectivityType,
327 PublishResourceCallback callback)
329 ResourceHandles resourceHandles;
330 return OCPlatform_impl::Instance().publishResourceToRD(host, connectivityType,
335 OCStackResult publishResourceToRD(const std::string& host,
336 OCConnectivityType connectivityType,
337 PublishResourceCallback callback,
338 QualityOfService QoS)
340 ResourceHandles resourceHandles;
341 return OCPlatform_impl::Instance().publishResourceToRD(host, connectivityType,
346 OCStackResult publishResourceToRD(const std::string& host,
347 OCConnectivityType connectivityType,
348 ResourceHandles& resourceHandles,
349 PublishResourceCallback callback)
351 return OCPlatform_impl::Instance().publishResourceToRD(host, connectivityType,
356 OCStackResult publishResourceToRD(const std::string& host,
357 OCConnectivityType connectivityType,
358 ResourceHandles& resourceHandles,
359 PublishResourceCallback callback, QualityOfService QoS)
361 return OCPlatform_impl::Instance().publishResourceToRD(host, connectivityType,
366 OCStackResult deleteResourceFromRD(const std::string& host,
367 OCConnectivityType connectivityType,
368 DeleteResourceCallback callback)
370 ResourceHandles resourceHandles;
371 return OCPlatform_impl::Instance().deleteResourceFromRD(host, connectivityType,
372 resourceHandles, callback);
375 OCStackResult deleteResourceFromRD(const std::string& host,
376 OCConnectivityType connectivityType,
377 DeleteResourceCallback callback,
378 QualityOfService QoS)
380 ResourceHandles resourceHandles;
381 return OCPlatform_impl::Instance().deleteResourceFromRD(host, connectivityType,
382 resourceHandles, callback, QoS);
385 OCStackResult deleteResourceFromRD(const std::string& host,
386 OCConnectivityType connectivityType,
387 ResourceHandles& resourceHandles,
388 DeleteResourceCallback callback)
390 return OCPlatform_impl::Instance().deleteResourceFromRD(host, connectivityType,
391 resourceHandles, callback);
394 OCStackResult deleteResourceFromRD(const std::string& host,
395 OCConnectivityType connectivityType,
396 ResourceHandles& resourceHandles,
397 DeleteResourceCallback callback, QualityOfService QoS)
399 return OCPlatform_impl::Instance().deleteResourceFromRD(host, connectivityType,
400 resourceHandles, callback,
404 OCStackResult getDeviceId(OCUUIdentity *deviceId)
406 return OCPlatform_impl::Instance().getDeviceId(deviceId);
409 OCStackResult setDeviceId(const OCUUIdentity *deviceId)
411 return OCPlatform_impl::Instance().setDeviceId(deviceId);
413 } // namespace OCPlatform