uiservicetab/vimpstengine/src/cvimpstenginevoipsubservice.cpp
branchRCL_3
changeset 14 9fdee5e1da30
parent 0 5e5d6b214f4f
equal deleted inserted replaced
13:796276a1bdcc 14:9fdee5e1da30
    22 #include "cvimpstenginecchhandler.h"
    22 #include "cvimpstenginecchhandler.h"
    23 #include "tvimpstconsts.h"
    23 #include "tvimpstconsts.h"
    24 #include "cvimpstengineservicetablefetcher.h"
    24 #include "cvimpstengineservicetablefetcher.h"
    25 #include "mvimpstengineserviceconnectioneventobserver.h"
    25 #include "mvimpstengineserviceconnectioneventobserver.h"
    26 //debug
    26 //debug
    27 #include "vimpstdebugtrace.h"
    27 #include "uiservicetabtracer.h"
    28 
    28 
    29 
    29 
    30 // ================= MEMBER FUNCTIONS =======================
    30 // ================= MEMBER FUNCTIONS =======================
    31 // ---------------------------------------------------------
    31 // ---------------------------------------------------------
    32 // CVIMPSTEngineVOIPSubService::NewL
    32 // CVIMPSTEngineVOIPSubService::NewL
    36 									CVIMPSTEngineCchHandler& aCchHandler,
    36 									CVIMPSTEngineCchHandler& aCchHandler,
    37 									CVIMPSTEngineServiceTableFetcher& aTableFetcher,
    37 									CVIMPSTEngineServiceTableFetcher& aTableFetcher,
    38 									MVIMPSTEngineServiceConnectionEventObserver& aObserver
    38 									MVIMPSTEngineServiceConnectionEventObserver& aObserver
    39 									)
    39 									)
    40     {
    40     {
    41     TRACE( T_LIT("CVIMPSTEngineVOIPSubService::NewL start"));
    41 	TRACER_AUTO;
    42     TRACE( T_LIT("NewL() aServiceId: %d"), aServiceId);
    42 	TRACE( "aServiceId: %d", aServiceId);
    43     
    43     
    44     CVIMPSTEngineVOIPSubService* self = CVIMPSTEngineVOIPSubService::NewLC(aServiceId,aCchHandler,
    44     CVIMPSTEngineVOIPSubService* self = CVIMPSTEngineVOIPSubService::NewLC(aServiceId,aCchHandler,
    45     										aTableFetcher, aObserver);
    45     										aTableFetcher, aObserver);
    46     CleanupStack::Pop( self );
    46     CleanupStack::Pop( self );
    47 	
    47 	
    48 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::NewL end"));
       
    49     return self;
    48     return self;
    50     }
    49     }
    51 
    50 
    52 
    51 
    53 // ---------------------------------------------------------
    52 // ---------------------------------------------------------
    58 CVIMPSTEngineVOIPSubService* CVIMPSTEngineVOIPSubService::NewLC( TUint32 aServiceId,
    57 CVIMPSTEngineVOIPSubService* CVIMPSTEngineVOIPSubService::NewLC( TUint32 aServiceId,
    59                                                    	CVIMPSTEngineCchHandler& aCchHandler,
    58                                                    	CVIMPSTEngineCchHandler& aCchHandler,
    60                                                    	CVIMPSTEngineServiceTableFetcher& aTableFetcher,
    59                                                    	CVIMPSTEngineServiceTableFetcher& aTableFetcher,
    61                                                    	MVIMPSTEngineServiceConnectionEventObserver& aObserver )
    60                                                    	MVIMPSTEngineServiceConnectionEventObserver& aObserver )
    62 	{
    61 	{
    63 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::NewLC start"));
    62 	TRACER_AUTO;
    64 	TRACE( T_LIT("NewL() aServiceId: %d"), aServiceId);
    63 	TRACE( "aServiceId: %d", aServiceId);
    65 	
    64 	
    66     CVIMPSTEngineVOIPSubService* self = new (ELeave) CVIMPSTEngineVOIPSubService(
    65     CVIMPSTEngineVOIPSubService* self = new (ELeave) CVIMPSTEngineVOIPSubService(
    67     												aServiceId,aCchHandler,aTableFetcher,
    66     												aServiceId,aCchHandler,aTableFetcher,
    68     												aObserver  );
    67     												aObserver  );
    69     CleanupStack::PushL( self );
    68     CleanupStack::PushL( self );
    70     self->ConstructL( );
    69     self->ConstructL( );
    71     
    70     
    72     TRACE( T_LIT("CVIMPSTEngineVOIPSubService::NewLC end"));
       
    73     return self;
    71     return self;
    74 	}
    72 	}
    75 
    73 
    76 // ---------------------------------------------------------
    74 // ---------------------------------------------------------
    77 // CVIMPSTEngineVOIPSubService::~CVIMPSTEngineVOIPSubService
    75 // CVIMPSTEngineVOIPSubService::~CVIMPSTEngineVOIPSubService
    78 // 
    76 // 
    79 // ---------------------------------------------------------
    77 // ---------------------------------------------------------
    80 
    78 
    81 CVIMPSTEngineVOIPSubService::~CVIMPSTEngineVOIPSubService()
    79 CVIMPSTEngineVOIPSubService::~CVIMPSTEngineVOIPSubService()
    82 	{
    80 	{
    83 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::~CVIMPSTEngineVOIPSubService start"));
    81 	TRACER_AUTO;
    84    	
    82    	
    85    	iCchHandler.UnRegisterCchObserver(ECCHVoIPSub);	
    83    	iCchHandler.UnRegisterCchObserver(ECCHVoIPSub);	
    86    	
    84    	
    87    	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::~CVIMPSTEngineVOIPSubService end"));
       
    88  	}
    85  	}
    89 
    86 
    90 
    87 
    91 // ---------------------------------------------------------
    88 // ---------------------------------------------------------
    92 // CVIMPSTEngineVOIPSubService::ConstructL
    89 // CVIMPSTEngineVOIPSubService::ConstructL
    93 // 
    90 // 
    94 // ---------------------------------------------------------
    91 // ---------------------------------------------------------
    95 
    92 
    96 void CVIMPSTEngineVOIPSubService::ConstructL(  )
    93 void CVIMPSTEngineVOIPSubService::ConstructL(  )
    97 	{
    94 	{
    98 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::ConstructL start"));
    95 	TRACER_AUTO;
    99 	
    96 	
   100 	TCCHSubserviceState serviceState = ECCHUninitialized;    
    97 	TCCHSubserviceState serviceState = ECCHUninitialized;    
   101     TInt error = iCchHandler.GetServiceState( 
    98     TInt error = iCchHandler.GetServiceState( 
   102         			iServiceId, ECCHVoIPSub, serviceState );
    99         			iServiceId, ECCHVoIPSub, serviceState );
   103 	
   100 	
   104 	iServiceState = ResolveServiceState(serviceState, error);    	
   101 	iServiceState = ResolveServiceState(serviceState, error);    	
   105 	
   102 	
   106 	iCchHandler.RegisterCchObserverL(this,ECCHVoIPSub);       	
   103 	iCchHandler.RegisterCchObserverL(this,ECCHVoIPSub);       	
   107     
   104     
   108     TRACE( T_LIT("ConstructL() ResolveServiceState returned ServiceState: %d"), 
   105 	TRACE( "ResolveServiceState returned ServiceState: %d", iServiceState );
   109 							iServiceState );
   106 	
   110    	
       
   111    	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::ConstructL end"));
       
   112    	
   107    	
   113    	}
   108    	}
   114 
   109 
   115 
   110 
   116 // ---------------------------------------------------------
   111 // ---------------------------------------------------------
   137 // ---------------------------------------------------------------------------
   132 // ---------------------------------------------------------------------------
   138 // 
   133 // 
   139 void CVIMPSTEngineVOIPSubService::CchEventOccuredL( TUint /*aServiceId*/, 
   134 void CVIMPSTEngineVOIPSubService::CchEventOccuredL( TUint /*aServiceId*/, 
   140     TCCHSubserviceState aState, TInt aServiceError )
   135     TCCHSubserviceState aState, TInt aServiceError )
   141 	{	
   136 	{	
   142 	
   137 	TRACER_AUTO;
   143 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::CchEventOccuredL start"));
   138 	TRACE( " TCCHSubserviceState : %d, ServiceErr: %d",aState, aServiceError );
   144 	TRACE( T_LIT("CchEventOccuredL() TCCHSubserviceState : %d, ServiceErr: %d"), 
       
   145 									aState, aServiceError );
       
   146 	
   139 	
   147 	if ( aServiceError && ECCHDisabled != aState )
   140 	if ( aServiceError && ECCHDisabled != aState )
   148         {
   141         {
   149         //we might even end up in waiting for connection state for all
   142         //we might even end up in waiting for connection state for all
   150         //those service which are ALR enabled
   143         //those service which are ALR enabled
   157         {
   150         {
   158         iServiceState = ResolveServiceState( aState, aServiceError );    
   151         iServiceState = ResolveServiceState( aState, aServiceError );    
   159         iObserver.HandleServceConnectionEventL();
   152         iObserver.HandleServceConnectionEventL();
   160         }	
   153         }	
   161 	
   154 	
   162 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::CchEventOccuredL end"));
       
   163 	
   155 	
   164     }    
   156     }    
   165 
   157 
   166 	
   158 	
   167 // ---------------------------------------------------------------------------
   159 // ---------------------------------------------------------------------------
   169 // ---------------------------------------------------------------------------
   161 // ---------------------------------------------------------------------------
   170 // 
   162 // 
   171 void CVIMPSTEngineVOIPSubService::DoHandleCchErrorL( 
   163 void CVIMPSTEngineVOIPSubService::DoHandleCchErrorL( 
   172     TInt aServiceError )
   164     TInt aServiceError )
   173     {
   165     {
   174     
   166 	TRACER_AUTO;
   175     TRACE( T_LIT("CVIMPSTEngineVOIPSubService::DoHandleCchErrorL start"));
   167 	  TRACE(" ServiceErr: %d", aServiceError );
   176     TRACE( T_LIT("DoHandleCchErrorL() ServiceErr: %d"), 
   168 	
   177 									aServiceError );
       
   178 	/*								
   169 	/*								
   179 	MCchUi& cchUi = iCchHandler.CchUiApi();
   170 	MCchUi& cchUi = iCchHandler.CchUiApi();
   180 										
   171 										
   181     switch ( aServiceError )
   172     switch ( aServiceError )
   182         {
   173         {
   193             }
   184             }
   194             
   185             
   195         }
   186         }
   196         */
   187         */
   197 	
   188 	
   198 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::DoHandleCchErrorL end"));
       
   199         
   189         
   200     }	
   190     }	
   201     
   191     
   202     
   192     
   203 
   193 
   207 // 
   197 // 
   208 TVIMPSTEnums::TVIMPSTRegistrationState CVIMPSTEngineVOIPSubService::ResolveServiceState(
   198 TVIMPSTEnums::TVIMPSTRegistrationState CVIMPSTEngineVOIPSubService::ResolveServiceState(
   209 										TCCHSubserviceState aState, 
   199 										TCCHSubserviceState aState, 
   210             							TInt aServiceError )
   200             							TInt aServiceError )
   211     {
   201     {
   212     
   202 	TRACER_AUTO;
   213     TRACE( T_LIT("CVIMPSTEngineVOIPSubService::ResolveServiceState start"));    
       
   214         
   203         
   215     TVIMPSTEnums::TVIMPSTRegistrationState state = TVIMPSTEnums::ESVCENotRegistered;       
   204     TVIMPSTEnums::TVIMPSTRegistrationState state = TVIMPSTEnums::ESVCENotRegistered;       
   216     
   205     
   217     TRACE( T_LIT("ResolveServiceState() iServiceId: %d, ServiceState: %d"), 
   206     TRACE( " iServiceId: %d, ServiceState: %d", iServiceId, aState ); 
   218     							iServiceId, aState );    	
       
   219 
   207 
   220     TBool handleServiceStates = ETrue;
   208     TBool handleServiceStates = ETrue;
   221     if ( aServiceError && ECCHDisabled != aState )
   209     if ( aServiceError && ECCHDisabled != aState )
   222         {    
   210         {    
   223 		//Only if the Service supports ALR, the state can goto WaitingForNetwork
   211 		//Only if the Service supports ALR, the state can goto WaitingForNetwork
   224 		//Still API from CCH is required to know whether ALR is supported or not
   212 		//Still API from CCH is required to know whether ALR is supported or not
   225         if ( (KCCHErrorInvalidSettings != aServiceError) && (ECCHConnecting == aState) )        
   213         if ( (KCCHErrorInvalidSettings != aServiceError) && (ECCHConnecting == aState) )        
   226             {   
   214             {   
   227             TRACE( T_LIT("ResolveServiceState() ESVCEWaitingForNetwork") );
   215             TRACE( "ESVCEWaitingForNetwork" );
   228             handleServiceStates = EFalse;  
   216             handleServiceStates = EFalse;  
   229             state = TVIMPSTEnums::ESVCEWaitingForNetwork;	           
   217             state = TVIMPSTEnums::ESVCEWaitingForNetwork;	           
   230             }
   218             }
   231         }
   219         }
   232     
   220     
   234         {        
   222         {        
   235         switch ( aState )
   223         switch ( aState )
   236             {
   224             {
   237             case ECCHEnabled:
   225             case ECCHEnabled:
   238                 {
   226                 {
   239                 TRACE( T_LIT("ResolveServiceState() ESVCERegistered") );                
   227                 TRACE( " ESVCERegistered" );    
   240                 state = TVIMPSTEnums::ESVCERegistered;
   228                 state = TVIMPSTEnums::ESVCERegistered;
   241                 }
   229                 }
   242                 break;
   230                 break;
   243 
   231 
   244             case ECCHDisconnecting:      
   232             case ECCHDisconnecting:      
   245                 {
   233                 {
   246                 TRACE( T_LIT("ResolveServiceState() ESVCENetworkDisConnecting") );                
   234                 TRACE( " ESVCENetworkDisConnecting");   
   247                 state = TVIMPSTEnums::ESVCENetworkDisConnecting;
   235                 state = TVIMPSTEnums::ESVCENetworkDisConnecting;
   248                 }
   236                 }
   249                 break;
   237                 break;
   250 
   238 
   251             case ECCHUninitialized:
   239             case ECCHUninitialized:
   252             case ECCHDisabled:  
   240             case ECCHDisabled:  
   253                 {
   241                 {
   254                 TRACE( T_LIT("ResolveServiceState() ESVCENotRegistered") );                
   242                 TRACE( " ESVCENotRegistered" );   
   255                 state = TVIMPSTEnums::ESVCENotRegistered;
   243                 state = TVIMPSTEnums::ESVCENotRegistered;
   256                 }
   244                 }
   257                 break;
   245                 break;
   258                 
   246                 
   259             case ECCHConnecting:               
   247             case ECCHConnecting:               
   260                 {
   248                 {
   261                 TRACE( T_LIT("ResolveServiceState() ESVCENetworkConnecting") );                
   249                 TRACE(" ESVCENetworkConnecting" );    
   262                 state = TVIMPSTEnums::ESVCENetworkConnecting;
   250                 state = TVIMPSTEnums::ESVCENetworkConnecting;
   263                 }
   251                 }
   264                 break;
   252                 break;
   265             
   253             
   266             default:
   254             default:
   267                 break;
   255                 break;
   268             }
   256             }
   269         }        
   257         }        
   270         
   258         
   271 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::ResolveServiceState end"));
       
   272 	        
   259 	        
   273     return state;  
   260     return state;  
   274 	
   261 	
   275     }
   262     }
   276 
   263 
   279 // CVIMPSTEngineVOIPSubService::SubServiceState
   266 // CVIMPSTEngineVOIPSubService::SubServiceState
   280 // ---------------------------------------------------------------------------
   267 // ---------------------------------------------------------------------------
   281 // 
   268 // 
   282 TVIMPSTEnums::TVIMPSTRegistrationState CVIMPSTEngineVOIPSubService::SubServiceState() const
   269 TVIMPSTEnums::TVIMPSTRegistrationState CVIMPSTEngineVOIPSubService::SubServiceState() const
   283 	{
   270 	{
   284 	TRACE( T_LIT("SubServiceState() ServiceId: %d ServiceState: %d"), 
   271 	TRACER_AUTO;
   285 							iServiceId, iServiceState );
   272 	TRACE( " ServiceId: %d ServiceState: %d",iServiceId, iServiceState );
   286 	return iServiceState;
   273 	return iServiceState;
   287 	}
   274 	}
   288  
   275  
   289 
   276 
   290 // ---------------------------------------------------------------------------
   277 // ---------------------------------------------------------------------------
   291 // CVIMPSTEngineVOIPSubService::Type
   278 // CVIMPSTEngineVOIPSubService::Type
   292 // ---------------------------------------------------------------------------
   279 // ---------------------------------------------------------------------------
   293 // 
   280 // 
   294 TVIMPSTEnums::SubServiceType CVIMPSTEngineVOIPSubService::Type() const	
   281 TVIMPSTEnums::SubServiceType CVIMPSTEngineVOIPSubService::Type() const	
   295 	{
   282 	{
   296 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService::Type: %d"), iType );
   283 	TRACER_AUTO;
   297 	TRACE( T_LIT("CVIMPSTEngineVOIPSubService: [0x%x]"), this );		    	
   284 	TRACE( "Type: %d", iType );
       
   285 	TRACE( " [0x%x]", this );
   298 	return iType;	
   286 	return iType;	
   299 	}
   287 	}
   300 
   288 
   301 
   289 
   302     
   290