void HostingObject::stateChangedCB(ResourceState state, RemoteObjectPtr rObject) { remoteState = state; switch (state) { case ResourceState::ALIVE: { if(rObject->isCaching() == false) { try { rObject->startCaching(pDataUpdateCB); }catch(InvalidParameterException &e) { OIC_HOSTING_LOG(DEBUG, "[HostingObject::stateChangedCB]startCaching InvalidParameterException:%s", e.what()); } } break; } case ResourceState::LOST_SIGNAL: case ResourceState::DESTROYED: { if(rObject->isCaching() == true) { try { rObject->stopCaching(); }catch(InvalidParameterException &e) { OIC_HOSTING_LOG(DEBUG, "[HostingObject::stateChangedCB]stopCaching InvalidParameterException:%s", e.what()); } } if(rObject->isMonitoring() == true) { try { rObject->stopMonitoring(); }catch(InvalidParameterException &e) { OIC_HOSTING_LOG(DEBUG, "[HostingObject::stateChangedCB]stopWatching InvalidParameterException:%s", e.what()); } } mirroredServer = nullptr; destroyHostingObject(); break; } default: // not support of state break; } }
void HostingObject::stateChangedCB(ResourceState state) { switch (state) { case ResourceState::ALIVE: { if (!this->remoteObject->isCaching()) { try { this->remoteObject->startCaching(pDataUpdateCB); } catch (const RCSException & e) { OIC_HOSTING_LOG(DEBUG, "[HostingObject::stateChangedCB]startCaching InvalidParameterException:%s", e.what()); } } break; } case ResourceState::LOST_SIGNAL: case ResourceState::DESTROYED: { try { this->remoteObject->stopCaching(); this->remoteObject->stopMonitoring(); } catch (const RCSException & e) { OIC_HOSTING_LOG(DEBUG, "[HostingObject::stateChangedCB]stopWatching InvalidParameterException:%s", e.what()); } mirroredServer.reset(); destroyHostingObject(); break; } default: // not support of state break; } }