X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Finclude%2FInProcClientWrapper.h;h=05b1472a56fe08e36eb81d6adfd2faa11dd66014;hb=e536bc9edf0ad1fea100e07755462dc0914304eb;hp=0d29b9dffabf45a75e891595a7d21d7dbd2c33e2;hpb=40e5426eb6aec432fffb1911e4cbb9752877989b;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/include/InProcClientWrapper.h b/resource/include/InProcClientWrapper.h index 0d29b9d..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 @@ -39,39 +38,104 @@ namespace OC struct GetContext { GetCallback callback; + GetContext(GetCallback cb) : callback(cb){} }; struct SetContext { PutCallback callback; + SetContext(PutCallback cb) : callback(cb){} }; struct ListenContext { FindCallback callback; std::weak_ptr clientWrapper; + + ListenContext(FindCallback cb, std::weak_ptr cw) + : 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; IClientWrapper::Ptr clientWrapper; + DeviceListenContext(FindDeviceCallback cb, IClientWrapper::Ptr cw) + : callback(cb), clientWrapper(cw){} }; struct SubscribePresenceContext { SubscribeCallback callback; + SubscribePresenceContext(SubscribeCallback cb) : callback(cb){} }; struct DeleteContext { DeleteCallback callback; + DeleteContext(DeleteCallback cb) : callback(cb){} }; struct ObserveContext { 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 @@ -83,89 +147,126 @@ namespace OC PlatformConfig cfg); virtual ~InProcClientWrapper(); -#ifdef CA_INT virtual OCStackResult ListenForResource(const std::string& serviceUrl, - const std::string& resourceType, uint8_t connectivityType, FindCallback& callback, + 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, uint8_t connectivityType, FindDeviceCallback& callback, - QualityOfService QoS); + const std::string& deviceURI, OCConnectivityType transportFlags, + FindDeviceCallback& callback, QualityOfService QoS); - virtual OCStackResult GetResourceRepresentation(const std::string& host, - const std::string& uri, uint8_t connectivityType, const QueryParamsMap& queryParams, - const HeaderOptions& headerOptions, + virtual OCStackResult GetResourceRepresentation( + const OCDevAddr& devAddr, + const std::string& uri, + const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, + OCConnectivityType connectivityType, GetCallback& callback, QualityOfService QoS); - virtual OCStackResult PutResourceRepresentation(const std::string& host, - const std::string& uri, uint8_t connectivityType, const OCRepresentation& attributes, - const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, - PutCallback& callback, QualityOfService QoS); + virtual OCStackResult PutResourceRepresentation( + const OCDevAddr& devAddr, + const std::string& uri, + const OCRepresentation& attributes, const QueryParamsMap& queryParams, + const HeaderOptions& headerOptions, PutCallback& callback, QualityOfService QoS); - virtual OCStackResult PostResourceRepresentation(const std::string& host, - const std::string& uri, uint8_t connectivityType, const OCRepresentation& attributes, - const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, + virtual OCStackResult PostResourceRepresentation( + const OCDevAddr& devAddr, + const std::string& uri, + const OCRepresentation& attributes, const QueryParamsMap& queryParams, + const HeaderOptions& headerOptions, OCConnectivityType connectivityType, PostCallback& callback, QualityOfService QoS); - virtual OCStackResult DeleteResource(const std::string& host, const std::string& uri, - uint8_t connectivityType, const HeaderOptions& headerOptions, + virtual OCStackResult DeleteResource( + const OCDevAddr& devAddr, + const std::string& uri, + const HeaderOptions& headerOptions, + OCConnectivityType connectivityType, DeleteCallback& callback, QualityOfService QoS); - virtual OCStackResult ObserveResource(ObserveType observeType, OCDoHandle* handle, - const std::string& host, const std::string& uri, uint8_t connectivityType, + virtual OCStackResult ObserveResource( + ObserveType observeType, OCDoHandle* handle, + const OCDevAddr& devAddr, + const std::string& uri, const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, ObserveCallback& callback, QualityOfService QoS); -#else - virtual OCStackResult ListenForResource(const std::string& serviceUrl, - const std::string& resourceType, FindCallback& callback, - QualityOfService QoS); - virtual OCStackResult ListenForDevice(const std::string& serviceUrl, - const std::string& deviceURI, FindDeviceCallback& callback, - QualityOfService QoS); + virtual OCStackResult CancelObserveResource( + OCDoHandle handle, + const std::string& host, + const std::string& uri, + const HeaderOptions& headerOptions, QualityOfService QoS); - virtual OCStackResult GetResourceRepresentation(const std::string& host, - const std::string& uri, const QueryParamsMap& queryParams, - const HeaderOptions& headerOptions, - GetCallback& callback, QualityOfService QoS); + virtual OCStackResult SubscribePresence( + OCDoHandle *handle, + const std::string& host, + const std::string& resourceType, + OCConnectivityType transportFlags, + SubscribeCallback& presenceHandler); - virtual OCStackResult PutResourceRepresentation(const std::string& host, - const std::string& uri, const OCRepresentation& attributes, - const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, - PutCallback& callback, QualityOfService QoS); + virtual OCStackResult UnsubscribePresence(OCDoHandle handle); - virtual OCStackResult PostResourceRepresentation(const std::string& host, - const std::string& uri, const OCRepresentation& attributes, - const QueryParamsMap& queryParams, const HeaderOptions& headerOptions, - PostCallback& callback, QualityOfService QoS); +#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 DeleteResource(const std::string& host, const std::string& uri, - const HeaderOptions& headerOptions, DeleteCallback& callback, QualityOfService QoS); + virtual OCStackResult GetDirectPairedDevices(GetDirectPairedCallback& callback); - virtual OCStackResult ObserveResource(ObserveType observeType, OCDoHandle* handle, - const std::string& host, const std::string& uri, const QueryParamsMap& queryParams, - const HeaderOptions& headerOptions, ObserveCallback& callback, QualityOfService QoS); + 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 CancelObserveResource(OCDoHandle handle, const std::string& host, - const std::string& uri, const HeaderOptions& headerOptions, QualityOfService QoS); -#ifdef CA_INT - virtual OCStackResult SubscribePresence(OCDoHandle* handle, const std::string& host, - const std::string& resourceType, uint8_t connectivityType, - SubscribeCallback& presenceHandler); -#else - virtual OCStackResult SubscribePresence(OCDoHandle* handle, const std::string& host, - const std::string& resourceType, SubscribeCallback& presenceHandler); + 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 - virtual OCStackResult UnsubscribePresence(OCDoHandle handle); - OCStackResult GetDefaultQos(QualityOfService& QoS); private: void listeningFunc(); std::string assembleSetResourceUri(std::string uri, const QueryParamsMap& queryParams); - std::string assembleSetResourcePayload(const OCRepresentation& attributes); - void 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; @@ -176,3 +277,4 @@ namespace OC } #endif +