コード例 #1
0
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;
    }
}
コード例 #2
0
 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;
     }
 }