- typedef std::function< OC::OCRepresentation(RCSResourceObject&) > OCRepresentationGetter;
-
- OC::OCRepresentation getOCRepresentationFromResource(RCSResourceObject& resource)
- {
- RCSResourceObject::LockGuard lock{ resource, RCSResourceObject::AutoNotifyPolicy::NEVER };
- return ResourceAttributesConverter::toOCRepresentation(resource.getAttributes());
- }
-
- OC::OCRepresentation getOCRepresentation(const RCSResourceAttributes& attrs)
- {
- return ResourceAttributesConverter::toOCRepresentation(attrs);
- }
-
- template< typename T >
- OCRepresentationGetter wrapGetOCRepresentation(T&& attrs)
- {
- return std::bind(getOCRepresentation, std::forward<T>(attrs));
- }
-
- std::shared_ptr< OC::OCResourceResponse > doBuildResponse(RCSResourceObject& resource,
- int errorCode, OCRepresentationGetter ocRepGetter)
- {
- auto response = std::make_shared< OC::OCResourceResponse >();
-
- response->setResponseResult(OC_EH_OK);
- response->setErrorCode(errorCode);
- response->setResourceRepresentation(ocRepGetter(resource));
-
- return response;
- }
-