X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=resource%2Finclude%2FInProcClientWrapper.h;h=ff62d7b88ab666732b9ce91f5b2b6261bc65daa5;hb=3c093548382bb2542c87a67e6e5fa32552c29cb3;hp=62830d57acc9212a601219aca758c32274bfb3f2;hpb=0e7762704ad69d816015184a55177d17c701188b;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/include/InProcClientWrapper.h b/resource/include/InProcClientWrapper.h index 62830d5..ff62d7b 100644 --- a/resource/include/InProcClientWrapper.h +++ b/resource/include/InProcClientWrapper.h @@ -56,6 +56,37 @@ namespace OC : callback(cb), clientWrapper(cw){} }; + struct ListenErrorContext + { + FindCallback callback; + FindErrorCallback errorCallback; + std::weak_ptr clientWrapper; + + ListenErrorContext(FindCallback cb1, FindErrorCallback cb2, + std::weak_ptr cw) + : callback(cb1), errorCallback(cb2), clientWrapper(cw){} + }; + + struct ListenResListContext + { + FindResListCallback callback; + std::weak_ptr clientWrapper; + + ListenResListContext(FindResListCallback cb, std::weak_ptr cw) + : callback(cb), clientWrapper(cw){} + }; + + struct ListenResListWithErrorContext + { + FindResListCallback callback; + FindErrorCallback errorCallback; + std::weak_ptr clientWrapper; + + ListenResListWithErrorContext(FindResListCallback cb1, FindErrorCallback cb2, + std::weak_ptr cw) + : callback(cb1), errorCallback(cb2), clientWrapper(cw){} + }; + struct DeviceListenContext { FindDeviceCallback callback; @@ -81,6 +112,30 @@ namespace OC ObserveCallback callback; ObserveContext(ObserveCallback cb) : callback(cb){} }; + + struct DirectPairingContext + { + DirectPairingCallback callback; + DirectPairingContext(DirectPairingCallback cb) : callback(cb){} + + }; +#ifdef TCP_ADAPTER + struct KeepAliveContext + { + KeepAliveCallback callback; + KeepAliveContext(KeepAliveCallback cb) : callback(cb){} + }; +#endif + +#ifdef WITH_MQ + struct MQTopicContext + { + MQTopicCallback callback; + std::weak_ptr clientWrapper; + MQTopicContext(MQTopicCallback cb, std::weak_ptr cw) + : callback(cb), clientWrapper(cw){} + }; +#endif } class InProcClientWrapper : public IClientWrapper @@ -96,6 +151,19 @@ namespace OC const std::string& resourceType, OCConnectivityType transportFlags, FindCallback& callback, QualityOfService QoS); + virtual OCStackResult ListenForResourceList(const std::string& serviceUrl, + const std::string& resourceType, OCConnectivityType transportFlags, + FindResListCallback& callback, QualityOfService QoS); + + virtual OCStackResult ListenForResourceListWithError(const std::string& serviceUrl, + const std::string& resourceType, OCConnectivityType connectivityType, + FindResListCallback& callback, FindErrorCallback& errorCallback, + QualityOfService QoS); + + virtual OCStackResult ListenErrorForResource(const std::string& serviceUrl, + const std::string& resourceType, OCConnectivityType transportFlags, + FindCallback& callback, FindErrorCallback& errorCallback, QualityOfService QoS); + virtual OCStackResult ListenForDevice(const std::string& serviceUrl, const std::string& deviceURI, OCConnectivityType transportFlags, FindDeviceCallback& callback, QualityOfService QoS); @@ -104,6 +172,7 @@ namespace OC const OCDevAddr& devAddr, const std::string& uri, const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, + OCConnectivityType connectivityType, GetCallback& callback, QualityOfService QoS); virtual OCStackResult PutResourceRepresentation( @@ -116,12 +185,14 @@ namespace OC const OCDevAddr& devAddr, const std::string& uri, const OCRepresentation& attributes, const QueryParamsMap& queryParams, - const HeaderOptions& headerOptions, PostCallback& callback, QualityOfService QoS); + const HeaderOptions& headerOptions, OCConnectivityType connectivityType, + PostCallback& callback, QualityOfService QoS); virtual OCStackResult DeleteResource( const OCDevAddr& devAddr, const std::string& uri, const HeaderOptions& headerOptions, + OCConnectivityType connectivityType, DeleteCallback& callback, QualityOfService QoS); virtual OCStackResult ObserveResource( @@ -145,13 +216,58 @@ namespace OC SubscribeCallback& presenceHandler); virtual OCStackResult UnsubscribePresence(OCDoHandle handle); + +#ifdef WITH_CLOUD + virtual OCStackResult SubscribeDevicePresence(OCDoHandle* handle, + const std::string& host, + const std::vector& di, + OCConnectivityType connectivityType, + ObserveCallback& callback); +#endif + OCStackResult GetDefaultQos(QualityOfService& QoS); + + virtual OCStackResult FindDirectPairingDevices(unsigned short waittime, + GetDirectPairedCallback& callback); + + virtual OCStackResult GetDirectPairedDevices(GetDirectPairedCallback& callback); + + virtual OCStackResult DoDirectPairing(std::shared_ptr peer, const OCPrm_t& pmSel, + const std::string& pinNumber, DirectPairingCallback& resultCallback); + +#ifdef WITH_MQ + virtual OCStackResult ListenForMQTopic( + const OCDevAddr& devAddr, + const std::string& resourceUri, + const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, + MQTopicCallback& callback, QualityOfService QoS); + + virtual OCStackResult PutMQTopicRepresentation( + const OCDevAddr& devAddr, + const std::string& uri, + const OCRepresentation& rep, + const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, + MQTopicCallback& callback, QualityOfService QoS); +#endif + + virtual OCStackResult stop(); + virtual OCStackResult start(); + +#ifdef TCP_ADAPTER + virtual OCStackResult findKeepAliveResource(std::string host, + KeepAliveCallback resultCallback); + virtual OCStackResult sendKeepAliveRequest(std::string host, const OCRepresentation& rep, + KeepAliveCallback resultCallback); +#endif + private: void listeningFunc(); std::string assembleSetResourceUri(std::string uri, const QueryParamsMap& queryParams); + std::string assembleSetResourceUri(std::string uri, const QueryParamsList& queryParams); OCPayload* assembleSetResourcePayload(const OCRepresentation& attributes); OCHeaderOption* assembleHeaderOptions(OCHeaderOption options[], const HeaderOptions& headerOptions); + void convert(const OCDPDev_t *list, PairedDevices& dpList); std::thread m_listeningThread; bool m_threadRun; std::weak_ptr m_csdkLock;