idlefw/plugins/devicestatus/src/ainetworkinfolistener.cpp
branchRCL_3
changeset 23 ace62b58f4b2
parent 11 bd874ee5e5e2
equal deleted inserted replaced
22:1b207dd38b72 23:ace62b58f4b2
   153     }
   153     }
   154 
   154 
   155 
   155 
   156 void CAiNetworkInfoListener::HandleNetworkMessage( const TNWMessages aMessage )
   156 void CAiNetworkInfoListener::HandleNetworkMessage( const TNWMessages aMessage )
   157     {
   157     {
   158     __PRINTS("XAI: Handle NW message");
   158     __PRINT(__DBG_FORMAT("XAI: Handle NW message %d"), aMessage );
   159 	//Insert message into the message cache. Only one messsage of one type.
   159     //Insert message into the message cache. Only one messsage of one type.
   160     TRAPD( err, iMessageCache->InsertIsqL( aMessage, iKeyProperties ) );
   160     TRAPD( err, iMessageCache->InsertIsqL( aMessage, iKeyProperties ) );
   161     if( err == KErrAlreadyExists )
   161     if( err == KErrAlreadyExists )
   162         {
   162         {
   163         err = KErrNone;
   163         err = KErrNone;
   164         }
   164         }
   247 	// Service provider name must have been fetched.
   247 	// Service provider name must have been fetched.
   248     // Network provider name must have been fetched.
   248     // Network provider name must have been fetched.
   249     // Registration status and network information must have been received.
   249     // Registration status and network information must have been received.
   250     // Operator name information must have been received.
   250     // Operator name information must have been received.
   251     // Device must be camped to a network.
   251     // Device must be camped to a network.
   252 
   252     // CS registration should be completed (only valid in AT&T NW)
   253     TBool csAlphaFlag( EFalse );
   253 
   254 	switch ( aMessage )
   254 	switch ( aMessage )
   255     	{
   255     	{
   256         case MNWMessageObserver::ENWMessageNetworkInfoChange:
   256         case MNWMessageObserver::ENWMessageNetworkInfoChange:
   257             iReceivedMessageFlags |= ENetworkInfoChangeReceived;
   257             iReceivedMessageFlags |= ENetworkInfoChangeReceived;
   258             break;
   258             break;
   294                     {
   294                     {
   295                     // CS flag is EFalse, alpha tag should not be shown.
   295                     // CS flag is EFalse, alpha tag should not be shown.
   296                     if ( !( RPacketService::KCapsRxCSCall & 
   296                     if ( !( RPacketService::KCapsRxCSCall & 
   297                             iInfo.iDynamicCapsFlags ) )
   297                             iInfo.iDynamicCapsFlags ) )
   298                         {
   298                         {
   299                         csAlphaFlag = ETrue;
   299                         __PRINTS("XAI: CS registration failed");
       
   300                         iReceivedMessageFlags |= ECSRegistrationNotOk;
       
   301                         }
       
   302                     else
       
   303                         {
       
   304                         __PRINTS("XAI: CS registration ok");
       
   305                         iReceivedMessageFlags &= ~ECSRegistrationNotOk;
   300                         }
   306                         }
   301                     }
   307                     }
   302                 FeatureManager::UnInitializeLib();
   308                 FeatureManager::UnInitializeLib();
   303                 }
   309                 }
   304             break;
   310             break;
   314     	 EProgrammableOperatorInfoReceived & iReceivedMessageFlags );  
   320     	 EProgrammableOperatorInfoReceived & iReceivedMessageFlags );  
   315     TBool currentNetworkOk( 
   321     TBool currentNetworkOk( 
   316     	( ENetworkInfoChangeReceived  & iReceivedMessageFlags ) && 
   322     	( ENetworkInfoChangeReceived  & iReceivedMessageFlags ) && 
   317         ( ERegistrationStatusReceived & iReceivedMessageFlags ) &&
   323         ( ERegistrationStatusReceived & iReceivedMessageFlags ) &&
   318         ( iInfo.iStatus == ENWStatusCurrent ) );  
   324         ( iInfo.iStatus == ENWStatusCurrent ) );  
       
   325     TBool csAlphaFlag( ECSRegistrationNotOk & iReceivedMessageFlags );
   319       
   326       
   320   	return
   327   	return
   321         !serviceProviderNameFetched ||
   328         !serviceProviderNameFetched ||
   322         !networkProviderNameFetched ||
   329         !networkProviderNameFetched ||
   323         !( registrationStatusReceived && networkInformationReceived 
   330         !( registrationStatusReceived && networkInformationReceived