typedef std::function<void(const HeaderOptions&, const ResponseStatement&, int)>
SetCallback;
+ typedef std::function<void(const HeaderOptions&, const ResponseStatement&, int)>
+ PutCallback;
+
typedef std::function<void(const HeaderOptions&, const ResponseStatement&, int, int)>
ObserveCallback;
virtual void requestGet(GetCallback) = 0;
virtual void requestSet(const RCSResourceAttributes&, SetCallback) = 0;
+ virtual void requestPut(const RCSResourceAttributes&, PutCallback) = 0;
virtual void requestObserve(ObserveCallback) = 0;
virtual void cancelObserve() = 0;
{
using namespace std::placeholders;
+ typedef OCStackResult(BaseResource::*PostFunc)(
+ const OC::OCRepresentation&,
+ const OC::QueryParamsMap&, OC::PostCallback);
+
+ invokeOC(m_baseResource, static_cast< PostFunc >(&BaseResource::post),
+ ResourceAttributesConverter::toOCRepresentation(attrs),
+ OC::QueryParamsMap{ },
+ std::bind(safeCallback< SetCallback >, WeakFromThis(),
+ std::move(callback), _1, _2, _3));
+ }
+
+ void requestPut(const RCSResourceAttributes& attrs, PutCallback callback)
+ {
+ using namespace std::placeholders;
+
typedef OCStackResult(BaseResource::*PutFunc)(
const OC::OCRepresentation&,
const OC::QueryParamsMap&, OC::PutCallback);
invokeOC(m_baseResource, static_cast< PutFunc >(&BaseResource::put),
ResourceAttributesConverter::toOCRepresentation(attrs),
OC::QueryParamsMap{ },
- std::bind(safeCallback< SetCallback >, WeakFromThis(),
+ std::bind(safeCallback< PutCallback >, WeakFromThis(),
std::move(callback), _1, _2, _3));
}
invokeOC(m_baseResource, static_cast< ObserveFunc >(&BaseResource::observe),
OC::ObserveType::ObserveAll, OC::QueryParamsMap{ },
std::bind(safeObserveCallback, WeakFromThis(),
- std::move(callback), _1, _2, _3, _4));
+ std::move(callback), _1, _2, _3, _4));
}
void cancelObserve()