- Fix Sconscript file to use service common library.
- Fix resourceCache codes for the latest primitive resource.
Change-Id: I9212afd7c6efef9cebfd1d625b997ad37c39df61
Signed-off-by: YounghyunJoo <yh_.joo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/1269
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Hun-je Yeon <hunje.yeon@samsung.com>
Reviewed-by: JungYong KIM <jyong2.kim@samsung.com>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
######################################################################
resourcecache_env.AppendUnique(CPPPATH = ['include'])
resourcecache_env.AppendUnique(CPPPATH = ['../common/primitiveResource/include'])
-resourcecache_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'libcoap'])
+resourcecache_env.PrependUnique(LIBS = ['ServiceCommon', 'oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'libcoap'])
if target_os not in ['windows', 'winrt']:
resourcecache_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++11'])
CACHE_SRC_DIR = 'src/'
resourcecache_src = [
CACHE_SRC_DIR + 'DataCache.cpp',
- CACHE_SRC_DIR + 'ResourceCacheManager.cpp',
- CACHE_SRC_DIR + '../../common/primitiveResource/src/PrimitiveResource.cpp',
- CACHE_SRC_DIR + '../../common/primitiveResource/src/ResourceAttributes.cpp'
+ CACHE_SRC_DIR + 'ResourceCacheManager.cpp'
]
if target_os in ['tizen','android'] :
if(pResource->isObservable())
{
pResource->requestObserve(pObserveCB);
+ pResource->requestGet(pGetCB);
}
else
{
while(1)
{
- if(findSubscriber(newItem.reportID).first == 0 || newItem.reportID == 0)
+ if(findSubscriber(newItem.reportID).first != 0 || newItem.reportID == 0)
{
newItem.reportID = rand();
}
return;
}
+ state = CACHE_STATE::READY;
+
ResourceAttributes att = _rep.getAttributes();
// set data
for(auto & i : att)
{
const std::string &key = i.key();
-// std::string value = i.value();
- std::string val;
- data->insert(CachedData::value_type(key, val));
+ std::string value = i.value().toString();
+ data->insert(CachedData::value_type(key, value));
}
// notify!!
void DataCache::onGet(const HeaderOptions& _hos,
const ResponseStatement& _rep, int _result)
{
+ if(state == CACHE_STATE::READY_YET)
+ {
+ state = CACHE_STATE::READY;
+ ResourceAttributes att = _rep.getAttributes();
+
+ // set data
+ data->clear();
+
+ for(auto & i : att)
+ {
+ const std::string &key = i.key();
+ std::string value = i.value().toString();
+ data->insert(CachedData::value_type(key, value));
+ }
+ }
+ else
+ {
+
+ }
}
CACHE_STATE DataCache::getCacheState()
DataCachePtr newHandler = findDataCache(pResource);
if(newHandler == nullptr)
{
- DataCachePtr newHandler = std::make_shared<DataCache>(pResource, func, rf, reportTime);
+ newHandler = std::make_shared<DataCache>(pResource, func, rf, reportTime);
s_cacheDataList->push_back(newHandler);
}
ret = newHandler->addSubscriber(func, rf, reportTime);