supl/locationsuplfw/settingsapi/src/epos_csuplsettingsinternal.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Feb 2010 23:14:27 +0200
branchRCL_3
changeset 4 42de37ce7ce4
parent 0 667063e416a2
permissions -rw-r--r--
Revision: 201003 Kit: 201007

/*
* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Implementation of CSuplSettingsInternal class..Not exposed
*
*/



// INCLUDE FILES

#include "epos_csuplsettingsengine.h"
#include "epos_csuplsettings.h"
#include "epos_csuplsettingsinternal.h"
#include "epos_csuplsettingparams.h"
#include "epos_csuplsettingextensionparams.h"
#include "epos_msuplsettingsobserver.h"
#include "epos_csuplsettingsnotifier.h"
#include "epos_csuplsettingsconstants.h"

// CONSTANTS

// ==================== LOCAL FUNCTIONS ====================


// ================= MEMBER FUNCTIONS =======================

// C++ default constructor can NOT contain any code, that
// might leave.
//
CSuplSettingsInternal::CSuplSettingsInternal()
   
    {
    
    }

EXPORT_C CSuplSettingsInternal* CSuplSettingsInternal::NewL()
    {
    CSuplSettingsInternal* self = new (ELeave) CSuplSettingsInternal();

    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop(self);

    return self;
    }


// EPOC default constructor can leave.
void CSuplSettingsInternal::ConstructL()
    {
    CSuplSettings::ConstructL();    
    }

// Destructor
EXPORT_C CSuplSettingsInternal::~CSuplSettingsInternal()
    {
    
    }


EXPORT_C CSuplSettingsInternal* CSuplSettingsInternal::NewLC()
    {
    CSuplSettingsInternal* self = new (ELeave) CSuplSettingsInternal();

    CleanupStack::PushL( self );
    self->ConstructL();
    return self;
    }

            
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetVersion()
//
//This method is used to change protocol version supported by SUPL server.
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetVersion( const TInt64 aSlpId, const TInt aMajor, const TInt aMinor )
    {
    return iSettingsEngine->SetVersion(aSlpId,aMajor,aMinor );            
    }            
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetVersion()
//
//This method is used to retrieve protocol version supported by SUPL server. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetVersion( const TInt64 aSlpId,TInt& aMajor,TInt& aMinor )const
    {
    return iSettingsEngine->GetVersion(aSlpId,aMajor,aMinor );            
    }         
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetManufacturerName()
//
//This method is used to change manufacturer in server parameters. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetManufacturerName( const TInt64 aSlpId, const TDesC& aManufacturer)
    {
    return iSettingsEngine->SetManufacturerName(aSlpId,aManufacturer);            
    }   
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetManufacturerName()
//
//This method is used to retrieve manufacturer in server parameters. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetManufacturerName( const TInt64 aSlpId,TDes& aManufacturerName)const
    {
    return iSettingsEngine->GetManufacturerName(aSlpId,aManufacturerName);            
    }
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetLastUseTime()
//
//This method is used to change timestamp when the HSLP was used last time. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetLastUseTime( const TInt64 aSlpId, const TTime aTime )
    {
    return iSettingsEngine->SetLastUseTime(aSlpId,aTime );             
    }            

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetLastTriedTime()
//
//This method is used to change timestamp when the HSLP was tried last time. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetLastTriedTime( const TInt64 aSlpId, const TTime aTime )
    {
    return iSettingsEngine->SetLastTriedTime(aSlpId,aTime);            
    }      

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetLastUseTime()
//
//This method is used to get the timestamp when the HSLP was used last time. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetLastUseTime(const TInt64 aSlpId,TTime& aTime) const
    {
    return iSettingsEngine->GetLastUseTime(aSlpId,aTime );             
    }            

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetLastTriedTime()
//
//This method is used to get timestamp when the HSLP was used last tried. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetLastTriedTime(const TInt64 aSlpId,TTime& aTime) const
    {
    return iSettingsEngine->GetLastTriedTime(aSlpId,aTime);            
    } 
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetNetInfoLastUse()
//
//his method is used to change network information when the SUPL session was last done. 
//-------------------------------------------------------------------------------------- 
EXPORT_C TInt CSuplSettingsInternal::SetNetInfoLastUse( const TInt64 aSlpId, 
                                            const CSuplSettingsInternal::TSuplSettingsNetworkType aNetType, 
                                            const TInt aMcc, const TInt aMnc, const TInt aCid, const TInt aLac)
    {
    return iSettingsEngine->SetNetInfoLastUse(aSlpId,aNetType,aMcc,aMnc,aCid,aLac);             
    }            

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetNetInfoLastSucess()
//
//This method is used to change network information when the SUPL session was last done sucessfully. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetNetInfoLastSucess( const TInt64 aSlpId, 
                                            const CSuplSettingsInternal::TSuplSettingsNetworkType aNetType,
                                            const TInt aMcc, const TInt aMnc, const TInt aCid, const TInt aLac)
    {
    return iSettingsEngine->SetNetInfoLastSucess(aSlpId,aNetType,aMcc,aMnc,aCid,aLac);
    }  
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetNetInfoLastSucess()
//
//This method is used to retrieve network information when the SUPL session was last
//done sucessfully. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetNetInfoLastSucess(const TInt64 aSlpId,CSuplSettingsInternal::TSuplSettingsNetworkType& aNetType,
                                   TInt& aMcc,TInt& aMnc,TInt& aCid,TInt& aLac) const
   {
   return iSettingsEngine->GetNetInfoLastSucess(aSlpId,aNetType,aMcc,aMnc,aCid,aLac);
   }
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetNetInfoLastUse()
//
//This method is used to retrieve network information when the SUPL session was last done.
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetNetInfoLastUse(const TInt64 aSlpId,CSuplSettingsInternal::TSuplSettingsNetworkType& aNetType,
                                   TInt& aMcc,TInt& aMnc,TInt& aCid,TInt& aLac) const
   {
   return iSettingsEngine->GetNetInfoLastUse(aSlpId,aNetType,aMcc,aMnc,aCid,aLac);
   }
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetEmergencySupportFlag()
//
//This method is used to change parameter which indicates whether server
// supports emergency service or not.
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetEmergencySupportFlag( const TInt64 aSlpId, const TBool aEmergencySupportFlag )
    {
    return iSettingsEngine->SetEmergencySupportFlag(aSlpId,aEmergencySupportFlag );             
    }   
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetEmergencySupportFlag()
//
//This method is used to get parameter which indicates whether server
// supports emergency service or not.
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetEmergencySupportFlag(const TInt64 aSlpId,TBool& aEmergencySupportFlag) const
    {
    return iSettingsEngine->GetEmergencySupportFlag(aSlpId,aEmergencySupportFlag);
    }
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetTlsSupportFlag()
//
//This method is used to change parameter which indicates whether server
// supports TLS or not. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetTlsSupportFlag( const TInt64 aSlpId, const TBool aTlsSupportFlag )
    {
    return iSettingsEngine->SetTlsSupportFlag(aSlpId,aTlsSupportFlag );             
    }   
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetTlsFlag()
//
//This method is used to retrieve parameter which indicates whether server
// supports TLS or not. 
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetTlsFlag(const TInt64 aSlpId,TBool& aTlsFlag) const
    {
    return iSettingsEngine->GetTlsFlag(aSlpId,aTlsFlag ); 
    }
