--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/locbtnotifier/src/locbtnotifierplugin.cpp Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,792 @@
+/*
+* Copyright (c) 2008 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: CLocBtNotifierPlugIn class implementation
+*
+*/
+
+
+// System Includes
+#include <cfactionindication.h>
+#include <centralrepository.h>
+#include <AknGlobalNote.h>
+
+
+// User Includes
+#include "locbtnotifierplugin.h"
+#include "locbtnotifierconstantsmanager.h"
+#include "locbtnotifierprivatecrkeys.h"
+#include "locbtnotifierdebug.h"
+
+// CONSTANTS
+
+// Security Policy
+_LIT_SECURITY_POLICY_PASS( KSecurityPolicy );
+
+// LocBtNotifier action
+_LIT( KLocBtNotifierAction, "showNote" );
+
+// LocBtNotifier action parameters
+_LIT( KPsBatteryKeyState, "BatteryState" );
+_LIT( KPsAntennaKeyState, "AntennaState" );
+_LIT( KPsPowerKeyState, "PowerState" );
+
+// BtGpsPsy Battery key state values
+_LIT( KBatteryStateNormal, "EBatteryStateNormal" );
+_LIT( KBatteryStateNA, "EBatteryStateNA" );
+_LIT( KBatteryStateLow, "EBatteryStateLow" );
+_LIT( KBatteryStateFull, "EBatteryStateFull" );
+
+// BtGpsPsy Antenna key state values
+_LIT( KExtAntennaNA, "EExtAntennaNA" );
+_LIT( KExtAntennaOff, "EExtAntennaOff" );
+_LIT( KExtAntennaOn, "EExtAntennaOn" );
+
+// BtGpsPsy Power key state values
+_LIT( KExtPowerNA, "EExtPowerNA" );
+_LIT( KExtPowerOff, "EExtPowerOff" );
+_LIT( KExtPowerOn, "EExtPowerOn" );
+
+// Max length of the text to be displayed in the Information Note
+const TInt KMaxInfoTextLength = 256;
+
+// Logging constants
+_LIT(KLogFile, "locbtnotifier.txt");
+
+_LIT(KLogDir, "locbtnotifier");
+
+
+
+
+// ======== MEMBER FUNCTIONS ========
+
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::CLocBtNotifierPlugIn
+// ---------------------------------------------------------------------------
+//
+ CLocBtNotifierPlugIn::CLocBtNotifierPlugIn():
+ iBatteryStatus( CLocBtNotifierPlugIn::EBatteryStateUnInitialized ),
+ iAntennaStatus( CLocBtNotifierPlugIn::EAntennaStateUnInitialized ),
+ iPowerStatus( CLocBtNotifierPlugIn::EPowerStateUnInitialized ),
+ iInfoText ( NULL , 0 )
+ {
+
+ }
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::NewL
+// Two Phased constructor
+// ---------------------------------------------------------------------------
+//
+CLocBtNotifierPlugIn* CLocBtNotifierPlugIn::NewL()
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::NewL : IN" );
+
+ CLocBtNotifierPlugIn* self = new( ELeave ) CLocBtNotifierPlugIn;
+
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::NewL : OUT" );
+
+ return self;
+ }
+
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn()
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn : IN" );
+
+ delete iGlobalNote;
+ delete iConstantsManager;
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn : OUT" );
+ }
+
+
+// ---------------------------------------------------------------------------
+// From class CCFActionPlugIn
+// CLocBtNotifierPlugIn::InitializeL
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::InitializeL()
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::InitializeL : IN" );
+
+ iGlobalNote = CAknGlobalNote::NewL();
+ iConstantsManager = CLocBtNotifierConstantsManager::NewL();
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::InitializeL : OUT" );
+ }
+
+// ---------------------------------------------------------------------------
+// From class CCFActionPlugIn
+// CLocBtNotifierPlugIn::ExecuteL
+// ---------------------------------------------------------------------------
+//
+CCFActionPlugIn::TExecutionTime CLocBtNotifierPlugIn::ExecuteL(
+ CCFActionIndication* aActionIndication )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ExecuteL : IN" );
+
+ CCFActionPlugIn::TExecutionTime time = CCFActionPlugIn::ENone;
+
+ // Parse PS key settings
+ const RKeyValueArray& parameters = aActionIndication->Parameters();
+
+ // Get the key and value of the action parameters
+ TPtrC key( KNullDesC );
+ TPtrC value( KNullDesC );
+
+ key.Set( parameters[0]->Key() );
+ value.Set( parameters[0]->Value() );
+
+ // Check key value of the action parameter
+ if( !( key.CompareF( KPsBatteryKeyState ) ) )
+ {
+ // Handle the Battery Key State change events
+ HandleBatteryKeyStateL( value );
+ }
+
+ else if( !( key.CompareF ( KPsAntennaKeyState ) ) )
+ {
+ // Handle the Antenna key State change events
+ HandleAntennaKeyStateL( value );
+ }
+
+ else if( !( key.CompareF ( KPsPowerKeyState ) ) )
+ {
+ // Handle the Power key State change events
+ HandlePowerKeyStateL( value );
+ }
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ExecuteL : OUT" );
+
+ return time;
+ }
+
+// ---------------------------------------------------------------------------
+// From class CCFActionPlugIn
+// CLocBtNotifierPlugIn::GetActionsL
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::GetActionsL( CDesCArray& aActionList ) const
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::GetActionsL : IN" );
+
+ aActionList.AppendL( KLocBtNotifierAction );
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::GetActionsL : OUT" );
+ }
+
+// ---------------------------------------------------------------------------
+// From class CCFActionPlugIn
+// CLocBtNotifierPlugIn::SecurityPolicy
+// ---------------------------------------------------------------------------
+//
+const TSecurityPolicy& CLocBtNotifierPlugIn::SecurityPolicy() const
+ {
+ return KSecurityPolicy;
+ }
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::HandleBatteryKeyState
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::HandleBatteryKeyStateL( TDesC& aValue )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleBatteryKeyState : IN" );
+
+ // Current Battery State
+ CLocBtNotifierPlugIn::TBtGpsPsyBatteryKeyState batteryState =
+ CLocBtNotifierPlugIn::EBatteryStateUnInitialized ;
+
+
+ // Get the current PS key state value
+ if( !( aValue.CompareF( KBatteryStateNA ) ) )
+ {
+ batteryState = CLocBtNotifierPlugIn::EBatteryStateNotApplicable;
+ }
+ else if( !( aValue.CompareF( KBatteryStateNormal ) ) )
+ {
+ batteryState = CLocBtNotifierPlugIn::EBatteryStateNormal;
+ }
+ else if( !( aValue.CompareF( KBatteryStateLow ) ) )
+ {
+ batteryState = CLocBtNotifierPlugIn::EBatteryStateLow;
+ }
+ else if( !( aValue.CompareF( KBatteryStateFull ) ) )
+ {
+ batteryState = CLocBtNotifierPlugIn::EBatteryStateFull;
+ }
+ else
+ {
+ // Invalid
+ return;
+ }
+
+ LOCBTNOTIFIERDEBUG1( "Battery State (%d)", batteryState );
+
+
+ if( iBatteryStatus == CLocBtNotifierPlugIn::EBatteryStateUnInitialized )
+ {
+ // Initializing the previous battery Status for the first callback
+ // from context framework
+ iBatteryStatus = CLocBtNotifierPlugIn::EBatteryStateInitialized;
+
+ LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)", iBatteryStatus );
+
+ return;
+ }
+ else if ( iBatteryStatus == CLocBtNotifierPlugIn::EBatteryStateInitialized
+ && batteryState != CLocBtNotifierPlugIn::EBatteryStateNotApplicable )
+ {
+ // Initializing the previous battery status to current value of PS key
+ // after pairing of BT GPS device happens
+ iBatteryStatus = batteryState;
+
+ LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)", iBatteryStatus );
+
+ return;
+ }
+
+
+ LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)", iBatteryStatus );
+
+ //Check that there is a change in the Battery State before displaying the note
+ if( iBatteryStatus != batteryState )
+ {
+
+ LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)", iBatteryStatus );
+
+
+ LOCBTNOTIFIERDEBUG1( "Battery State (%d)", batteryState );
+
+ switch( batteryState )
+ {
+ case CLocBtNotifierPlugIn::EBatteryStateNotApplicable :
+ {
+ // No note shown
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EBatteryStateNormal :
+ {
+ // No note shown
+ iBatteryStatus = batteryState;
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EBatteryStateLow :
+ {
+ iBatteryStatus = batteryState;
+ ShowBatteryNoteL( batteryState );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EBatteryStateFull :
+ {
+ iBatteryStatus = batteryState;
+ ShowBatteryNoteL( batteryState );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+ }
+
+
+
+ }
+
+ LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)", iBatteryStatus );
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleBatteryKeyState : OUT" );
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::ShowBatteryNoteL
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::ShowBatteryNoteL( TBtGpsPsyBatteryKeyState aState )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowBatteryNoteL : IN" );
+
+ // Check if the note can be shown
+ if( !( IsBatteryNoteShownL( aState ) ) )
+ {
+ return;
+ }
+
+ switch( aState )
+ {
+ case CLocBtNotifierPlugIn::EBatteryStateLow :
+ {
+ iInfoText.Set( iConstantsManager->GetBatteryLowDialogText() );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EBatteryStateFull :
+ {
+ iInfoText.Set( iConstantsManager->GetBatteryFullDialogText() );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+ }
+
+ iGlobalNote->ShowNoteL( EAknGlobalInformationNote, iInfoText );
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowBatteryNoteL : OUT" );
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::IsBatteryNoteShown
+// ---------------------------------------------------------------------------
+//
+TBool CLocBtNotifierPlugIn::IsBatteryNoteShownL( TBtGpsPsyBatteryKeyState aState )
+ {
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsBatteryNoteShown : IN" );
+
+ TBool shown = EFalse;
+
+ switch( aState )
+ {
+ case CLocBtNotifierPlugIn::EBatteryStateLow :
+ {
+ IsDialogShownL( KBluetoothGpsPsyBatteryLowDialog, shown );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EBatteryStateFull :
+ {
+ IsDialogShownL( KBluetoothGpsPsyBatteryFullDialog, shown );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+
+ }
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsBatteryNoteShown : OUT" );
+
+ return shown;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::HandleAntennaKeyState
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::HandleAntennaKeyStateL( TDesC& aValue )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleAntennaKeyState : IN" );
+
+ // Current Antenna State
+ CLocBtNotifierPlugIn::TBtGpsPsyAntennaKeyState antennaState =
+ CLocBtNotifierPlugIn::EAntennaStateUnInitialized ;
+
+
+ // Get the current PS key state value
+ if( !( aValue.CompareF( KExtAntennaNA ) ) )
+ {
+ antennaState = CLocBtNotifierPlugIn::EAntennaStateNotApplicable;
+ }
+ else if( !( aValue.CompareF( KExtAntennaOff ) ) )
+ {
+ antennaState = CLocBtNotifierPlugIn::EExtAntennaOff;
+ }
+ else if( !( aValue.CompareF( KExtAntennaOn ) ) )
+ {
+ antennaState = CLocBtNotifierPlugIn::EExtAntennaOn ;
+ }
+ else
+ {
+ // Invalid
+ return;
+ }
+
+ LOCBTNOTIFIERDEBUG1( " Antenna State (%d)", antennaState );
+
+ if( iAntennaStatus == CLocBtNotifierPlugIn::EAntennaStateUnInitialized )
+ {
+ // Initializing the previous Antenna Status for the first callback
+ // from context framework
+ iAntennaStatus = CLocBtNotifierPlugIn::EAntennaStateInitialized;
+
+ LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)", iAntennaStatus );
+
+ return;
+ }
+ else if ( iAntennaStatus == CLocBtNotifierPlugIn::EAntennaStateInitialized
+ && antennaState != CLocBtNotifierPlugIn::EAntennaStateNotApplicable )
+ {
+ // Initializing the previous Antenna status to current value of PS key
+ // after pairing of BT GPS device happens
+ iAntennaStatus = antennaState;
+
+ LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)", iAntennaStatus );
+
+ return;
+ }
+
+ LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)", iAntennaStatus );
+
+ //Check that there is a change in the Antenna State before displaying the note
+ if( iAntennaStatus != antennaState )
+ {
+
+ LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)", iAntennaStatus );
+
+
+ LOCBTNOTIFIERDEBUG1( " Antenna State (%d)", antennaState );
+
+ switch( antennaState )
+ {
+ case CLocBtNotifierPlugIn::EAntennaStateNotApplicable :
+ {
+ // No note shown
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EExtAntennaOff :
+ {
+ iAntennaStatus = antennaState;
+ ShowAntennaNoteL( antennaState );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EExtAntennaOn :
+ {
+ iAntennaStatus = antennaState;
+ ShowAntennaNoteL( antennaState );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+ }
+
+
+ }
+
+ LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)", iAntennaStatus );
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleAntennaKeyState : OUT" );
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::ShowAntennaNoteL
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::ShowAntennaNoteL( TBtGpsPsyAntennaKeyState aState )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowAntennaNoteL : IN" );
+
+ // Check if the note can be shown
+ if( !( IsAntennaNoteShownL( aState ) ) )
+ {
+ return;
+ }
+
+ switch( aState )
+ {
+ case CLocBtNotifierPlugIn::EExtAntennaOff :
+ {
+ iInfoText.Set( iConstantsManager->GetExtAntennaDisconnectedDialogText() );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EExtAntennaOn :
+ {
+ iInfoText.Set( iConstantsManager->GetExtAntennaConnectedDialogText() );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+ }
+
+ iGlobalNote->ShowNoteL( EAknGlobalInformationNote, iInfoText );
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowAntennaNoteL : OUT" );
+ }
+
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::IsAntennaNoteShown
+// ---------------------------------------------------------------------------
+//
+TBool CLocBtNotifierPlugIn::IsAntennaNoteShownL( TBtGpsPsyAntennaKeyState aState )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsAntennaNoteShown : IN" );
+
+ TBool shown = EFalse;
+
+ switch( aState )
+ {
+ case CLocBtNotifierPlugIn::EExtAntennaOff :
+ {
+ IsDialogShownL( KBluetoothGpsPsyExtAntennaDisconnectedDialog, shown );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EExtAntennaOn :
+ {
+ IsDialogShownL( KBluetoothGpsPsyExtAntennaConnectedDialog, shown );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+
+ }
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsAntennaNoteShown : OUT" );
+
+ return shown;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::HandlePowerKeyState
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::HandlePowerKeyStateL( TDesC& aValue )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandlePowerKeyState : IN" );
+
+ // Current Power State
+ CLocBtNotifierPlugIn::TBtGpsPsyPowerKeyState powerState =
+ CLocBtNotifierPlugIn::EPowerStateUnInitialized ;
+
+
+ // Get the current PS key state value
+ if( !( aValue.CompareF( KExtPowerNA ) ) )
+ {
+ powerState = CLocBtNotifierPlugIn::EPowerStateNotApplicable;
+ }
+ else if( !( aValue.CompareF( KExtPowerOff ) ) )
+ {
+ powerState = CLocBtNotifierPlugIn::EExtPowerOff;
+ }
+ else if( !( aValue.CompareF( KExtPowerOn ) ) )
+ {
+ powerState = CLocBtNotifierPlugIn::EExtPowerOn;
+ }
+ else
+ {
+ // Invalid
+ return;
+ }
+
+ LOCBTNOTIFIERDEBUG1( "Power State (%d)", powerState );
+
+ if( iPowerStatus == CLocBtNotifierPlugIn::EPowerStateUnInitialized )
+ {
+ // Initializing the previous Power Status for the first callback
+ // from context framework
+ iPowerStatus = CLocBtNotifierPlugIn::EPowerStateInitialized;
+
+ LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)", iPowerStatus );
+
+ return;
+ }
+ else if ( iPowerStatus == CLocBtNotifierPlugIn::EPowerStateInitialized
+ && powerState != CLocBtNotifierPlugIn::EPowerStateNotApplicable )
+ {
+ // Initializing the previous Power status to current value of PS key
+ // after pairing of BT GPS device happens
+ iPowerStatus = powerState;
+
+ LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)", iPowerStatus );
+
+ return;
+ }
+
+ LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)", iPowerStatus );
+
+ //Check that there is a change in the Power State before displaying the note
+ if( iPowerStatus != powerState )
+ {
+
+ LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)", iPowerStatus );
+
+ LOCBTNOTIFIERDEBUG1( " Power State (%d)", powerState );
+
+ switch( powerState )
+ {
+ case CLocBtNotifierPlugIn::EPowerStateNotApplicable :
+ {
+ // No note shown
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EExtPowerOff :
+ {
+ iPowerStatus = powerState;
+ ShowPowerNoteL( powerState );
+ break;
+ }
+
+ case EExtPowerOn :
+ {
+ iPowerStatus = powerState;
+ ShowPowerNoteL( powerState );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+ }
+
+
+ }
+
+ LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)", iPowerStatus );
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandlePowerKeyState : OUT" );
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::ShowPowerNoteL
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::ShowPowerNoteL( TBtGpsPsyPowerKeyState aState )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowPowerNoteL : IN" );
+
+ // Check if the note can be shown
+ if( !( IsPowerNoteShownL( aState ) ) )
+ {
+ return;
+ }
+
+ switch( aState )
+ {
+ case CLocBtNotifierPlugIn::EExtPowerOff :
+ {
+ iInfoText.Set( iConstantsManager->GetExtPowerDisconnectedDialogText() );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EExtPowerOn :
+ {
+ iInfoText.Set( iConstantsManager->GetExtPowerConnectedDialogText() );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+ }
+
+ iGlobalNote->ShowNoteL( EAknGlobalInformationNote, iInfoText );
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowPowerNoteL : OUT" );
+ }
+
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::IsPowerNoteShown
+// ---------------------------------------------------------------------------
+//
+TBool CLocBtNotifierPlugIn::IsPowerNoteShownL( TBtGpsPsyPowerKeyState aState )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsPowerNoteShown : IN" );
+
+ TBool shown = EFalse;
+
+ switch( aState )
+ {
+ case CLocBtNotifierPlugIn::EExtPowerOff :
+ {
+ IsDialogShownL( KBluetoothGpsPsyExtPowerDisconnectedDialog, shown );
+ break;
+ }
+
+ case CLocBtNotifierPlugIn::EExtPowerOn :
+ {
+ IsDialogShownL( KBluetoothGpsPsyExtPowerConnectedDialog, shown );
+ break;
+ }
+
+ default :
+ {
+ break;
+ }
+
+ }
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsPowerNoteShown : OUT" );
+
+ return shown;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocBtNotifierPlugIn::IsDialogShown
+// ---------------------------------------------------------------------------
+//
+void CLocBtNotifierPlugIn::IsDialogShownL( TUint32 aKey , TBool& aShown )
+ {
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsDialogShown : IN" );
+
+ // CRepository instance for accessing the BtGpsPsy settings
+ CRepository* cenRep = CRepository::NewL( KCRUidLocBtGpsPsy );
+
+
+ // Get the value of the specified Cen Rep key
+ TInt err = cenRep->Get( aKey, aShown );
+
+ if( err != KErrNone )
+ // Failed to Get value of cenrep key,return error
+ {
+ User::Leave( err );
+ }
+
+ delete cenRep;
+
+ LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsDialogShown : OUT" );
+ }
+
+