X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Finclude%2FInProcClientWrapper.h;h=05b1472a56fe08e36eb81d6adfd2faa11dd66014;hb=e536bc9edf0ad1fea100e07755462dc0914304eb;hp=98206d4d78262ddbde2a056e3c148b857c1cabd8;hpb=ed03b2f2d711027561c18956826580e1e81b84ec;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/include/InProcClientWrapper.h b/resource/include/InProcClientWrapper.h index 98206d4..05b1472 100644 --- a/resource/include/InProcClientWrapper.h +++ b/resource/include/InProcClientWrapper.h @@ -18,8 +18,8 @@ // //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -#ifndef _IN_PROC_CLIENT_WRAPPER_H_ -#define _IN_PROC_CLIENT_WRAPPER_H_ +#ifndef OC_IN_PROC_CLIENT_WRAPPER_H_ +#define OC_IN_PROC_CLIENT_WRAPPER_H_ #include #include @@ -27,7 +27,6 @@ #include #include -#include #include #include #include @@ -57,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; @@ -82,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 @@ -97,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); @@ -105,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( @@ -117,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( @@ -146,13 +216,57 @@ 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 assembleSetResourcePayload(const OCRepresentation& attributes); - OCHeaderOption* assembleHeaderOptions(OCHeaderOption options[], - const HeaderOptions& headerOptions); + std::string assembleSetResourceUri(std::string uri, const QueryParamsList& queryParams); + OCPayload* assembleSetResourcePayload(const OCRepresentation& attributes); + OCHeaderOption* assembleHeaderOptions(const HeaderOptions& headerOptions); + void convert(const OCDPDev_t *list, PairedDevices& dpList); std::thread m_listeningThread; bool m_threadRun; std::weak_ptr m_csdkLock;