//--------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetPskTlsSupportFlag()

// This method is used to change parameter which indicates whether server
// supports PSK-TLS or not.
//---------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::SetPskTlsSupportFlag(const TInt64 aSlpId,const TBool aPskTlsSupportFlag)
    {
    return iSettingsEngine->SetPskTlsSupportFlag(aSlpId,aPskTlsSupportFlag ); 
    }
//--------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetPskTlsFlag()

// This method is to retrieve  parameter which indicates whether server
// supports PSK-TLS or not.
//---------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetPskTlsFlag(const TInt64 aSlpId,TBool& aPskTlsFlag) const
    {
    return iSettingsEngine->GetPskTlsFlag(aSlpId,aPskTlsFlag );
    }
            
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetTopPriority()
//
//This method is used to set one server entry as default in SUPL settings.
//--------------------------------------------------------------------------------------
EXPORT_C  TInt CSuplSettingsInternal::SetTopPriority(const TInt64 aSlpId)
    {
    return iSettingsEngine->SetAsDefault(aSlpId);
    }
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetDefaultSlpId()
//
//This method is used to retrieve default SLP identification.
//--------------------------------------------------------------------------------------
EXPORT_C TInt CSuplSettingsInternal::GetDefaultSlpId(TInt64& aSlpId) const
    {
    return iSettingsEngine->GetDefaultSlpId(aSlpId);
    }

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::RemoveOnSimChange()
//
//This method is used to delete all servers which have the Sim Change Remove Flag set
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::RemoveOnSimChange()
    {
    return iSettingsEngine->RemoveOnSimChange();
    }
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetFallBackTimerValue()
//
//This Method is used to Set the fallback timer value into the CenRep
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::GetFallBackTimerValue(TInt& aTimerValue)
    {
    return iSettingsEngine->GetFallBackTimer(aTimerValue);
    }

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetFallBackTimerValue()
//
//This Method is used to Set the fallback timer value to the SUPL Settings
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::SetFallBackTimerValue(const TInt aTimerValue)
    {
    return iSettingsEngine->SetFallBackTimer(aTimerValue);
    }
    
//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::InsertSessionRecord()
//
//This method is used to insert Active session record into the SUPL session DB
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::InsertSessionRecord(const CTriggerParams* aSessionParamValues)
    {
    return iSettingsEngine->InsertSessionRecord(aSessionParamValues);
    }
    

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetOutstandingTriggers()
//
//This method is used to set outstanding triggers attribute for a given session
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::SetOutstandingTriggers( TInt64 aSessionId,
                                                            TUint64 aOutstandingTriggers )
    {
    return iSettingsEngine->SetOutstandingTriggers(aSessionId,aOutstandingTriggers);
    }

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::DeleteSessionRecord()
//
//This method is used to delete a session record corresponding to the given session ID
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::DeleteSessionRecord(TInt64 aSessionId)
    {
    return iSettingsEngine->DeleteSessionRecord(aSessionId);
    }

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::DeleteAllSessionRecords()
//
//This method is used to delete all session records from session table
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::DeleteAllSessionRecords()
    {
    return iSettingsEngine->DeleteAllSessionRecords();
    }

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::GetServerExtensionParams()
//
//This method is used to retrieve extended parameters of given server
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::GetServerExtensionParams( TInt64 aSlpId,CServerExtensionParams* aServerExtnParams ) const
    {
    if( aServerExtnParams )
	    {
	    return iSettingsEngine->GetServerExtensionParams( aSlpId,aServerExtnParams );
	    }
    return KErrArgument;
    }

//-------------------------------------------------------------------------------------
//CSuplSettingsInternal::SetServerExtensionParams()
//
//This method is used to set extended parameters of a given server.
//--------------------------------------------------------------------------------------

EXPORT_C TInt CSuplSettingsInternal::SetServerExtensionParams( TInt64 aSlpId,CServerExtensionParams* aServerExtnParams )
    {
    if( aServerExtnParams )
	    {
	    return iSettingsEngine->SetServerExtensionParams( aSlpId,aServerExtnParams );
	    } 
    return KErrArgument;
    }
//  End of File