uint8_t resourceProperty = OC_DISCOVERABLE;
EntityHandler eh(std::bind(&FooResource::entityHandler, this,
- std::placeholders::_1, std::placeholders::_2));
+ std::placeholders::_1));
OCStackResult result = OCPlatform::registerResource(m_resourceHandle, m_uri,
m_resourceType, resourceInterface, eh, resourceProperty);
if(OC_STACK_OK != result)
rep.getValue("barCount", m_barCount);
}
- OCEntityHandlerResult entityHandler(std::shared_ptr<OCResourceRequest> request,
- std::shared_ptr<OCResourceResponse> response)
+ OCStackResult sendResponse(std::shared_ptr<OCResourceRequest> pRequest)
+ {
+ auto pResponse = std::make_shared<OC::OCResourceResponse>();
+ pResponse->setRequestHandle(pRequest->getRequestHandle());
+ pResponse->setResourceHandle(pRequest->getResourceHandle());
+ pResponse->setResourceRepresentation(get(), "");
+ pResponse->setErrorCode(200);
+ pResponse->setResponseResult(OC_EH_OK);
+
+ return OCPlatform::sendResponse(pResponse);
+ }
+
+ OCEntityHandlerResult entityHandler(std::shared_ptr<OCResourceRequest> request)
{
std::cout<<"\tConsumer Entity Handler:"<<std::endl;
+ OCEntityHandlerResult ehResult = OC_EH_ERROR;
if(request)
{
if(request->getRequestType() == "GET")
{
std::cout<<"\t\t\trequestType : GET"<<std::endl;
-
- if(response)
+ if(OC_STACK_OK == sendResponse(request))
{
- response->setErrorCode(200);
- response->setResourceRepresentation(get(), "");
+ ehResult = OC_EH_OK;
}
}
else if (request->getRequestType() == "PUT")
OCRepresentation rep = request->getResourceRepresentation();
put(rep);
-
- if(response)
+ if(OC_STACK_OK == sendResponse(request))
{
- response->setErrorCode(200);
- response->setResourceRepresentation(get(), "");
+ ehResult = OC_EH_OK;
}
}
else
std::cout << "Request Invalid!"<<std::endl;
}
- return OC_EH_OK;
+ return ehResult;
}
-
};
void putResourceInfo(const HeaderOptions& headerOptions,