From: coderhyme Date: Mon, 22 Jun 2015 07:30:36 +0000 (+0900) Subject: Change the way calling oc to use helper methods X-Git-Tag: 0.9.2-RC1^2~112 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=705d637c4b28f4c1507cb4bb855d6af17ae40ec9;p=contrib%2Fiotivity.git Change the way calling oc to use helper methods Change-Id: Ia8440d9f66c654c39acdf7bd66d9f80c2f36c029 Signed-off-by: coderhyme Reviewed-on: https://gerrit.iotivity.org/gerrit/1377 Tested-by: jenkins-iotivity Reviewed-by: Uze Choi --- diff --git a/service/basis/common/primitiveResource/include/PresenceSubscriber.h b/service/basis/common/primitiveResource/include/PresenceSubscriber.h index 8733309..09a516e 100644 --- a/service/basis/common/primitiveResource/include/PresenceSubscriber.h +++ b/service/basis/common/primitiveResource/include/PresenceSubscriber.h @@ -31,7 +31,8 @@ namespace OIC namespace Service { - typedef std::function< void(OCStackResult, const unsigned int, const std::string&) > SubscribeCallback; + typedef std::function< void(OCStackResult, const unsigned int, const std::string&) > + SubscribeCallback; class PresenceSubscriber { diff --git a/service/basis/common/primitiveResource/include/internal/PrimitiveResourceImpl.h b/service/basis/common/primitiveResource/include/internal/PrimitiveResourceImpl.h index 6fdc93a..69262ac 100644 --- a/service/basis/common/primitiveResource/include/internal/PrimitiveResourceImpl.h +++ b/service/basis/common/primitiveResource/include/internal/PrimitiveResourceImpl.h @@ -23,6 +23,7 @@ #include #include +#include #include @@ -55,7 +56,11 @@ namespace OIC { using namespace std::placeholders; - m_baseResource->get(OC::QueryParamsMap(), + using GetFunc = OCStackResult(BaseResource::*)( + const OC::QueryParamsMap&, OC::GetCallback); + + invokeOC(m_baseResource, static_cast< GetFunc >(&BaseResource::get), + OC::QueryParamsMap(), std::bind(callback, _1, std::bind(createResponseStatement, _2), _3)); } @@ -63,8 +68,13 @@ namespace OIC { using namespace std::placeholders; - m_baseResource->put(ResourceAttributesConverter::toOCRepresentation(attrs), - OC::QueryParamsMap{}, + using PutFunc = OCStackResult(BaseResource::*)( + const OC::OCRepresentation&, + const OC::QueryParamsMap&, OC::PutCallback); + + invokeOC(m_baseResource, static_cast< PutFunc >(&BaseResource::put), + ResourceAttributesConverter::toOCRepresentation(attrs), + OC::QueryParamsMap{ }, std::bind(callback, _1, std::bind(createResponseStatement, _2), _3)); } @@ -72,38 +82,45 @@ namespace OIC { using namespace std::placeholders; - m_baseResource->observe(OC::ObserveType::ObserveAll, OC::QueryParamsMap{ }, + using ObserveFunc = OCStackResult (BaseResource::*)(OC::ObserveType, + const OC::QueryParamsMap&, OC::ObserveCallback); + + invokeOC(m_baseResource, static_cast< ObserveFunc >(&BaseResource::observe), + OC::ObserveType::ObserveAll, OC::QueryParamsMap{ }, bind(callback, _1, bind(createResponseStatement, _2), _3, _4)); } void cancelObserve() override { - m_baseResource->cancelObserve(); + using CancelObserveFunc = OCStackResult (BaseResource::*)(); + + invokeOC(m_baseResource, + static_cast< CancelObserveFunc >(&BaseResource::cancelObserve)); } std::string getUri() const override { - return m_baseResource->uri(); + return invokeOC(m_baseResource, &BaseResource::uri); } std::string getHost() const override { - return m_baseResource->host(); + return invokeOC(m_baseResource, &BaseResource::host); } std::vector< std::string > getTypes() const override { - return m_baseResource->getResourceTypes(); + return invokeOC(m_baseResource, &BaseResource::getResourceTypes); } std::vector< std::string > getInterfaces() const override { - return m_baseResource->getResourceInterfaces(); + return invokeOC(m_baseResource, &BaseResource::getResourceInterfaces); } bool isObservable() const override { - return m_baseResource->isObservable(); + return invokeOC(m_baseResource, &BaseResource::isObservable); } private: