projects
/
platform
/
upstream
/
iotivity.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update snapshot(2017-12-14)
[platform/upstream/iotivity.git]
/
service
/
resource-encapsulation
/
src
/
serverBuilder
/
src
/
RCSResourceObject.cpp
diff --git
a/service/resource-encapsulation/src/serverBuilder/src/RCSResourceObject.cpp
b/service/resource-encapsulation/src/serverBuilder/src/RCSResourceObject.cpp
index
db834f5
..
cecfb1d
100644
(file)
--- a/
service/resource-encapsulation/src/serverBuilder/src/RCSResourceObject.cpp
+++ b/
service/resource-encapsulation/src/serverBuilder/src/RCSResourceObject.cpp
@@
-34,6
+34,9
@@
#include "logger.h"
#include "OCPlatform.h"
#include "logger.h"
#include "OCPlatform.h"
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
#define LOG_TAG "RCSResourceObject"
namespace
#define LOG_TAG "RCSResourceObject"
namespace
@@
-88,7
+91,7
@@
namespace
RESPONSE invokeHandler(RCSResourceAttributes& attrs, const RCSRequest& request,
std::shared_ptr< HANDLER > handler)
{
RESPONSE invokeHandler(RCSResourceAttributes& attrs, const RCSRequest& request,
std::shared_ptr< HANDLER > handler)
{
- if (handler)
+ if (handler
&& *handler
)
{
return (*handler)(request, attrs);
}
{
return (*handler)(request, attrs);
}
@@
-121,6
+124,16
@@
namespace
return {};
}
return {};
}
+ void insertValue(std::vector<std::string>& container, std::string value)
+ {
+ if (value.empty()) return;
+
+ if (std::find(container.begin(), container.end(), value) == container.end())
+ {
+ container.push_back(std::move(value));
+ }
+ }
+
} // unnamed namespace
namespace OIC
} // unnamed namespace
namespace OIC
@@
-132,22
+145,29
@@
namespace OIC
std::string interface) :
m_uri{ std::move(uri) },
m_types{ std::move(type) },
std::string interface) :
m_uri{ std::move(uri) },
m_types{ std::move(type) },
- m_interfaces{
std::move(interface)
},
- m_defaultInterface
{ BASELINE_INTERFACE
},
+ m_interfaces{ },
+ m_defaultInterface
{ interface
},
m_properties{ OC_DISCOVERABLE | OC_OBSERVABLE },
m_resourceAttributes{ }
{
m_properties{ OC_DISCOVERABLE | OC_OBSERVABLE },
m_resourceAttributes{ }
{
+ addInterface(interface);
+ addInterface(BASELINE_INTERFACE);
+
+ if (m_defaultInterface.empty())
+ {
+ m_defaultInterface = BASELINE_INTERFACE;
+ }
}
RCSResourceObject::Builder& RCSResourceObject::Builder::addInterface(std::string interface)
{
}
RCSResourceObject::Builder& RCSResourceObject::Builder::addInterface(std::string interface)
{
-
m_interfaces.push_back(
std::move(interface));
+
insertValue(m_interfaces,
std::move(interface));
return *this;
}
RCSResourceObject::Builder& RCSResourceObject::Builder::addType(std::string type)
{
return *this;
}
RCSResourceObject::Builder& RCSResourceObject::Builder::addType(std::string type)
{
-
m_types.push_back(
std::move(type));
+
insertValue(m_types,
std::move(type));
return *this;
}
return *this;
}
@@
-798,7
+818,7
@@
namespace OIC
m_resourceObject, m_resourceObject.m_resourceAttributes, m_autoNotifyPolicy);
}
m_resourceObject, m_resourceObject.m_resourceAttributes, m_autoNotifyPolicy);
}
-
RCSResourceObject::WeakGuard::WeakGuard(
+ RCSResourceObject::WeakGuard::WeakGuard(
const RCSResourceObject& resourceObject) :
m_isOwningLock{ false },
m_resourceObject(resourceObject)
const RCSResourceObject& resourceObject) :
m_isOwningLock{ false },
m_resourceObject(resourceObject)