ResourceAttributes rData;
{
- ResourceObject::LockGuard guard(mirroredServer);
+ RCSResourceObject::LockGuard guard(mirroredServer);
rData = mirroredServer->getAttributes();
}
if(rData.empty() || rData != attributes)
{
{
- ResourceObject::LockGuard guard(mirroredServer);
+ RCSResourceObject::LockGuard guard(mirroredServer);
for(auto it = rData.begin(); ; ++it)
{
if(it == rData.end())
{
std::string type = types.begin()->c_str();
std::string interface = interfaces.begin()->c_str();
- retResource = ResourceObject::Builder(uri, type, interface).
+ retResource = RCSResourceObject::Builder(uri, type, interface).
setDiscoverable(true).setObservable(true).build();
// TODO need to bind types and interfaces
- retResource->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::UPDATED);
+ retResource->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::UPDATED);
retResource->setSetRequestHandler(pSetRequestHandler);
}catch(...)
{
#define RH_HOSTINGOBJECT_H_
#include "ResourceClient.h"
-#include "ResourceObject.h"
+#include "RCSResourceObject.h"
#include "RequestObject.h"
#include "ResourceBroker.h"
#include "ResourceCacheManager.h"
class HostingObject
{
private:
- typedef std::shared_ptr<ResourceObject> ResourceObjectPtr;
+ typedef std::shared_ptr<RCSResourceObject> ResourceObjectPtr;
typedef std::shared_ptr<RemoteResourceObject> RemoteObjectPtr;
typedef std::shared_ptr<RequestObject> RequestObjectPtr;
typedef std::shared_ptr<PrimitiveResource> PrimiteveResourcePtr;
#define RH_REQUESTOBJECT_H_
#include "ResourceClient.h"
-#include "ResourceObject.h"
+#include "RCSResourceObject.h"
namespace OIC
{
******************************************************************/
#include "PrimitiveResource.h"
-#include "ResourceObject.h"
+#include "RCSResourceObject.h"
#include "OCPlatform.h"
#include "OCApi.h"
std::string resourceType = "core.TemperatureSensor";
std::string resourceInterface = "oic.if.";
std::string attributeKey = "Temperature";
-ResourceObject::Ptr server;
+RCSResourceObject::Ptr server;
//display the menu on the screen
void displayMenu()
ResourceAttributes &attrs)
{
cout << "Recieved a Get request from Client" << std::endl;
- ResourceObject::LockGuard lock(*server);
+ RCSResourceObject::LockGuard lock(*server);
ResourceAttributes attr = server->getAttributes();
ResourceAttributes::const_iterator iter = attr.begin();
cout << "\nSending response to Client : " << std::endl;
//Creation of Resource & Auto control for all requests from Client
{
//creation of Resource
- server = ResourceObject::Builder(resourceUri, resourceType,
+ server = RCSResourceObject::Builder(resourceUri, resourceType,
resourceInterface).setDiscoverable(true).setObservable(false).build();
std::cout << "Resource created successfully " << std::endl;
case 2:
//Creation of Resource & setting get and set handler for handling get and set request from client in application
{
- server = ResourceObject::Builder(resourceUri, resourceType,
+ server = RCSResourceObject::Builder(resourceUri, resourceType,
resourceInterface).setDiscoverable(true).setObservable(false).build();
std::cout << "Resource created successfully " << std::endl;
{
case 1:
{
- ResourceObject::LockGuard lock(*server);
+ RCSResourceObject::LockGuard lock(*server);
ResourceAttributes attrs = server->getAttributes();
attrs[attributeKey] = (server->getAttribute<int>(attributeKey) + 10);
}
case 2:
{
- ResourceObject::LockGuard lock(*server);
+ RCSResourceObject::LockGuard lock(*server);
ResourceAttributes attrs = server->getAttributes();
attrs[attributeKey] = (server->getAttribute<int>(attributeKey) - 10);
server->setAttribute(attributeKey, attrs[attributeKey]);
* @file
*
* This file contains the resource object APIs provided to the developers.
- * ResourceObject is a part of the server builder module.
+ * RCSResourceObject is a part of the server builder module.
*/
-#ifndef SERVERBUILDER_RESOURCEOBJECT_H
-#define SERVERBUILDER_RESOURCEOBJECT_H
+#ifndef SERVER_RCSRESOURCEOBJECT_H
+#define SERVER_RCSRESOURCEOBJECT_H
#include <string>
#include <mutex>
/**
* @brief Thrown when lock has not been acquired.
*
- * @see ResourceObject::LockGuard
- * @see ResourceObject::getAttributes
+ * @see RCSResourceObject::LockGuard
+ * @see RCSResourceObject::getAttributes
*/
class NoLockException: public RCSException
{
};
/**
- * @brief ResourceObject represents a resource. ResourceObject handles any requests from
+ * @brief RCSResourceObject represents a resource. It handles any requests from
* clients automatically with attributes.
* It also provides an auto notification mechanism that notifies to the observers.
* <br/>
* by a set request. In this case, add an AttributeUpdatedListener
* with a key interested in instead of overriding SetRequestHandler.
*/
- class ResourceObject
+ class RCSResourceObject
{
private:
class WeakGuard;
public:
-
/**
* @brief represents the policy of AutoNotify function.
* In accord with this policy, observers are notified of attributes that
* are changed or updated.
* @note Attributes are changed or updated according to execution of some functions
* or receipt of 'set-request'.
- * (functions - ResourceObject::setAttribute, ResourceObject::removeAttribute,
- * ResourceObject::getAttributes)
+ * (functions - RCSResourceObject::setAttribute,
+ * RCSResourceObject::removeAttribute, RCSResourceObject::getAttributes)
*/
enum class AutoNotifyPolicy
{
set-request of attributes of the new key. */
};
- typedef std::shared_ptr< ResourceObject > Ptr;
- typedef std::shared_ptr< const ResourceObject > ConstPtr;
+ typedef std::shared_ptr< RCSResourceObject > Ptr;
+ typedef std::shared_ptr< const RCSResourceObject > ConstPtr;
/**
* @class Builder
* @brief This class provides APIs for resource creation, setting properties &
* attributes for the constructed resource.
- * It is a subclass of ResourceObject. It provides the build() API
- * which builds a resource and return pointer to ResourceObject class.
+ * It provides the build() API
+ * which builds a resource and return pointer to RCSResourceObject class.
*
*@see build()
*/
Builder &setAttributes(ResourceAttributes &&attributes);
/**
- * API for constructing a new ResourceObject.
+ * API for constructing a new RCSResourceObject.
*
- * @return Pointer to ResourceObject instance created.
+ * @return Pointer to RCSResourceObject instance created.
*
* @throw PlatformException
* It catches exception from registerResource API of OCPlatform and
* throws it to developer.
*
*/
- ResourceObject::Ptr build();
+ RCSResourceObject::Ptr build();
private:
std::string m_uri;
const ResourceAttributes::Value &) > AttributeUpdatedListener;
public:
- ResourceObject(ResourceObject&&) = delete;
- ResourceObject(const ResourceObject &) = delete;
+ RCSResourceObject(RCSResourceObject&&) = delete;
+ RCSResourceObject(const RCSResourceObject &) = delete;
- ResourceObject &operator=(ResourceObject && ) = delete;
- ResourceObject &operator=(const ResourceObject &) = delete;
+ RCSResourceObject &operator=(RCSResourceObject && ) = delete;
+ RCSResourceObject &operator=(const RCSResourceObject &) = delete;
- virtual ~ResourceObject();
+ virtual ~RCSResourceObject();
/**
* API for setting a particular attribute value.
bool containsAttribute(const std::string &key) const;
/**
- * API for getting all the attributes of the ResourceObject.
+ * API for getting all the attributes of the RCSResourceObject.
* It invokes the expectOwnLock() API to check the owner of the lock using the
* thread id.
* If it is not the owner then it throws exception.
*
- * @return reference of the attributes of this ResourceObject.
+ * @return reference of the attributes of this RCSResourceObject.
*
* @see expectOwnLock()
*
virtual bool removeAttributeUpdatedListener(const std::string &key);
/**
- * API for notifying all observers of the ResourceObject
+ * API for notifying all observers of the RCSResourceObject
* with the updated attributes value
*/
virtual void notify() const;
SetRequestHandlerPolicy getSetRequestHandlerPolicy() const;
private:
- ResourceObject(uint8_t, ResourceAttributes&&);
+ RCSResourceObject(uint8_t, ResourceAttributes&&);
OCEntityHandlerResult entityHandler(std::shared_ptr< OC::OCResourceRequest >);
};
- class ResourceObject::LockGuard
+ class RCSResourceObject::LockGuard
{
public:
- LockGuard(const ResourceObject&);
- LockGuard(const ResourceObject::Ptr);
- LockGuard(const ResourceObject&, AutoNotifyPolicy);
- LockGuard(const ResourceObject::Ptr, AutoNotifyPolicy);
+ LockGuard(const RCSResourceObject&);
+ LockGuard(const RCSResourceObject::Ptr);
+ LockGuard(const RCSResourceObject&, AutoNotifyPolicy);
+ LockGuard(const RCSResourceObject::Ptr, AutoNotifyPolicy);
~LockGuard();
LockGuard(const LockGuard&) = delete;
void init();
private:
- const ResourceObject& m_resourceObject;
+ const RCSResourceObject& m_resourceObject;
AutoNotifyPolicy m_autoNotifyPolicy;
std::function<void()> m_autoNotifyFunc;
};
- class ResourceObject::WeakGuard
+ class RCSResourceObject::WeakGuard
{
public:
- WeakGuard(const ResourceObject&);
+ WeakGuard(const RCSResourceObject&);
~WeakGuard();
WeakGuard(const WeakGuard&) = delete;
private:
bool m_isOwningLock;
- const ResourceObject& m_resourceObject;
+ const RCSResourceObject& m_resourceObject;
};
}
}
-#endif // SERVERBUILDER_RESOURCEOBJECT_H
+#endif // SERVER_RCSRESOURCEOBJECT_H
* @see const_iterator
* @see DiscoveryManager
* @see RemoteResourceObject
- * @see ResourceObject
+ * @see RCSResourceObject
*/
class ResourceAttributes
{
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-#ifndef COMMON_INTERNAL_RESOURCEATTRIBUTESUTILS_H
-#define COMMON_INTERNAL_RESOURCEATTRIBUTESUTILS_H
+#ifndef COMMON_RESOURCEATTRIBUTESUTILS_H
+#define COMMON_RESOURCEATTRIBUTESUTILS_H
#include <vector>
#include <string>
+#include <ResourceAttributes.h>
+
namespace OIC
{
namespace Service
}
}
-#endif // COMMON_INTERNAL_RESOURCEATTRIBUTESUTILS_H
+#endif // COMMON_RESOURCEATTRIBUTESUTILS_H
#include "RCSRequest.h"
#include "RCSResponse.h"
-#include "ResourceObject.h"
+#include "RCSResourceObject.h"
#if(JAVA_SUPPORT)
#include <jni.h>
void onNotificationReceived(const std::string &strResourceUri);
static ResourceContainerImpl *getImplInstance();
- static ResourceObject::Ptr buildResourceObject(const std::string &strUri, const std::string &strResourceType);
+ static RCSResourceObject::Ptr buildResourceObject(const std::string &strUri, const std::string &strResourceType);
void startBundle(const std::string &bundleId);
void stopBundle(const std::string &bundleId);
private:
map< std::string, BundleInfoInternal * > m_bundles; // <bundleID, bundleInfo>
- map< std::string, ResourceObject::Ptr > m_mapServers; //<uri, serverPtr>
+ map< std::string, RCSResourceObject::Ptr > m_mapServers; //<uri, serverPtr>
map< std::string, BundleResource * > m_mapResources; //<uri, resourcePtr>
map< std::string, list<string> > m_mapBundleResources; //<bundleID, vector<uri>>
string m_configFile;
if (!m_mapServers.empty())
{
- map< std::string, ResourceObject::Ptr >::iterator itor = m_mapServers.begin();
+ map< std::string, RCSResourceObject::Ptr >::iterator itor = m_mapServers.begin();
while (itor != m_mapServers.end())
{
{
string strUri = resource->m_uri;
string strResourceType = resource->m_resourceType;
- ResourceObject::Ptr server = nullptr;
+ RCSResourceObject::Ptr server = nullptr;
info_logger() << "Registration of resource " << strUri << "," << strResourceType << endl;
return &m_instance;
}
- ResourceObject::Ptr ResourceContainerImpl::buildResourceObject(const std::string & strUri,
+ RCSResourceObject::Ptr ResourceContainerImpl::buildResourceObject(const std::string & strUri,
const std::string & strResourceType)
{
- return ResourceObject::Builder(strUri, strResourceType, "DEFAULT_INTERFACE").setObservable(
+ return RCSResourceObject::Builder(strUri, strResourceType, "DEFAULT_INTERFACE").setObservable(
true).setDiscoverable(true).build();
}
#include "ResourceContainerBundleAPI.h"
#include "ResourceContainerImpl.h"
-#include "ResourceObject.h"
+#include "RCSResourceObject.h"
using namespace std;
using namespace testing;
public:
MockRepository mocks;
- ResourceObject *m_pResourceObject;
+ RCSResourceObject *m_pResourceObject;
ResourceContainerBundleAPI *m_pResourceContainer;
TestBundleResource *m_pBundleResource;
void SetUp()
{
TestWithMock::SetUp();
- m_pResourceObject = mocks.Mock<ResourceObject>();
+ m_pResourceObject = mocks.Mock<RCSResourceObject>();
m_pResourceContainer = ResourceContainerBundleAPI::getInstance();
m_pBundleResource = new TestBundleResource();
TEST_F(ResourceContainerBundleAPITest, RequestHandlerForResourceServerSetWhenRegisterResourceCalled)
{
mocks.OnCallFunc(ResourceContainerImpl::buildResourceObject).Return(
- ResourceObject::Ptr(m_pResourceObject, [](ResourceObject *)
+ RCSResourceObject::Ptr(m_pResourceObject, [](RCSResourceObject *)
{}));
- mocks.ExpectCall(m_pResourceObject, ResourceObject::setGetRequestHandler);
- mocks.ExpectCall(m_pResourceObject, ResourceObject::setSetRequestHandler);
+ mocks.ExpectCall(m_pResourceObject, RCSResourceObject::setGetRequestHandler);
+ mocks.ExpectCall(m_pResourceObject, RCSResourceObject::setSetRequestHandler);
m_pResourceContainer->registerResource(m_pBundleResource);
TEST_F(ResourceContainerBundleAPITest, BundleResourceUnregisteredWhenUnregisterResourceCalled)
{
mocks.OnCallFunc(ResourceContainerImpl::buildResourceObject).Return(
- ResourceObject::Ptr(m_pResourceObject, [](ResourceObject *)
+ RCSResourceObject::Ptr(m_pResourceObject, [](RCSResourceObject *)
{}));
- mocks.ExpectCall(m_pResourceObject, ResourceObject::setGetRequestHandler);
- mocks.ExpectCall(m_pResourceObject, ResourceObject::setSetRequestHandler);
+ mocks.ExpectCall(m_pResourceObject, RCSResourceObject::setGetRequestHandler);
+ mocks.ExpectCall(m_pResourceObject, RCSResourceObject::setSetRequestHandler);
m_pResourceContainer->registerResource(m_pBundleResource);
m_pResourceContainer->unregisterResource(m_pBundleResource);
ServerNotifiesToObserversWhenNotificationReceivedFromResource)
{
mocks.OnCallFunc(ResourceContainerImpl::buildResourceObject).Return(
- ResourceObject::Ptr(m_pResourceObject, [](ResourceObject *)
+ RCSResourceObject::Ptr(m_pResourceObject, [](RCSResourceObject *)
{}));
- mocks.ExpectCall(m_pResourceObject, ResourceObject::setGetRequestHandler);
- mocks.ExpectCall(m_pResourceObject, ResourceObject::setSetRequestHandler);
+ mocks.ExpectCall(m_pResourceObject, RCSResourceObject::setGetRequestHandler);
+ mocks.ExpectCall(m_pResourceObject, RCSResourceObject::setSetRequestHandler);
m_pResourceContainer->registerResource(m_pBundleResource);
- mocks.ExpectCall(m_pResourceObject, ResourceObject::notify);
+ mocks.ExpectCall(m_pResourceObject, RCSResourceObject::notify);
m_pResourceContainer->onNotificationReceived(m_pBundleResource->m_uri);
#ifndef SERVERBUILDER_REQUESTHANDLER_H
#define SERVERBUILDER_REQUESTHANDLER_H
-#include <ResourceObject.h>
#include <RCSResponse.h>
#include <ResourceAttributesUtils.h>
namespace Service
{
+ class RCSResourceObject;
+
class RequestHandler
{
private:
- typedef std::function< std::shared_ptr< OC::OCResourceResponse >(ResourceObject&) >
+ typedef std::function< std::shared_ptr< OC::OCResourceResponse >(RCSResourceObject&) >
BuildResponseHolder;
public:
virtual ~RequestHandler() { };
- std::shared_ptr< OC::OCResourceResponse > buildResponse(ResourceObject&);
+ std::shared_ptr< OC::OCResourceResponse > buildResponse(RCSResourceObject&);
private:
const BuildResponseHolder m_holder;
int errorCode = DEFAULT_ERROR_CODE);
AttrKeyValuePairs applyAcceptanceMethod(RCSSetResponse::AcceptanceMethod,
- ResourceObject&, const ResourceAttributes&) const;
+ RCSResourceObject&, const ResourceAttributes&) const;
};
}
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-#include <ResourceObject.h>
+#include <RCSResourceObject.h>
#include <string>
#include <functional>
{
using namespace OIC::Service;
- constexpr char LOG_TAG[]{ "ResourceObject" };
+ constexpr char LOG_TAG[]{ "RCSResourceObject" };
inline bool hasProperty(uint8_t base, uint8_t target)
{
}
template <typename RESPONSE>
- OCEntityHandlerResult sendResponse(ResourceObject& resource,
+ OCEntityHandlerResult sendResponse(RCSResourceObject& resource,
std::shared_ptr< OC::OCResourceRequest > ocRequest, RESPONSE&& response)
{
auto ocResponse = response.getHandler()->buildResponse(resource);
return RESPONSE::defaultAction();
}
- typedef void (ResourceObject::* AutoNotifyFunc)(bool, ResourceObject::AutoNotifyPolicy) const;
+ typedef void (RCSResourceObject::* AutoNotifyFunc)(bool, RCSResourceObject::AutoNotifyPolicy) const;
std::function <void ()> createAutoNotifyInvoker(AutoNotifyFunc autoNotifyFunc,
- const ResourceObject& resourceObject, const ResourceAttributes& resourceAttributes,
- ResourceObject::AutoNotifyPolicy autoNotifyPolicy)
+ const RCSResourceObject& resourceObject, const ResourceAttributes& resourceAttributes,
+ RCSResourceObject::AutoNotifyPolicy autoNotifyPolicy)
{
- if(autoNotifyPolicy == ResourceObject::AutoNotifyPolicy::UPDATED)
+ if(autoNotifyPolicy == RCSResourceObject::AutoNotifyPolicy::UPDATED)
{
auto&& compareAttributesFunc =
std::bind(std::not_equal_to<ResourceAttributes>(),
return std::bind(autoNotifyFunc,
&resourceObject, std::move(compareAttributesFunc), autoNotifyPolicy);
}
- else if(autoNotifyPolicy == ResourceObject::AutoNotifyPolicy::ALWAYS)
+ else if(autoNotifyPolicy == RCSResourceObject::AutoNotifyPolicy::ALWAYS)
{
return std::bind(autoNotifyFunc,
&resourceObject, true, autoNotifyPolicy);
namespace Service
{
- ResourceObject::Builder::Builder(const std::string& uri, const std::string& type,
+ RCSResourceObject::Builder::Builder(const std::string& uri, const std::string& type,
const std::string& interface) :
m_uri{ uri },
m_type{ type },
{
}
- ResourceObject::Builder& ResourceObject::Builder::setDiscoverable(
+ RCSResourceObject::Builder& RCSResourceObject::Builder::setDiscoverable(
bool discoverable)
{
m_properties = ::makePropertyFlags(m_properties, OC_DISCOVERABLE, discoverable);
return *this;
}
- ResourceObject::Builder& ResourceObject::Builder::setObservable(
+ RCSResourceObject::Builder& RCSResourceObject::Builder::setObservable(
bool observable)
{
m_properties = ::makePropertyFlags(m_properties, OC_OBSERVABLE, observable);
return *this;
}
- ResourceObject::Builder& ResourceObject::Builder::setAttributes(
+ RCSResourceObject::Builder& RCSResourceObject::Builder::setAttributes(
const ResourceAttributes& attrs)
{
m_resourceAttributes = attrs;
return *this;
}
- ResourceObject::Builder& ResourceObject::Builder::setAttributes(
+ RCSResourceObject::Builder& RCSResourceObject::Builder::setAttributes(
ResourceAttributes&& attrs)
{
m_resourceAttributes = std::move(attrs);
return *this;
}
- ResourceObject::Ptr ResourceObject::Builder::build()
+ RCSResourceObject::Ptr RCSResourceObject::Builder::build()
{
OCResourceHandle handle{ nullptr };
- ResourceObject::Ptr server {
- new ResourceObject{ m_properties, std::move(m_resourceAttributes) } };
+ RCSResourceObject::Ptr server {
+ new RCSResourceObject{ m_properties, std::move(m_resourceAttributes) } };
- OC::EntityHandler entityHandler{ std::bind(&ResourceObject::entityHandler,
+ OC::EntityHandler entityHandler{ std::bind(&RCSResourceObject::entityHandler,
server.get(), std::placeholders::_1) };
try
}
- ResourceObject::ResourceObject(uint8_t properties, ResourceAttributes&& attrs) :
+ RCSResourceObject::RCSResourceObject(uint8_t properties, ResourceAttributes&& attrs) :
m_properties { properties },
m_resourceHandle{ },
m_resourceAttributes{ std::move(attrs) },
{
}
- ResourceObject::~ResourceObject()
+ RCSResourceObject::~RCSResourceObject()
{
if (m_resourceHandle)
{
}
}
- void ResourceObject::setAttribute(const std::string& key,
+ void RCSResourceObject::setAttribute(const std::string& key,
const ResourceAttributes::Value& value)
{
WeakGuard lock(*this);
m_resourceAttributes[key] = value;
}
- void ResourceObject::setAttribute(const std::string& key, ResourceAttributes::Value&& value)
+ void RCSResourceObject::setAttribute(const std::string& key, ResourceAttributes::Value&& value)
{
WeakGuard lock(*this);
m_resourceAttributes[key] = std::move(value);
}
- void ResourceObject::setAttribute(std::string&& key, const ResourceAttributes::Value& value)
+ void RCSResourceObject::setAttribute(std::string&& key, const ResourceAttributes::Value& value)
{
WeakGuard lock(*this);
m_resourceAttributes[std::move(key)] = value;
}
- void ResourceObject::setAttribute(std::string&& key, ResourceAttributes::Value&& value)
+ void RCSResourceObject::setAttribute(std::string&& key, ResourceAttributes::Value&& value)
{
WeakGuard lock(*this);
m_resourceAttributes[std::move(key)] = std::move(value);
}
- ResourceAttributes::Value ResourceObject::getAttributeValue(const std::string& key) const
+ ResourceAttributes::Value RCSResourceObject::getAttributeValue(const std::string& key) const
{
WeakGuard lock(*this);
return m_resourceAttributes.at(key);
}
- bool ResourceObject::removeAttribute(const std::string& key)
+ bool RCSResourceObject::removeAttribute(const std::string& key)
{
WeakGuard lock(*this);
if (m_resourceAttributes.erase(key))
return false;
}
- bool ResourceObject::containsAttribute(const std::string& key) const
+ bool RCSResourceObject::containsAttribute(const std::string& key) const
{
WeakGuard lock(*this);
return m_resourceAttributes.contains(key);
}
- ResourceAttributes& ResourceObject::getAttributes()
+ ResourceAttributes& RCSResourceObject::getAttributes()
{
expectOwnLock();
return m_resourceAttributes;
}
- const ResourceAttributes& ResourceObject::getAttributes() const
+ const ResourceAttributes& RCSResourceObject::getAttributes() const
{
expectOwnLock();
return m_resourceAttributes;
}
- void ResourceObject::expectOwnLock() const
+ void RCSResourceObject::expectOwnLock() const
{
if (m_lockOwner != std::this_thread::get_id())
{
}
}
- bool ResourceObject::isObservable() const
+ bool RCSResourceObject::isObservable() const
{
return ::hasProperty(m_properties, OC_OBSERVABLE);
}
- bool ResourceObject::isDiscoverable() const
+ bool RCSResourceObject::isDiscoverable() const
{
return ::hasProperty(m_properties, OC_DISCOVERABLE);
}
- void ResourceObject::setGetRequestHandler(GetRequestHandler h)
+ void RCSResourceObject::setGetRequestHandler(GetRequestHandler h)
{
m_getRequestHandler = std::move(h);
}
- void ResourceObject::setSetRequestHandler(SetRequestHandler h)
+ void RCSResourceObject::setSetRequestHandler(SetRequestHandler h)
{
m_setRequestHandler = std::move(h);
}
- void ResourceObject::notify() const
+ void RCSResourceObject::notify() const
{
typedef OCStackResult (*NotifyAllObservers)(OCResourceHandle);
m_resourceHandle);
}
- void ResourceObject::addAttributeUpdatedListener(const std::string& key,
+ void RCSResourceObject::addAttributeUpdatedListener(const std::string& key,
AttributeUpdatedListener h)
{
std::lock_guard<std::mutex> lock(m_mutexKeyAttributeUpdate);
m_keyAttributesUpdatedListeners[key] = std::move(h);
}
- void ResourceObject::addAttributeUpdatedListener(std::string&& key,
+ void RCSResourceObject::addAttributeUpdatedListener(std::string&& key,
AttributeUpdatedListener h)
{
std::lock_guard<std::mutex> lock(m_mutexKeyAttributeUpdate);
m_keyAttributesUpdatedListeners[std::move(key)] = std::move(h);
}
- bool ResourceObject::removeAttributeUpdatedListener(const std::string& key)
+ bool RCSResourceObject::removeAttributeUpdatedListener(const std::string& key)
{
std::lock_guard<std::mutex> lock(m_mutexKeyAttributeUpdate);
return (bool) m_keyAttributesUpdatedListeners.erase(key);
}
- void ResourceObject::autoNotifyIfNeeded(const std::string& key,
+ void RCSResourceObject::autoNotifyIfNeeded(const std::string& key,
const ResourceAttributes::Value& value)
{
autoNotify( m_resourceAttributes.contains(key) == false
, m_autoNotifyPolicy);
}
- void ResourceObject::setAutoNotifyPolicy(AutoNotifyPolicy policy)
+ void RCSResourceObject::setAutoNotifyPolicy(AutoNotifyPolicy policy)
{
m_autoNotifyPolicy = policy;
}
- ResourceObject::AutoNotifyPolicy ResourceObject::getAutoNotifyPolicy() const
+ RCSResourceObject::AutoNotifyPolicy RCSResourceObject::getAutoNotifyPolicy() const
{
return m_autoNotifyPolicy;
}
- void ResourceObject::setSetRequestHandlerPolicy(SetRequestHandlerPolicy policy)
+ void RCSResourceObject::setSetRequestHandlerPolicy(SetRequestHandlerPolicy policy)
{
m_setRequestHandlerPolicy = policy;
}
- ResourceObject::SetRequestHandlerPolicy ResourceObject::getSetRequestHandlerPolicy() const
+ RCSResourceObject::SetRequestHandlerPolicy RCSResourceObject::getSetRequestHandlerPolicy() const
{
return m_setRequestHandlerPolicy;
}
- void ResourceObject::autoNotify(
+ void RCSResourceObject::autoNotify(
bool isAttributesChanged, AutoNotifyPolicy autoNotifyPolicy) const
{
if(autoNotifyPolicy == AutoNotifyPolicy::NEVER) return;
notify();
}
- OCEntityHandlerResult ResourceObject::entityHandler(
+ OCEntityHandlerResult RCSResourceObject::entityHandler(
std::shared_ptr< OC::OCResourceRequest > request)
{
if (!request)
return OC_EH_ERROR;
}
- OCEntityHandlerResult ResourceObject::handleRequest(
+ OCEntityHandlerResult RCSResourceObject::handleRequest(
std::shared_ptr< OC::OCResourceRequest > request)
{
assert(request != nullptr);
return OC_EH_ERROR;
}
- OCEntityHandlerResult ResourceObject::handleRequestGet(
+ OCEntityHandlerResult RCSResourceObject::handleRequestGet(
std::shared_ptr< OC::OCResourceRequest > request)
{
assert(request != nullptr);
return sendResponse(*this, request, invokeHandler(attrs, request, m_getRequestHandler));
}
- OCEntityHandlerResult ResourceObject::handleRequestSet(
+ OCEntityHandlerResult RCSResourceObject::handleRequestSet(
std::shared_ptr< OC::OCResourceRequest > request)
{
assert(request != nullptr);
return sendResponse(*this, request, response);
}
- OCEntityHandlerResult ResourceObject::handleObserve(
+ OCEntityHandlerResult RCSResourceObject::handleObserve(
std::shared_ptr< OC::OCResourceRequest > request)
{
assert(request != nullptr);
return OC_EH_OK;
}
- ResourceObject::LockGuard::LockGuard(const ResourceObject::Ptr ptr) :
+ RCSResourceObject::LockGuard::LockGuard(const RCSResourceObject::Ptr ptr) :
m_resourceObject(*ptr),
m_autoNotifyPolicy{ ptr->getAutoNotifyPolicy() },
m_isOwningLock{ false }
init();
}
- ResourceObject::LockGuard::LockGuard(
- const ResourceObject& serverResource) :
+ RCSResourceObject::LockGuard::LockGuard(
+ const RCSResourceObject& serverResource) :
m_resourceObject(serverResource),
m_autoNotifyPolicy{ serverResource.getAutoNotifyPolicy() },
m_isOwningLock{ false }
init();
}
- ResourceObject::LockGuard::LockGuard(
- const ResourceObject::Ptr ptr, AutoNotifyPolicy autoNotifyPolicy) :
+ RCSResourceObject::LockGuard::LockGuard(
+ const RCSResourceObject::Ptr ptr, AutoNotifyPolicy autoNotifyPolicy) :
m_resourceObject(*ptr),
m_autoNotifyPolicy { autoNotifyPolicy },
m_isOwningLock{ false }
init();
}
- ResourceObject::LockGuard::LockGuard(
- const ResourceObject& resourceObject, AutoNotifyPolicy autoNotifyPolicy) :
+ RCSResourceObject::LockGuard::LockGuard(
+ const RCSResourceObject& resourceObject, AutoNotifyPolicy autoNotifyPolicy) :
m_resourceObject(resourceObject),
m_autoNotifyPolicy { autoNotifyPolicy },
m_isOwningLock{ false }
init();
}
- ResourceObject::LockGuard::~LockGuard()
+ RCSResourceObject::LockGuard::~LockGuard()
{
if (m_autoNotifyFunc) m_autoNotifyFunc();
}
}
- void ResourceObject::LockGuard::init()
+ void RCSResourceObject::LockGuard::init()
{
if (m_resourceObject.m_lockOwner != std::this_thread::get_id())
{
m_resourceObject.m_lockOwner = std::this_thread::get_id();
m_isOwningLock = true;
}
- m_autoNotifyFunc = ::createAutoNotifyInvoker(&ResourceObject::autoNotify,
+ m_autoNotifyFunc = ::createAutoNotifyInvoker(&RCSResourceObject::autoNotify,
m_resourceObject, m_resourceObject.m_resourceAttributes, m_autoNotifyPolicy);
}
- ResourceObject::WeakGuard::WeakGuard(
- const ResourceObject& resourceObject) :
+ RCSResourceObject::WeakGuard::WeakGuard(
+ const RCSResourceObject& resourceObject) :
m_isOwningLock{ false },
m_resourceObject(resourceObject)
{
}
}
- ResourceObject::WeakGuard::~WeakGuard()
+ RCSResourceObject::WeakGuard::~WeakGuard()
{
if (m_isOwningLock)
{
}
}
- bool ResourceObject::WeakGuard::hasLocked() const
+ bool RCSResourceObject::WeakGuard::hasLocked() const
{
return m_isOwningLock;
}
#include <RequestHandler.h>
+#include <cassert>
+
namespace OIC
{
namespace Service
#include <OCResourceResponse.h>
#include <ResourceAttributesConverter.h>
+#include <RCSResourceObject.h>
namespace
{
using namespace OIC::Service;
- typedef std::function< OC::OCRepresentation(ResourceObject&) > OCRepresentationGetter;
+ typedef std::function< OC::OCRepresentation(RCSResourceObject&) > OCRepresentationGetter;
- OC::OCRepresentation getOCRepresentationFromResource(ResourceObject& resource)
+ OC::OCRepresentation getOCRepresentationFromResource(RCSResourceObject& resource)
{
- ResourceObject::LockGuard lock{ resource, ResourceObject::AutoNotifyPolicy::NEVER };
+ RCSResourceObject::LockGuard lock{ resource, RCSResourceObject::AutoNotifyPolicy::NEVER };
return ResourceAttributesConverter::toOCRepresentation(resource.getAttributes());
}
return std::bind(getOCRepresentation, std::forward<T>(attrs));
}
- std::shared_ptr< OC::OCResourceResponse > doBuildResponse(ResourceObject& resource,
+ std::shared_ptr< OC::OCResourceResponse > doBuildResponse(RCSResourceObject& resource,
const OCEntityHandlerResult result, int errorCode, OCRepresentationGetter ocRepGetter)
{
auto response = std::make_shared< OC::OCResourceResponse >();
return response;
}
- AttrKeyValuePairs applyAcceptMethod(ResourceObject& resource,
+ AttrKeyValuePairs applyAcceptMethod(RCSResourceObject& resource,
const ResourceAttributes& requestAttrs)
{
- ResourceObject::LockGuard lock(resource, ResourceObject::AutoNotifyPolicy::NEVER);
+ RCSResourceObject::LockGuard lock(resource, RCSResourceObject::AutoNotifyPolicy::NEVER);
return replaceAttributes(resource.getAttributes(), requestAttrs);
}
- AttrKeyValuePairs applyDefaultMethod(ResourceObject& resource,
+ AttrKeyValuePairs applyDefaultMethod(RCSResourceObject& resource,
const ResourceAttributes& requestAttrs)
{
- ResourceObject::LockGuard lock(resource, ResourceObject::AutoNotifyPolicy::NEVER);
+ RCSResourceObject::LockGuard lock(resource, RCSResourceObject::AutoNotifyPolicy::NEVER);
if (resource.getSetRequestHandlerPolicy()
- != ResourceObject::SetRequestHandlerPolicy::ACCEPTANCE
+ != RCSResourceObject::SetRequestHandlerPolicy::ACCEPTANCE
&& !acceptableAttributes(resource.getAttributes(), requestAttrs))
{
return AttrKeyValuePairs{ };
return replaceAttributes(resource.getAttributes(), requestAttrs);
}
- AttrKeyValuePairs applyIgnoreMethod(ResourceObject&, const ResourceAttributes&)
+ AttrKeyValuePairs applyIgnoreMethod(RCSResourceObject&, const ResourceAttributes&)
{
return AttrKeyValuePairs();
}
auto getApplyAcceptanceFunc(RCSSetResponse::AcceptanceMethod method) ->
- std::function<AttrKeyValuePairs(ResourceObject&, const ResourceAttributes&)>
+ std::function<AttrKeyValuePairs(RCSResourceObject&, const ResourceAttributes&)>
{
switch (method)
{
}
std::shared_ptr< OC::OCResourceResponse > RequestHandler::buildResponse(
- ResourceObject& resource)
+ RCSResourceObject& resource)
{
return m_holder(resource);
}
}
AttrKeyValuePairs SetRequestHandler::applyAcceptanceMethod(
- RCSSetResponse::AcceptanceMethod method, ResourceObject& resource,
+ RCSSetResponse::AcceptanceMethod method, RCSResourceObject& resource,
const ResourceAttributes& requestAttrs) const
{
return getApplyAcceptanceFunc(method)(resource, requestAttrs);
#include <UnitTestHelper.h>
-#include <ResourceObject.h>
+#include <RCSResourceObject.h>
#include <OCPlatform.h>
TEST(ResourceObjectBuilderCreateTest, ThrowIfUriIsInvalid)
{
- ASSERT_THROW(ResourceObject::Builder("", "", "").build(), PlatformException);
+ ASSERT_THROW(RCSResourceObject::Builder("", "", "").build(), PlatformException);
}
class ResourceObjectBuilderTest: public TestWithMock
mocks.ExpectCallFuncOverload(static_cast< registerResource >(OCPlatform::registerResource))
.Return(OC_STACK_OK);
- ResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").build();
+ RCSResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").build();
}
TEST_F(ResourceObjectBuilderTest, ResourceServerHasPropertiesSetByBuilder)
{
- auto serverResource = ResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").
+ auto serverResource = RCSResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").
setDiscoverable(false).setObservable(true).build();
EXPECT_FALSE(serverResource->isDiscoverable());
ResourceAttributes attrs;
attrs[KEY] = 100;
- auto serverResource = ResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").
+ auto serverResource = RCSResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").
setAttributes(attrs).build();
- ResourceObject::LockGuard lock{ serverResource, ResourceObject::AutoNotifyPolicy::NEVER };
+ RCSResourceObject::LockGuard lock{ serverResource, RCSResourceObject::AutoNotifyPolicy::NEVER };
EXPECT_EQ(attrs, serverResource->getAttributes());
}
class ResourceObjectTest: public TestWithMock
{
public:
- ResourceObject::Ptr server;
+ RCSResourceObject::Ptr server;
protected:
void SetUp()
initMocks();
- server = ResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").build();
+ server = RCSResourceObject::Builder(RESOURCE_URI, RESOURCE_TYPE, "").build();
initResourceObject();
}
}
virtual void initResourceObject() {
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::NEVER);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::NEVER);
}
};
TEST_F(ResourceObjectTest, AccessAttributesWithLock)
{
{
- ResourceObject::LockGuard lock{ server };
+ RCSResourceObject::LockGuard lock{ server };
auto& attr = server->getAttributes();
attr[KEY] = value;
}
TEST_F(ResourceObjectTest, SettingAttributesWithinGuardDoesntCauseDeadLock)
{
{
- ResourceObject::LockGuard guard{ server };
+ RCSResourceObject::LockGuard guard{ server };
server->setAttribute(KEY, value);
}
TEST_F(AutoNotifyTest, DefalutAutoNotifyPolicyIsUpdated)
{
- ASSERT_EQ(ResourceObject::AutoNotifyPolicy::UPDATED, server->getAutoNotifyPolicy());
+ ASSERT_EQ(RCSResourceObject::AutoNotifyPolicy::UPDATED, server->getAutoNotifyPolicy());
}
TEST_F(AutoNotifyTest, AutoNotifyPolicyCanBeSet)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::NEVER);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::NEVER);
- ASSERT_EQ(ResourceObject::AutoNotifyPolicy::NEVER, server->getAutoNotifyPolicy());
+ ASSERT_EQ(RCSResourceObject::AutoNotifyPolicy::NEVER, server->getAutoNotifyPolicy());
}
TEST_F(AutoNotifyTest, WithUpdatedPolicy_NeverBeNotifiedIfAttributeIsNotChanged)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::UPDATED);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::UPDATED);
server->setAttribute(KEY, value);
mocks.NeverCallFuncOverload(static_cast< NotifyAllObservers >(
TEST_F(AutoNotifyTest, WithUpdatedPolicy_WillBeNotifiedIfAttributeIsChanged)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::UPDATED);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::UPDATED);
server->setAttribute(KEY, value);
mocks.ExpectCallFuncOverload(static_cast< NotifyAllObservers >(
TEST_F(AutoNotifyTest, WithUpdatedPolicy_WillBeNotifiedIfValueIsAdded)
{
constexpr char newKey[]{ "newKey" };
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::UPDATED);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::UPDATED);
mocks.ExpectCallFuncOverload(static_cast< NotifyAllObservers >(
OC::OCPlatform::notifyAllObservers)).Return(OC_STACK_OK);
TEST_F(AutoNotifyTest, WithNeverPolicy_NeverBeNotifiedEvenIfAttributeIsChanged)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::NEVER);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::NEVER);
mocks.NeverCallFuncOverload(static_cast< NotifyAllObservers >(
OC::OCPlatform::notifyAllObservers));
- ResourceObject::LockGuard lock{ server };
+ RCSResourceObject::LockGuard lock{ server };
server->setAttribute(KEY, value);
}
TEST_F(AutoNotifyTest, WithUpdatePolicy_WillBeNotifiedIfAttributeIsDeleted)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::UPDATED);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::UPDATED);
server->setAttribute(KEY, value);
mocks.ExpectCallFuncOverload(static_cast< NotifyAllObservers >(
TEST_F(AutoNotifyWithGuardTest, GuardFollowsServerPolicyByDefault)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::UPDATED);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::UPDATED);
mocks.ExpectCallFuncOverload(static_cast< NotifyAllObservers >(
OC::OCPlatform::notifyAllObservers)).Return(OC_STACK_OK);
- ResourceObject::LockGuard guard{ server };
+ RCSResourceObject::LockGuard guard{ server };
server->setAttribute(KEY, value);
}
TEST_F(AutoNotifyWithGuardTest, GuardCanOverridePolicy)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::ALWAYS);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::ALWAYS);
mocks.NeverCallFuncOverload(static_cast< NotifyAllObservers >(
OC::OCPlatform::notifyAllObservers));
- ResourceObject::LockGuard guard{ server, ResourceObject::AutoNotifyPolicy::NEVER };
+ RCSResourceObject::LockGuard guard{ server, RCSResourceObject::AutoNotifyPolicy::NEVER };
server->getAttributes()[KEY] = value;
}
TEST_F(AutoNotifyWithGuardTest, GuardInvokesNotifyWhenDestroyed)
{
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::NEVER);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::NEVER);
mocks.ExpectCallFuncOverload(static_cast< NotifyAllObservers >(
OC::OCPlatform::notifyAllObservers)).Return(OC_STACK_OK);
{
- ResourceObject::LockGuard guard{ server, ResourceObject::AutoNotifyPolicy::ALWAYS };
+ RCSResourceObject::LockGuard guard{ server, RCSResourceObject::AutoNotifyPolicy::ALWAYS };
server->setAttribute(KEY, value);
}
TEST_F(SetRequestHandlerPolicyTest, DefalutSetRequestHandlerPolicyIsNever)
{
- ASSERT_EQ(ResourceObject::SetRequestHandlerPolicy::NEVER,
+ ASSERT_EQ(RCSResourceObject::SetRequestHandlerPolicy::NEVER,
server->getSetRequestHandlerPolicy());
}
TEST_F(SetRequestHandlerPolicyTest, SetRequestHandlerPolicyCanBeSet)
{
- server->setSetRequestHandlerPolicy(ResourceObject::SetRequestHandlerPolicy::ACCEPTANCE);
+ server->setSetRequestHandlerPolicy(RCSResourceObject::SetRequestHandlerPolicy::ACCEPTANCE);
- ASSERT_EQ(ResourceObject::SetRequestHandlerPolicy::ACCEPTANCE,
+ ASSERT_EQ(RCSResourceObject::SetRequestHandlerPolicy::ACCEPTANCE,
server->getSetRequestHandlerPolicy());
}
{
OCRepresentation ocRep = createOCRepresentation();
ocRep.setValue("NewKey", value);
- server->setSetRequestHandlerPolicy(ResourceObject::SetRequestHandlerPolicy::NEVER);
+ server->setSetRequestHandlerPolicy(RCSResourceObject::SetRequestHandlerPolicy::NEVER);
handler(createRequest(OC_REST_PUT, ocRep));
- ResourceObject::LockGuard guard{ server };
+ RCSResourceObject::LockGuard guard{ server };
ASSERT_FALSE((server->getAttributes()).contains("NewKey"));
}
{
OCRepresentation ocRep = createOCRepresentation();
ocRep.setValue("NewKey", value);
- server->setSetRequestHandlerPolicy(ResourceObject::SetRequestHandlerPolicy::ACCEPTANCE);
+ server->setSetRequestHandlerPolicy(RCSResourceObject::SetRequestHandlerPolicy::ACCEPTANCE);
handler(createRequest(OC_REST_PUT, ocRep));
- ResourceObject::LockGuard guard{ server };
+ RCSResourceObject::LockGuard guard{ server };
ASSERT_TRUE((server->getAttributes()).contains("NewKey"));
}
{
public:
- static void withLock(ResourceObject::Ptr serverResource, int count)
+ static void withLock(RCSResourceObject::Ptr serverResource, int count)
{
for (int i=0; i<count; ++i)
{
- ResourceObject::LockGuard lock{ serverResource };
+ RCSResourceObject::LockGuard lock{ serverResource };
auto& attrs = serverResource->getAttributes();
}
}
- static void withSetter(ResourceObject::Ptr serverResource, int count)
+ static void withSetter(RCSResourceObject::Ptr serverResource, int count)
{
for (int i=0; i<count; ++i)
{
- ResourceObject::LockGuard lock{ serverResource };
+ RCSResourceObject::LockGuard lock{ serverResource };
serverResource->setAttribute(KEY, serverResource->getAttribute<int>(KEY) + 1);
}
#include <UnitTestHelper.h>
#include <RCSResponse.h>
-#include <ResourceObject.h>
+#include <RCSResourceObject.h>
#include <RequestHandler.h>
#include <ResourceAttributesConverter.h>
template< typename T >
shared_ptr< OCResourceResponse > buildResponse(const T& response)
{
- ResourceObject::Ptr server =
- ResourceObject::Builder("a/test", "", "").build();
+ RCSResourceObject::Ptr server =
+ RCSResourceObject::Builder("a/test", "", "").build();
return response.getHandler()->buildResponse(*server);
}
#include <UnitTestHelper.h>
#include <RequestHandler.h>
+#include <RCSResourceObject.h>
#include <OCPlatform.h>
class RequestHandlerTest: public TestWithMock
{
public:
- ResourceObject::Ptr server;
+ RCSResourceObject::Ptr server;
protected:
void SetUp()
mocks.OnCallFunc(OC::OCPlatform::unregisterResource).Return(OC_STACK_OK);
- server = ResourceObject::Builder("a/test", "resourceType", "").build();
+ server = RCSResourceObject::Builder("a/test", "resourceType", "").build();
- server->setAutoNotifyPolicy(ResourceObject::AutoNotifyPolicy::NEVER);
+ server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::NEVER);
server->setAttribute(EXISTING, ORIGIN_VALUE);
}
};
#include <gtest/gtest.h>
#include <iostream>
#include "ResourceClient.h"
-#include "ResourceObject.h"
+#include "RCSResourceObject.h"
#include "OCPlatform.h"
#define RESOURCEURI "/a/TemperatureSensor"
DiscoveryManager *manager = DiscoveryManager::getInstance();
ResourceState receivedResourceState;
ResourceAttributes receivedResourceAttributes;
-ResourceObject::Ptr server;
+RCSResourceObject::Ptr server;
void createResource()
{
- server = ResourceObject::Builder(RESOURCEURI, RESOURCETYPE,
+ server = RCSResourceObject::Builder(RESOURCEURI, RESOURCETYPE,
RESOURCEINTERFACE).setDiscoverable(true).setObservable(true).build();
std::cout << "Resource created successfully " << std::endl;
server->setAttribute("Temperature", 0);