private:
// resource instance
PrimitiveResourcePtr sResource;
- std::shared_ptr<BaseResource> baseHandler;
+// std::shared_ptr<BaseResource> baseHandler;
// cached data info
RCSResourceAttributes attributes;
CACHE_STATE state;
+ CACHE_MODE mode;
// subscriber info
std::unique_ptr<SubscriberInfo> subscriberList;
sResource = nullptr;
state = CACHE_STATE::READY_YET;
+ mode = CACHE_MODE::FREQUENCY;
networkTimeOutHandle = 0;
pollingHandle = 0;
{
state = CACHE_STATE::DESTROYED;
- sResource->cancelObserve();
+ if(mode == CACHE_MODE::OBSERVE)
+ {
+ sResource->cancelObserve();
+ }
if (subscriberList != nullptr)
{
subscriberList->clear();
state = CACHE_STATE::READY;
}
+ if (mode != CACHE_MODE::OBSERVE)
+ {
+ mode = CACHE_MODE::OBSERVE;
+ }
+
networkTimer.cancelTimer(networkTimeOutHandle);
networkTimeOutHandle = networkTimer.postTimer(CACHE_DEFAULT_EXPIRED_MILLITIME, pTimerCB);
{
if (sResource != nullptr)
{
+ mode = CACHE_MODE::FREQUENCY;
sResource->requestGet(pGetCB);
}
return;