public:
void setPayload(const OCPayload* rep);
- void setPayload(const OCDevicePayload* rep);
-
- void setPayload(const OCPlatformPayload* rep);
-
void setPayload(const OCRepPayload* rep);
OCRepPayload* getPayload() const;
virtual ~OCRepresentation(){}
- void setDevAddr(const OCDevAddr addr);
+ void setDevAddr(const OCDevAddr&);
const std::string getHost() const;
{
try
{
- val = boost::get<T>(x->second);
- return true;
+ if (x->second.type() == typeid(T))
+ {
+ val = boost::get<T>(x->second);
+ return true;
+ }
+ else
+ {
+ val = T();
+ return false;
+ }
}
catch (boost::bad_get& e)
{
{
try
{
- val = boost::get<T>(x->second);
+ if (x->second.type() == typeid(T))
+ {
+ val = boost::get<T>(x->second);
+ }
+ else
+ {
+ return val;
+ }
}
catch (boost::bad_get& e)
{
template<typename T>
T getValue() const
{
+ T val = T();
try
{
- return boost::get<T>(m_values[m_attrName]);
+ if (m_values[m_attrName].type() == typeid(T))
+ {
+ val = boost::get<T>(m_values[m_attrName]);
+ }
+ else
+ {
+ return val;
+ }
}
catch (boost::bad_get& e)
{
- T val = T();
return val;
}
+ return val;
}
std::string getValueToString() const;
std::is_same<T, bool>::value ||
std::is_same<T, std::string>::value ||
std::is_same<T, OCRepresentation>::value ||
+ std::is_same<T, OCByteString>::value ||
std::is_same<T, std::vector<int>>::value ||
std::is_same<T, std::vector<std::vector<int>>>::value ||
std::is_same<T, std::vector<std::vector<std::vector<int>>>>::value ||
std::is_same<T, std::vector<std::vector<std::vector<std::string>>>>::value ||
std::is_same<T, std::vector<OCRepresentation>>::value ||
std::is_same<T, std::vector<std::vector<OCRepresentation>>>::value ||
- std::is_same<T, std::vector<std::vector<std::vector<OCRepresentation>>>>::value
+ std::is_same<T, std::vector<std::vector<std::vector<OCRepresentation>>>>::value ||
+ std::is_same<T, std::vector<OCByteString>>::value ||
+ std::is_same<T, std::vector<std::vector<OCByteString>>>::value ||
+ std::is_same<T, std::vector<std::vector<std::vector<OCByteString>>>>::value
, int>::type = 0// enable_if
>
#else
#endif // OC_REPRESENTATION_H_
-