voipplugins/sipconnectionprovider/ipvoicemailengine/src/ipvmbxeventmonitor.cpp
branchRCL_3
changeset 14 be41ab7b952f
parent 0 a4daefaec16c
child 15 43658d24f35d
equal deleted inserted replaced
12:876a3df1f464 14:be41ab7b952f
   111 //
   111 //
   112 void TIpVmbxEventMonitor::NotifyReceived(
   112 void TIpVmbxEventMonitor::NotifyReceived(
   113     CMceEvent& aEvent,
   113     CMceEvent& aEvent,
   114     TMceTransactionDataContainer* /*aContainer*/ )
   114     TMceTransactionDataContainer* /*aContainer*/ )
   115     {
   115     {
   116     IPVMEPRINT( "CIpVmbxEventMonitor::NotifyReceived" );
   116     IPVMEPRINT( "CIpVmbxEventMonitor::NotifyReceived - IN" );
   117     CMceEvent::TState eventState( CMceEvent::EIdle );
   117     CMceEvent::TState eventState( CMceEvent::EIdle );
   118     eventState = aEvent.State();
   118     eventState = aEvent.State();
   119     TBool firstNotify = EFalse;
   119     TBool firstNotify = EFalse;
   120 
   120 
   121     CIpVmbxBase* subscription( 
   121     CIpVmbxBase* subscription( 
   134                 if ( CIpVmbxBase::ETerminating != subscription->State() && 
   134                 if ( CIpVmbxBase::ETerminating != subscription->State() && 
   135                     CIpVmbxBase::ERegistered != subscription->State() )
   135                     CIpVmbxBase::ERegistered != subscription->State() )
   136                     {
   136                     {
   137                     
   137                     
   138                     subscription->SetStateRegistered();
   138                     subscription->SetStateRegistered();
       
   139                     IPVMEPRINT( "CIpVmbxEventMonitor::NotifyReceived - firstNotify" );
   139                     firstNotify = ETrue;
   140                     firstNotify = ETrue;
   140                     }
   141                     }
   141     
   142     
   142                 TRAPD( err, iEngine.EventReceivedL( aEvent.Recipient() ) );
   143                 TRAPD( err, iEngine.EventReceivedL( aEvent.Recipient() ) );
   143                 if ( err )
   144                 if ( err )
   149                     else
   150                     else
   150                         {
   151                         {
   151                         message = CIpVmbxEngine::EEngineSmsError;
   152                         message = CIpVmbxEngine::EEngineSmsError;
   152                         }
   153                         }
   153                     }
   154                     }
   154                 else 
   155                 else if ( firstNotify )
   155                     if ( firstNotify )
   156                     {
   156                         {
   157                     message = CIpVmbxEngine::EEngineSubscribed;
   157                         message = CIpVmbxEngine::EEngineSubscribed;
   158                     }
   158                         }
   159                 else
   159                     else
   160                     {
   160                         {
   161                     message = CIpVmbxEngine::EEngineUndefined;
   161                         message = CIpVmbxEngine::EEngineUndefined;
   162                     }
   162                         }
       
   163                 }
   163                 }
   164                 break;
   164                 break;
   165             case CMceEvent::ETerminated:
   165             case CMceEvent::ETerminated:
   166             // flow through
   166             // flow through
   167             case CMceEvent::EIdle:
   167             case CMceEvent::EIdle: