locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsadapter.cpp
branchRCL_3
changeset 49 10852b179f64
parent 45 6b6920c56e2f
child 55 ea98413ce11f
equal deleted inserted replaced
47:fce0ae2e4223 49:10852b179f64
    56         }
    56         }
    57         
    57         
    58     delete iSUPLSettings;
    58     delete iSUPLSettings;
    59     iSUPLSettings = NULL;
    59     iSUPLSettings = NULL;
    60     
    60     
    61     delete iAutomatic;
       
    62     iAutomatic = NULL;
       
    63     
       
    64     delete iAutomaticatHome;
       
    65     iAutomaticatHome = NULL;
       
    66     
       
    67     delete iAsk;
       
    68     iAsk = NULL;
       
    69     
       
    70     delete iDisable;
       
    71     iDisable = NULL;
       
    72 	DEBUG( - CLocSUPLSettingsAdapter::~CLocSUPLSettingsAdapter );	
    61 	DEBUG( - CLocSUPLSettingsAdapter::~CLocSUPLSettingsAdapter );	
    73     } 
    62     } 
    74 
    63 
    75 // ---------------------------------------------------------------------------
    64 // ---------------------------------------------------------------------------
    76 // CLocSUPLSettingsAdapter* CLocSUPLSettingsAdapter::NewL
    65 // CLocSUPLSettingsAdapter* CLocSUPLSettingsAdapter::NewL
   108     iSUPLSettings->SetObserverL( *this );
    97     iSUPLSettings->SetObserverL( *this );
   109     
    98     
   110     // Set the Observer for SUPL Sessions
    99     // Set the Observer for SUPL Sessions
   111     iSUPLSettings->SetSessionObserverL( *this );
   100     iSUPLSettings->SetSessionObserverL( *this );
   112     
   101     
   113     // Load the SUPL settings usage strings
       
   114     iAutomatic 			= StringLoader::LoadL( R_LOC_SUPL_AUTOMATIC );
       
   115     iAutomaticatHome 	= StringLoader::LoadL( R_LOC_SUPL_HOME_AUTOMATIC );
       
   116     iAsk 				= StringLoader::LoadL( R_LOC_SUPL_ASK );
       
   117     iDisable 			= StringLoader::LoadL( R_LOC_SUPL_DISABLED );
       
   118     
   102     
   119     CActiveScheduler::Add( this );
   103     CActiveScheduler::Add( this );
   120 	DEBUG( - CLocSUPLSettingsAdapter::ConstructL );	
   104 	DEBUG( - CLocSUPLSettingsAdapter::ConstructL );	
   121     }           
   105     }           
   122 
   106 
   145 void CLocSUPLSettingsAdapter::CancelInitialize()
   129 void CLocSUPLSettingsAdapter::CancelInitialize()
   146     {
   130     {
   147     Cancel();
   131     Cancel();
   148     }
   132     }
   149     
   133     
   150 // ---------------------------------------------------------------------------
   134 
   151 // void CLocSUPLSettingsAdapter::SetSuplUsageL
       
   152 // ---------------------------------------------------------------------------
       
   153 //       
       
   154 void CLocSUPLSettingsAdapter::SetSuplUsageL( 
       
   155             const CLocSUPLSettingsAdapter::TLocSuplUsage    aIndex )
       
   156     {
       
   157 	DEBUG( + CLocSUPLSettingsAdapter::SetSuplUsageL );	
       
   158     CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
       
   159     switch ( aIndex )
       
   160         {
       
   161         case ELocSuplAutomatic:
       
   162             {
       
   163             value = CSuplSettings::ESuplUsageAutomatic;
       
   164             break;
       
   165             }
       
   166         case ELocSuplAutomaticatHome:
       
   167             {
       
   168             value = CSuplSettings::ESuplUsageHomeAutomatic;
       
   169             break;
       
   170             }
       
   171         case ELocSuplAlwaysAsk:
       
   172             {
       
   173             value = CSuplSettings::ESuplUsageAlwaysAsk;
       
   174             break;
       
   175             }
       
   176         case ELocSuplDisable:
       
   177             {
       
   178             value = CSuplSettings::ESuplUsageDisabled;
       
   179             break;
       
   180             }
       
   181         default:
       
   182             {
       
   183             User::Leave( KErrNotFound );
       
   184             break;    
       
   185             }
       
   186         }
       
   187 
       
   188     // Write back to the SUPL settings API
       
   189     TInt ret = iSUPLSettings->SetSuplUsage( value );            
       
   190             
       
   191     // If the Set failed, then Leave with the corresponding Error code
       
   192     if( ret )
       
   193         {
       
   194         User::Leave ( ret );
       
   195         }
       
   196 	DEBUG( - CLocSUPLSettingsAdapter::SetSuplUsageL );	
       
   197     }
       
   198 
       
   199 // ---------------------------------------------------------------------------
       
   200 // void CLocSUPLSettingsAdapter::GetSuplUsageL
       
   201 // ---------------------------------------------------------------------------
       
   202 //  
       
   203 void CLocSUPLSettingsAdapter::GetSuplUsageL( TDes&    aSuplUsage )
       
   204     {
       
   205 	DEBUG( + CLocSUPLSettingsAdapter::GetSuplUsageL );	
       
   206     CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
       
   207     User::LeaveIfError( iSUPLSettings->GetSuplUsage( value ));
       
   208 
       
   209     switch ( value )
       
   210         {
       
   211         case CSuplSettings::ESuplUsageAutomatic:
       
   212             {
       
   213             if ( aSuplUsage.MaxLength() < iAutomatic->Des().Length())
       
   214                 {
       
   215                 User::Leave( KErrNoMemory );
       
   216                 }
       
   217             aSuplUsage.Copy( *iAutomatic );
       
   218             break;
       
   219             }
       
   220         case CSuplSettings::ESuplUsageHomeAutomatic:
       
   221             {
       
   222             if ( aSuplUsage.MaxLength() < iAutomaticatHome->Des().Length())
       
   223                 {
       
   224                 User::Leave( KErrNoMemory );
       
   225                 }
       
   226             aSuplUsage.Copy( *iAutomaticatHome );          
       
   227             break;
       
   228             }
       
   229         case CSuplSettings::ESuplUsageAlwaysAsk:
       
   230             {
       
   231             if ( aSuplUsage.MaxLength() < iAsk->Des().Length())
       
   232                 {
       
   233                 User::Leave( KErrNoMemory );
       
   234                 }            
       
   235             aSuplUsage.Copy( *iAsk );
       
   236             break;
       
   237             }
       
   238         case CSuplSettings::ESuplUsageDisabled:
       
   239             {
       
   240             if ( aSuplUsage.MaxLength() < iDisable->Des().Length())
       
   241                 {
       
   242                 User::Leave( KErrNoMemory );
       
   243                 }
       
   244             aSuplUsage.Copy( *iDisable );
       
   245             break;
       
   246             }
       
   247         default:
       
   248             {
       
   249             User::Leave( KErrNotSupported );
       
   250             break;
       
   251             }
       
   252         }
       
   253 	DEBUG( - CLocSUPLSettingsAdapter::GetSuplUsageL );	
       
   254     }
       
   255 
       
   256 // ---------------------------------------------------------------------------
       
   257 // TLocSuplUsage CLocSUPLSettingsAdapter::GetSuplUsage
       
   258 // ---------------------------------------------------------------------------
       
   259 // 
       
   260 TInt CLocSUPLSettingsAdapter::GetSuplUsage()
       
   261     {
       
   262 	DEBUG( + CLocSUPLSettingsAdapter::GetSuplUsage TInt );	
       
   263     CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
       
   264     TInt error = iSUPLSettings->GetSuplUsage( value );
       
   265     if ( error )
       
   266         {
       
   267         // If there is an error then return the default value
       
   268         return CSuplSettings::ESuplUsageAlwaysAsk;
       
   269         }
       
   270 	DEBUG( - CLocSUPLSettingsAdapter::GetSuplUsage TInt );	
       
   271     return value;
       
   272     }
       
   273 
       
   274 // ---------------------------------------------------------------------------
       
   275 // TLocSuplUsage CLocSUPLSettingsAdapter::GetSuplUsageIndex
       
   276 // ---------------------------------------------------------------------------
       
   277 // 
       
   278 CLocSUPLSettingsAdapter::TLocSuplUsage CLocSUPLSettingsAdapter::GetSuplUsageIndex()
       
   279     {    
       
   280 	DEBUG( + CLocSUPLSettingsAdapter::GetSuplUsageIndex );	
       
   281     TLocSuplUsage index = ELocSuplAutomatic;
       
   282     CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
       
   283     if ( iSUPLSettings->GetSuplUsage( value ))
       
   284         {
       
   285         // If there is an error then return the default value.
       
   286         return index;
       
   287         }
       
   288         
       
   289     switch ( value )
       
   290         {
       
   291         case CSuplSettings::ESuplUsageAutomatic:
       
   292             {
       
   293             index = ELocSuplAutomatic;
       
   294             break;
       
   295             }
       
   296         case CSuplSettings::ESuplUsageHomeAutomatic:
       
   297             {
       
   298             index = ELocSuplAutomaticatHome;         
       
   299             break;
       
   300             }
       
   301         case CSuplSettings::ESuplUsageAlwaysAsk:
       
   302             {
       
   303             index = ELocSuplAlwaysAsk;
       
   304             break;
       
   305             }
       
   306         case CSuplSettings::ESuplUsageDisabled:
       
   307             {
       
   308             index = ELocSuplDisable;
       
   309             break;
       
   310             }
       
   311         default:
       
   312             {
       
   313             break;
       
   314             }
       
   315         }
       
   316     return index;   
       
   317     }
       
   318     
       
   319 // ---------------------------------------------------------------------------
       
   320 // const TDesC& CLocSUPLSettingsAdapter::Automatic
       
   321 // ---------------------------------------------------------------------------
       
   322 // 
       
   323 const TDesC& CLocSUPLSettingsAdapter::Automatic()
       
   324     {
       
   325     return *iAutomatic;
       
   326     }
       
   327 
       
   328 // ---------------------------------------------------------------------------
       
   329 // const TDesC& CLocSUPLSettingsAdapter::AutomaticAtHome
       
   330 // ---------------------------------------------------------------------------
       
   331 //
       
   332 const TDesC& CLocSUPLSettingsAdapter::AutomaticAtHome()
       
   333     {
       
   334     return *iAutomaticatHome;  
       
   335     }
       
   336 
       
   337 // ---------------------------------------------------------------------------
       
   338 // const TDesC& CLocSUPLSettingsAdapter::AlwaysAsk
       
   339 // ---------------------------------------------------------------------------
       
   340 //
       
   341 const TDesC& CLocSUPLSettingsAdapter::AlwaysAsk()
       
   342     {
       
   343     return *iAsk;   
       
   344     }
       
   345 
       
   346 // ---------------------------------------------------------------------------
       
   347 // const TDesC& CLocSUPLSettingsAdapter::Disable
       
   348 // ---------------------------------------------------------------------------
       
   349 //
       
   350 const TDesC& CLocSUPLSettingsAdapter::Disable()
       
   351     {
       
   352     return *iDisable; 
       
   353     }
       
   354                    
   135                    
   355 // ---------------------------------------------------------------------------
   136 // ---------------------------------------------------------------------------
   356 // void CLocSUPLSettingsAdapter::HandleSuplSettingsChangeL
   137 // void CLocSUPLSettingsAdapter::HandleSuplSettingsChangeL
   357 // Handle the Settings UI changes
   138 // Handle the Settings UI changes
   358 // ---------------------------------------------------------------------------
   139 // ---------------------------------------------------------------------------
   486 	{
   267 	{
   487 	DEBUG( + CLocSUPLSettingsAdapter::GetAllSlpL );	
   268 	DEBUG( + CLocSUPLSettingsAdapter::GetAllSlpL );	
   488 	User::LeaveIfError( iSUPLSettings->GetAllSlp( aParamValues ) );
   269 	User::LeaveIfError( iSUPLSettings->GetAllSlp( aParamValues ) );
   489 	DEBUG( - CLocSUPLSettingsAdapter::GetAllSlpL );	
   270 	DEBUG( - CLocSUPLSettingsAdapter::GetAllSlpL );	
   490 	}
   271 	}
       
   272 	
       
   273 // ---------------------------------------------------------------------------
       
   274 // void CLocSUPLSettingsAdapter::GenerateHslpAddressFromImsi()
       
   275 //
       
   276 // ---------------------------------------------------------------------------
       
   277 //    
       
   278 void CLocSUPLSettingsAdapter::GenerateHslpAddressFromImsi(TDes& aIMSIAddress)    
       
   279     {
       
   280 	DEBUG( + CLocSUPLSettingsAdapter::GenerateHslpAddressFromImsi );	
       
   281   iSUPLSettings->GenerateHslpAddressFromImsi(aIMSIAddress);
       
   282 	DEBUG( - CLocSUPLSettingsAdapter::GenerateHslpAddressFromImsi );	
       
   283     }
   491 
   284 
   492 // ---------------------------------------------------------------------------
   285 // ---------------------------------------------------------------------------
   493 // void CLocSUPLSettingsAdapter::GetSlpInfoFromIdL
   286 // void CLocSUPLSettingsAdapter::GetSlpInfoFromIdL
   494 // ---------------------------------------------------------------------------
   287 // ---------------------------------------------------------------------------
   495 // 
   288 //