uiservicetab/vimpstengine/src/cvimpstengine.cpp
branchRCL_3
changeset 10 78867dafe7eb
parent 0 5e5d6b214f4f
child 11 bef90b82da71
equal deleted inserted replaced
4:f5911524345e 10:78867dafe7eb
   148 	TBool requireXimp = EFalse;		
   148 	TBool requireXimp = EFalse;		
   149 	TBool presenceSupported = IsSubServiceSupportedInternal(TVIMPSTEnums::EPresence);
   149 	TBool presenceSupported = IsSubServiceSupportedInternal(TVIMPSTEnums::EPresence);
   150 	TBool imSupported = IsSubServiceSupportedInternal(TVIMPSTEnums::EIM);
   150 	TBool imSupported = IsSubServiceSupportedInternal(TVIMPSTEnums::EIM);
   151 	
   151 	
   152 	requireXimp |= presenceSupported;
   152 	requireXimp |= presenceSupported;
   153 	requireXimp |= imSupported;
   153     requireXimp |= imSupported;
   154 	
   154 
       
   155     TPtr serviceIdPtr(iServiceName->Des());
       
   156     iTableFetcher.GetServiceNameL(aServiceId, serviceIdPtr);
       
   157 
   155 	//if either of Presence/IM Subservice supported then we need
   158 	//if either of Presence/IM Subservice supported then we need
   156 	//to bind to XIMP context. 
   159 	//to bind to XIMP context. 
   157 	if ( KErrNotFound != ximpAdapterUid && requireXimp )
   160 	if ( KErrNotFound != ximpAdapterUid && requireXimp )
   158 	    {
   161 	    {
   159 	    iSessionCntxtObserver = CVIMPSTEngineSessionCntxtObserver::NewL(aServiceId);
   162         TRAPD( err, (iSessionCntxtObserver = CVIMPSTEngineSessionCntxtObserver::NewL(aServiceId)));
       
   163         TRACE( T_LIT("ConstructL() -1st Creating session context observer: %d"), err );	
       
   164         if (KErrNotFound == err)
       
   165             {
       
   166 						TRACE( T_LIT("Ximp impl not found. Calling Logout") );            	
       
   167             iUnInstall = ETrue;
       
   168             LogoutL();
       
   169             TRACE( T_LIT("Logout Called on account of uninstall") );
       
   170             return;
       
   171             }
   160 	    }
   172 	    }
   161 	
       
   162 	TPtr serviceIdPtr( iServiceName->Des() );    	
       
   163 	iTableFetcher.GetServiceNameL(aServiceId, serviceIdPtr);
       
   164 	
       
   165 	
   173 	
   166 	// iterate the service array
   174 	// iterate the service array
   167     for ( TInt index = TVIMPSTEnums::EVoip; index < TVIMPSTEnums::ELast ; index++ )        
   175     for ( TInt index = TVIMPSTEnums::EVoip; index < TVIMPSTEnums::ELast ; index++ )        
   168         {
   176         {
   169 	    //create the subservice
   177 	    //create the subservice
   232 CVIMPSTEngine::CVIMPSTEngine( TUint32 aServiceId,
   240 CVIMPSTEngine::CVIMPSTEngine( TUint32 aServiceId,
   233 								CVIMPSTEngineServiceTableFetcher& aTableFetcher ) :
   241 								CVIMPSTEngineServiceTableFetcher& aTableFetcher ) :
   234 iServiceId(aServiceId),
   242 iServiceId(aServiceId),
   235 iTableFetcher(aTableFetcher)								
   243 iTableFetcher(aTableFetcher)								
   236 	{
   244 	{
   237 		
   245     iUnInstall = EFalse;
   238 	}
   246 	}
   239 
   247 
   240 // ---------------------------------------------------------
   248 // ---------------------------------------------------------
   241 // CVIMPSTEngine::RetriveContextIfCChEnabledL
   249 // CVIMPSTEngine::RetriveContextIfCChEnabledL
   242 // 
   250 // 
  1392         
  1400         
  1393     if( iSessionCntxtObserver )
  1401     if( iSessionCntxtObserver )
  1394         {        
  1402         {        
  1395         iSessionCntxtObserver->ServerUnBindL(ETrue); 
  1403         iSessionCntxtObserver->ServerUnBindL(ETrue); 
  1396         }
  1404         }
  1397 
  1405     }
       
  1406 
       
  1407 // -------------------------------------------------------
       
  1408 // CVIMPSTEngine :: IsUnInstalled
       
  1409 // For Description see MVIMPSTEngine
       
  1410 // -------------------------------------------------------
       
  1411 //
       
  1412 TBool CVIMPSTEngine::IsUnInstalled( )
       
  1413     {
       
  1414     return iUnInstall;
  1398     }
  1415     }
  1399 //  End of File
  1416 //  End of File