--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/basiclocationinfodisplay/blid/engine/src/CBlidSettings.cpp Wed Sep 01 12:31:27 2010 +0100
@@ -0,0 +1,230 @@
+/*
+* Copyright (c) 2005-2009 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 CBlidSettings class which provide access to Blid settings. Blid Setting can be read and modified using this class
+*
+*/
+
+// INCLUDE FILES
+#include <f32file.h> // RFs
+#include <centralrepository.h>
+#include <blid.rsg>
+#include <eikenv.h>
+
+#include "CBlidSettings.h"
+#include "MBlidEngObserver.h"
+#include "CBlidMeasurementSettingListener.h"
+#include "BlidSettingsCrkeys.h"
+#include "Blid.hrh"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ==============================
+// ----------------------------------------------------------------------------
+// CBlidSettings::CBlidSettings
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------------------------------
+//
+CBlidSettings::CBlidSettings()
+ : iAltCalibration(0)
+ ,iBacklightOption(0)
+ ,iIsOdoReset( EFalse )
+ {
+ iArrivedDistance = -1;
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ----------------------------------------------------------------------------
+//
+void CBlidSettings::ConstructL()
+ {
+ iSysofMeasSettings = CBlidMeasurementSettingListener::NewL( * this );
+ iArrivedToneName = HBufC8::NewL( KMaxFileName );
+ HandleSysMeasureValueL();
+ iRepository = CRepository::NewL( KCRUidBlidOdometerSettings );
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::NewL
+// Two-phased constructor.
+// ----------------------------------------------------------------------------
+//
+CBlidSettings* CBlidSettings::NewL()
+ {
+ CBlidSettings* self = new( ELeave ) CBlidSettings;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::~CBlidSettings
+// ----------------------------------------------------------------------------
+//
+CBlidSettings::~CBlidSettings()
+ {
+ delete iSysofMeasSettings;
+ delete iArrivedToneName;
+ delete iRepository;
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::SetAltCalibration
+// ----------------------------------------------------------------------------
+//
+void CBlidSettings::SetAltCalibration( const TReal32 aAltCalibration )
+ {
+ TReal altCalibration = aAltCalibration;
+ iRepository->Set( KBlidAltCalibrationValue, altCalibration );
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::AltCalibration
+// ----------------------------------------------------------------------------
+//
+TReal32 CBlidSettings::AltCalibration()
+ {
+ TReal altCalibration;
+ TInt error = iRepository->Get( KBlidAltCalibrationValue, altCalibration );
+ if( error == KErrNone )
+ {
+ iAltCalibration = altCalibration;
+ }
+ return iAltCalibration;
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::UnitOfMeasurement
+// ----------------------------------------------------------------------------
+//
+TReal32 CBlidSettings::UnitOfMeasurement()
+ {
+ return iMeasurementUnit;
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::HandleSysMeasureVlueL
+// ----------------------------------------------------------------------------
+//
+void CBlidSettings::HandleSysMeasureValueL()
+ {
+ iMeasurementUnit = iSysofMeasSettings->SysofMeasurementL();
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::SetBacklightOption
+// ----------------------------------------------------------------------------
+//
+void CBlidSettings::SetBacklightOption( const TReal32 aBacklightOption )
+ {
+ TReal backlightOption = aBacklightOption;
+ iRepository->Set( KBlidBacklightOptionValue, backlightOption );
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::GetBacklightOption
+// ----------------------------------------------------------------------------
+//
+TReal32 CBlidSettings::GetBacklightOption()
+ {
+ TReal backlightOption;
+ TInt error = iRepository->Get( KBlidBacklightOptionValue, backlightOption );
+ if( error == KErrNone )
+ {
+ iBacklightOption = backlightOption;
+ }
+ return iBacklightOption;
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::SetArrivedToneName
+// ----------------------------------------------------------------------------
+//
+void CBlidSettings::SetArrivedToneName( const TDesC8& aArrivedToneName )
+ {
+ iRepository->Set( KBlidArrivedToneNameString, aArrivedToneName );
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::GetArrivedToneName
+// ----------------------------------------------------------------------------
+//
+TDesC8& CBlidSettings::GetArrivedToneName()
+ {
+ TPtr8 des = iArrivedToneName->Des();
+ TInt error = iRepository->Get( KBlidArrivedToneNameString, des );
+ if( error != KErrNone )
+ {
+ if( iArrivedToneName->Length() <= 0 )
+ {
+ des.Copy( _L8( " Off " ) );
+ }
+ }
+ return ( *iArrivedToneName );
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::SetResetOdometerOption
+// ----------------------------------------------------------------------------
+//
+void CBlidSettings::SetResetOdometerOption( const TReal32 aIsOdoReset )
+ {
+ TReal isOdoReset = aIsOdoReset;
+ iRepository->Set( KBlidDoResetValue, isOdoReset );
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::GetResetOdometerOption
+// ----------------------------------------------------------------------------
+//
+TReal32 CBlidSettings::GetResetOdometerOption()
+ {
+ TReal isOdoReset;
+ TInt error = iRepository->Get( KBlidDoResetValue, isOdoReset );
+ if( error != KErrNone )
+ {
+ iIsOdoReset = isOdoReset;
+ }
+ return iIsOdoReset;
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::SetResetOdometerOption
+// ----------------------------------------------------------------------------
+//
+void CBlidSettings::SetArrivedDistance( TReal32 aDistance )
+ {
+ TReal arrivedDistance = aDistance;
+ iRepository->Set( KBlidOdometerSettingsValue, arrivedDistance );
+ }
+
+// ----------------------------------------------------------------------------
+// CBlidSettings::GetResetOdometerOption
+// ----------------------------------------------------------------------------
+//
+TReal32 CBlidSettings::GetArrivedDistance()
+ {
+ TReal arrivedDistance;
+ TInt error = iRepository->Get( KBlidOdometerSettingsValue, arrivedDistance );
+ if( error == KErrNone )
+ {
+ iArrivedDistance = arrivedDistance;
+ }
+ return iArrivedDistance;
+ }
+
+// End of File