diff -r 8173571d354e -r 1fc85118c3ae eventsui/eventsengine/src/evtmgmtuilbtadapter.cpp --- a/eventsui/eventsengine/src/evtmgmtuilbtadapter.cpp Thu Aug 19 09:48:36 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,737 +0,0 @@ -/* -* Copyright (c) 2008-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: It is adapter class to handle lbt operations -* -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "evtmgmtuilbtadapter.h" -#include "evtdebug.h" - -// CONSTANTS -const TInt KUnitConversion = 1000; // Unit Converter -_LIT( KTriggerHandlingProcessName, "evthandler.exe" ); // Handler Process Name -_LIT_SECURE_ID( KTriggerHandlingProcessSID, 0x2001E667); // Handler Process UID -_LIT_SECURE_ID( KManagerProcessSID, 0x2001E668); // Manager Process UID -_LIT( KMyRequestor , "Requestor" ); //Set requestor information - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter ::CEvtMgmtUiLbtAdapter() -// --------------------------------------------------------------------------- -// -CEvtMgmtUiLbtAdapter::CEvtMgmtUiLbtAdapter(MEvtMgmtUiLbtObserver& aObserver) -:CActive( EPriorityStandard ), iObserver(aObserver) - { - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter ::ConstructL() -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::ConstructL() - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::ConstructL()" ); - - CActiveScheduler::Add(this); - EVTUIDEBUG("scheduler added" ); - - // Create a Connection to LBT Sever. - User::LeaveIfError( iLbtServer.Connect() ); - EVTUIDEBUG("lbtserver connected" ); - - // Open 2 Sessions - One for LBT operation and Other for LBT observer - User::LeaveIfError( iLbt.Open(iLbtServer) ); - User::LeaveIfError( iLbtObserver.Open(iLbtServer) ); - EVTUIDEBUG("lbt is opened" ); - - // Create a Trigger change notifier to listen to any changes to triggers. - iEventChangeObserver = CLbtTriggerChangeEventNotifier::NewL( iLbtObserver, *this ); - iEventChangeObserver->Start(); - EVTUIDEBUG("Trigger Change Notifier is started" ); - - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::ConstructL()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter ::NewL() -// --------------------------------------------------------------------------- -// -CEvtMgmtUiLbtAdapter* CEvtMgmtUiLbtAdapter::NewL(MEvtMgmtUiLbtObserver& aObserver) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::NewL()" ); - CEvtMgmtUiLbtAdapter * self = new (ELeave) CEvtMgmtUiLbtAdapter(aObserver); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::NewL()" ); - return self; - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter ::~CEvtMgmtUiLbtAdapter() -// --------------------------------------------------------------------------- -// -CEvtMgmtUiLbtAdapter::~CEvtMgmtUiLbtAdapter() - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::~CEvtMgmtUiLbtAdapter()" ); - Cancel(); - if(iAttrFilter) - { - delete iAttrFilter; - iAttrFilter = NULL; - } - - if(iTrigger) - { - delete iTrigger; - iTrigger = NULL; - } - - delete iEventChangeObserver; - - //Close lbt session and server - iLbtObserver.Close(); - iLbt.Close(); - iLbtServer.Close(); - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::~CEvtMgmtUiLbtAdapter()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::CreateTrigger -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::CreateTrigger(const TCoordinate& aCenter, - TReal aRadiusInKiloMeters, const TPtrC& aTriggerName, - CLbtTriggerEntry::TLbtTriggerState aState ) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::CreateOrUpdateTrigger()" ); - - TRAPD(err, CreateTriggerL( aCenter, aRadiusInKiloMeters, aTriggerName, - aState ) ); - - if( err!=KErrNone ) - iObserver.NotifyLbtError(err, iState); - - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::CreateOrUpdateTrigger()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::CreateTriggerL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::CreateTriggerL(const TCoordinate& aCenter, - TReal aRadiusInKiloMeters, const TPtrC& aTriggerName, - CLbtTriggerEntry::TLbtTriggerState aState ) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::CreateTriggerL()"); - - if ( IsActive() ) - { - User::Leave( KErrInUse ); - } - - //set state of the machine - iState = ELbtAdapterCreate; - - EVTUIDEBUG("========== Trigger Parameter Details ===============" ); - CLbtTriggerConditionArea* cond = GetConditionAreaL(aCenter, aRadiusInKiloMeters); - CleanupStack::PushL(cond); - - /*********************** Debug ******************************************/ - TBuf<256> debug; - debug.Copy( aTriggerName ); - EVTUIDEBUG1("Trigger Name = %S", &debug ); - EVTUIDEBUG1("Event State = %d", aState ); - EVTUIDEBUG1("Radius = %f", aRadiusInKiloMeters*KUnitConversion ); - debug.Copy( KTriggerHandlingProcessName() ); - EVTUIDEBUG1("Trigger handling process name: %S", &debug ); - EVTUIDEBUG1("Trigger handling process SID: %x", KTriggerHandlingProcessSID); - EVTUIDEBUG1("Manager process SID: %x", KManagerProcessSID); - /*********************** Debug ******************************************/ - EVTUIDEBUG("========== Trigger Parameter Details end ===============" ); - - if(iTrigger) - { - delete iTrigger; - iTrigger = NULL; - } - - // Create the Startup trigegr without the command line. - iTrigger = CLbtStartupTrigger::NewL( - aTriggerName, // Trigger name - aState, // Trigger state - CRequestorBase::ERequestorService, // Requestor type - CRequestorBase::EFormatApplication, // Requestor format - KMyRequestor, // Requestor data - KManagerProcessSID, // Manager Uid - cond, // Trigger condition - KTriggerHandlingProcessName, // Trigger handler app - KTriggerHandlingProcessSID - ); //Trigger state - - CleanupStack::Pop( cond ); //ownership of cond is transferred. - - SetActive(); - iStatus = KRequestPending; - - EVTUIDEBUG("Before CreateTrigger" ); - iLbt.CreateTrigger( *iTrigger, iTriggerId, EFalse, iStatus ); - EVTUIDEBUG("After CreateTrigger" ); - - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::CreateTriggerL()"); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::GetConditionAreaL -// --------------------------------------------------------------------------- -// -CLbtTriggerConditionArea* CEvtMgmtUiLbtAdapter::GetConditionAreaL( - const TCoordinate& aCenter, TReal aRadiusInKiloMeters ) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::GetConditionAreaL()"); - // Create the Condition Area object depending on the trigger type. - CLbtTriggerConditionArea* cond = NULL; - - if( Math::IsNaN( aCenter.Latitude() ) || Math::IsNaN( aCenter.Longitude() ) ) - { - //Define the triggering area - CLbtGeoCircle * trigArea = CLbtGeoCircle ::NewLC( TCoordinate(TReal(0), TReal(0), TReal(0) ),1*KUnitConversion ); - //Construct trigger condition - cond = CLbtTriggerConditionArea::NewL - (trigArea,CLbtTriggerConditionArea::EFireOnEnter ); - CleanupStack::Pop( trigArea ); //ownership of trigArea is transferred. - } - else - { - //Define the triggering area - CLbtGeoCircle * trigArea = CLbtGeoCircle ::NewLC( aCenter,aRadiusInKiloMeters*KUnitConversion ); - //Construct trigger condition - cond = CLbtTriggerConditionArea::NewL - (trigArea,CLbtTriggerConditionArea::EFireOnEnter ); - CleanupStack::Pop( trigArea ); //ownership of trigArea is transferred. - } - EVTUIDEBUG1("Lat = %f", aCenter.Latitude() ); - EVTUIDEBUG1("Long = %f", aCenter.Longitude() ); - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::GetConditionAreaL()"); - return cond; - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::UpdateCmdLineArgL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::UpdateCmdLineArgL( TLbtTriggerId aTriggerId, - TEvtEventId aEventId ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::UpdateCmdLineArgL() - %d", aTriggerId ); - //set commandline argument - const TInt KTriggerIdLength(132); - _LIT(KDelimiter, ":"); - TBuf cmdArg; - cmdArg.Zero(); - cmdArg.AppendNumUC(EEvtActionFired); - cmdArg.Append(KDelimiter()); - cmdArg.AppendNumUC(aEventId); - - CLbtStartupTrigger* trigger = CLbtStartupTrigger::NewLC(); - trigger->SetId( aTriggerId ); - trigger->SetCommandLineL( cmdArg ); - iState = ELbtAdapterUpdateCmdLineArg; - - EVTUIDEBUG1("Before UpdateTriggerL - %d", aTriggerId ); - iLbt.UpdateTriggerL( *trigger, CLbtTriggerEntry::EAttributeStartUpCommandLine, ELbtFalse ); - EVTUIDEBUG1("After UpdateTriggerL - %d", aTriggerId ); - - CleanupStack::PopAndDestroy(trigger); - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::UpdateCmdLineArgL() - %d", aTriggerId ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::UpdateTriggerL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::UpdateTriggerL( TLbtTriggerId aTriggerId, - const TCoordinate& aCenter, TReal aRadiusInKiloMeters, - CLbtTriggerEntry::TLbtTriggerState aState ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::UpdateTriggerL() - %d", aTriggerId ) - EVTUIDEBUG1("Event State = %d", aState ); - - if ( IsActive() ) - { - User::Leave( KErrInUse ); - } - - //Set state of the machine - iState = ELbtAdapterUpdate; - - // Create the Condition Area object depending on the trigger type. - CLbtTriggerConditionArea* cond = GetConditionAreaL(aCenter, aRadiusInKiloMeters ); - CleanupStack::PushL(cond); - - //create startup trigger object - if(iTrigger) - { - delete iTrigger; - iTrigger = NULL; - } - iTrigger = CLbtStartupTrigger::NewL(); - iTrigger->SetId( aTriggerId ); - iTrigger->SetCondition(cond); - CleanupStack::Pop(cond); //ownership is transferred to trigger. - iTrigger->SetState(aState); - - // Create the Trigger update attributes mask. - TLbtTriggerAttributeFieldsMask fieldsMask; - fieldsMask = CLbtTriggerEntry::EAttributeState | CLbtTriggerEntry::EAttributeCondition; - - SetActive(); - iStatus = KRequestPending; - - EVTUIDEBUG1("Before UpdateTriggerL - %d", aTriggerId ); - iLbt.UpdateTrigger( *iTrigger, fieldsMask, ELbtFalse, iStatus); - EVTUIDEBUG1("After UpdateTriggerL - %d", aTriggerId ); - - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::UpdateTriggerL() - %d", aTriggerId ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::SetTriggerStateL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::SetTriggerStateL( TLbtTriggerId aTriggerId, - CLbtTriggerEntry::TLbtTriggerState aState ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::SetTriggerStateL() - %d", aTriggerId ); - EVTUIDEBUG2("SetTriggerState for Triggerid =%d eventstatus = %d ", aTriggerId, aState); - - //Set state of the machine - iState = ELbtAdapterSetTriggerState; - iTriggerId = aTriggerId; - - EVTUIDEBUG1("Before SetTriggerStateL - %d", aTriggerId ); - iLbt.SetTriggerStateL(aTriggerId, aState, ELbtFalse ); - EVTUIDEBUG1("After SetTriggerStateL - %d", aTriggerId ); - - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::SetTriggerStateL() - %d", aTriggerId ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::SetTriggersStateL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::SetTriggersStateL( const RArray& aTriggerIdList, - CLbtTriggerEntry::TLbtTriggerState aState ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::SetTriggersStateL() Count - %d", aTriggerIdList.Count() ); - - if ( IsActive() ) - { - User::Leave( KErrInUse ); - } - - //Set state of the machine - iState = ELbtAdapterSetTriggersState; - - if( iAttrFilter ) - { - delete iAttrFilter; - iAttrFilter = NULL; - } - - // Create an attribute filter to include all the trigger ids - iAttrFilter = CLbtTriggerFilterByAttribute::NewL(); - - for( TInt index=0; indexAddTriggerIdL(aTriggerIdList[index]); - } - - SetActive(); - iStatus = KRequestPending; - iLbt.SetTriggersState( iStatus, aState, ELbtFalse, iAttrFilter ); - - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::SetTriggersState()"); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::DeleteTriggerL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::DeleteTriggerL( TLbtTriggerId aTriggerId ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::DeleteTriggerL() TriggerID = %d" , aTriggerId); - EVTUIDEBUG2("SetTriggerState for Triggerid =%d eventstatus = %d ", aTriggerId, iState); - - //set state - iState = ELbtAdapterDelete; - - //Set it to member variable so that it can be used in RunL to delete trigger - iTriggerId = aTriggerId; - - EVTUIDEBUG1("Before DeleteTriggerL - %d", aTriggerId ); - iLbt.DeleteTriggerL( iTriggerId ); - EVTUIDEBUG1("After DeleteTriggerL - %d", aTriggerId ); - - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::DeleteTriggerL() TriggerID = %d" , aTriggerId); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::DeleteTriggersL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::DeleteTriggersL( const RArray& aTriggerIdList ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::DeleteTriggersL() Count - %d", aTriggerIdList.Count() ); - - if ( IsActive() ) - { - User::Leave( KErrInUse ); - } - iState = ELbtAdapterDeleteTriggers; - SetActive(); - iStatus = KRequestPending; - - iLbt.DeleteTriggers( aTriggerIdList, iStatus ); - - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::DeleteTriggersL()"); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::GetTriggerStateL -// --------------------------------------------------------------------------- -// -CLbtTriggerEntry::TLbtTriggerState CEvtMgmtUiLbtAdapter::GetTriggerStateL( TLbtTriggerId aTriggerId ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::GetTriggerStateL = %d ", aTriggerId); - CLbtTriggerEntry::TLbtTriggerState state = CLbtTriggerEntry::EStateDisabled; - - EVTUIDEBUG1("Before GetTriggerLC - %d", aTriggerId ); - CLbtTriggerInfo * info = iLbt.GetTriggerLC( aTriggerId ); - EVTUIDEBUG1("After GetTriggerLC - %d", aTriggerId ); - - if(info) - { - CLbtTriggerEntry* entry = info->TriggerEntry(); - state = entry->State(); - CleanupStack::PopAndDestroy(info); - } - - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::GetTriggerStateL = %d ", aTriggerId); - - return state; - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::CancelRequest() -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::CancelRequest() - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::CancelRequest()" ); - Cancel(); - if(iStatus.Int()==KErrCancel) - { - iObserver.NotifyLbtError(KErrCancel, iState); - } - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::CancelRequest()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::RetrieveLocationL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::RetrieveLocationL( TLbtTriggerId aTriggerId, TCoordinate& aCenter ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::RetrieveLocationL() TriggerId = %d ", aTriggerId ); - - EVTUIDEBUG1("Before GetTriggerLC - %d", aTriggerId ); - CLbtTriggerInfo * info = iLbt.GetTriggerLC( aTriggerId ); - EVTUIDEBUG1("After GetTriggerLC - %d", aTriggerId ); - - if(info) - { - CLbtTriggerEntry* entry = info->TriggerEntry(); - CLbtTriggerConditionArea* triggArea = static_cast< CLbtTriggerConditionArea*>( entry->GetCondition()); - CLbtGeoAreaBase* triggGeoArea = static_cast< CLbtGeoAreaBase*>( triggArea->TriggerArea()); - if( triggGeoArea->Type() == CLbtGeoAreaBase::ECircle) - { - CLbtGeoCircle* loc = static_cast( triggArea->TriggerArea() ); - aCenter = loc->Center(); - EVTUIDEBUG1("GetTriggerLC: Latitude = %f", aCenter.Latitude() ); - EVTUIDEBUG1("GetTriggerLC: Longitude = %f", aCenter.Longitude() ); - } - else - { - User::Leave(KErrNotSupported); - } - CleanupStack::PopAndDestroy(); //info - } - - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::RetrieveLocationL() TriggerId = %d ", aTriggerId ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::GetFiredTriggerAccuracyL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::GetFiredTriggerAccuracyL( TLbtTriggerId aTriggerId, TReal32& aDistance ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::GetFiredTriggerAccuracyL() TriggerId = %d ", aTriggerId ); - - EVTUIDEBUG1("Before GetTriggerLC - %d", aTriggerId ); - CLbtTriggerInfo * info = iLbt.GetTriggerLC( aTriggerId ); - EVTUIDEBUG1("After GetTriggerLC - %d", aTriggerId ); - - if(info) - { - CLbtTriggerEntry* entry = info->TriggerEntry(); - CLbtTriggerConditionArea* triggArea = static_cast< CLbtTriggerConditionArea*>( entry->GetCondition()); - CLbtGeoAreaBase* triggGeoArea = static_cast< CLbtGeoAreaBase*>( triggArea->TriggerArea()); - if( triggGeoArea->Type() == CLbtGeoAreaBase::ECircle) - { - TLbtTriggerDynamicInfo* dynInfo = info->DynInfo(); - CLbtGeoCircle* circle = static_cast (triggGeoArea); - TCoordinate cord = circle->Center(); - cord.Distance(dynInfo->iFiredLocality, aDistance); - aDistance = aDistance - circle->Radius(); - aDistance = Abs(aDistance); - } - EVTUIDEBUG1( "Fired Trigger Accuracy in Distance = %f", aDistance ); - CleanupStack::PopAndDestroy(); //info - } - - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::GetFiredTriggerAccuracyL() TriggerId = %d ", aTriggerId ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::RunError -// --------------------------------------------------------------------------- -// -TInt CEvtMgmtUiLbtAdapter::RunError( TInt aError ) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::RunError()" ); - if( aError != KErrNone ) - { - //if error, notify it to the engine. - EVTUIDEBUG1("CEvtMgmtUiLbtAdapter RunError error = %d", aError ); - iObserver.NotifyLbtError( aError, iState); - } - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::RunError()" ); - return KErrNone; - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter ::RunL() -// Inherited from CActive -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::RunL() - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::RunL()" ); - - if(iStatus.Int()!=KErrNone) - { - EVTUIDEBUG1("- CEvtMgmtUiLbtAdapter::RunL() error =%d", iStatus.Int()); - User::Leave( iStatus.Int() ); - return; - } - - EVTUIDEBUG("LbtAdapter error = 0" ); - - switch(iState) - { - case ELbtAdapterCreate: - { - iState = ELbtAdapterCreate; - - //delete trigger object when trigger is successfuly created - if(iTrigger) - { - EVTUIDEBUG("Deleting trigger entry after Create" ); - delete iTrigger; - iTrigger = NULL; - } - break; - } - case ELbtAdapterUpdate: - { - //delete trigger object when trigger is successfuly updated - if(iTrigger) - { - EVTUIDEBUG("Deleting trigger entry after Update" ); - delete iTrigger; - iTrigger = NULL; - } - break; - } - case ELbtAdapterDeleteTriggers: - { - EVTUIDEBUG("Triggers are deleted successfully"); - } - break; - case ELbtAdapterSetTriggersState: - { - if(iAttrFilter) - { - delete iAttrFilter; - iAttrFilter = NULL; - } - EVTUIDEBUG("State of triggers are changed successfully"); - break; - } - default: - { - break; - } - } - //Notify engine about lbt changes - iObserver.NotifyLbtChangeL(iTriggerId, iState); - - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::RunL()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter ::DoCancel() -// Inherited from CActive -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::DoCancel() - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::DoCancel()" ); - iLbt.CancelAll(); - //iObserver.NotifyLbtError(KErrCancel, iState); - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::DoCancel()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::GetTriggerListL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::GetTriggerListL( RArray& aTriggerList, - CLbtTriggerEntry::TLbtTriggerState aState ) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::GetTriggerListL()" ); - CLbtListTriggerOptions *listOptions = CLbtListTriggerOptions::NewL(); - CleanupStack::PushL(listOptions); - - CLbtTriggerFilterByAttribute* filter = CLbtTriggerFilterByAttribute::NewLC(); - - // List only valid triggers and whose state is aState. - filter->AddTriggerStateL( aState ); - filter->AddTriggerValidityL( TLbtTriggerDynamicInfo::EValid ); - - listOptions->SetFilter( filter ); - - EVTUIDEBUG("Before ListTriggerIdsL"); - iLbt.ListTriggerIdsL( aTriggerList, listOptions ); - EVTUIDEBUG("After ListTriggerIdsL"); - - CleanupStack::PopAndDestroy(2);// filter, listOptions - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::GetTriggerListL()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::GetTriggerListL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::GetTriggerListL( RArray& aTriggerList, - TLbtTriggerDynamicInfo::TLbtTriggerValidity aValid ) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::GetTriggerListL()" ); - CLbtListTriggerOptions *listOptions = CLbtListTriggerOptions::NewL(); - CleanupStack::PushL(listOptions); - - CLbtTriggerFilterByAttribute* filter = CLbtTriggerFilterByAttribute::NewLC(); - - // List only triggers of status aValid - filter->AddTriggerValidityL( aValid ); - - listOptions->SetFilter( filter ); - - EVTUIDEBUG("Before ListTriggerIdsL"); - iLbt.ListTriggerIdsL( aTriggerList, listOptions ); - EVTUIDEBUG("After ListTriggerIdsL"); - - CleanupStack::PopAndDestroy(2);// filter, listOptions - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::GetTriggerListL()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::TriggerChangedL -// --------------------------------------------------------------------------- -// -void CEvtMgmtUiLbtAdapter::TriggerChangedL( - const TLbtTriggerChangeEvent &aEvent) - { - EVTUIDEBUG("+ CEvtMgmtUiLbtAdapter::TriggerChangedL()" ); - switch( aEvent.iEventType ) - { - case ELbtTriggerChangeEventMultiple: - iObserver.NotifyTriggerChangeL(aEvent.iTriggerId, MEvtMgmtUiLbtObserver::ETriggerMultipleModified); - break; - case ELbtTriggerChangeEventDeleted: - iObserver.NotifyTriggerChangeL(aEvent.iTriggerId, MEvtMgmtUiLbtObserver::ETriggerDeleted); - break; - case ELbtTriggerChangeEventUpdated: - iObserver.NotifyTriggerChangeL(aEvent.iTriggerId, MEvtMgmtUiLbtObserver::ETriggerModified); - break; - default: - break; - } - EVTUIDEBUG("- CEvtMgmtUiLbtAdapter::TriggerChangedL()" ); - } - -// --------------------------------------------------------------------------- -// CEvtMgmtUiLbtAdapter::GetFiredPositionL -// --------------------------------------------------------------------------- -// -TBool CEvtMgmtUiLbtAdapter::GetFiredPositionL( TPosition& aPosition, - const TLbtTriggerId aTriggerId ) - { - EVTUIDEBUG1("+ CEvtMgmtUiLbtAdapter::GetFiredPositionL() - %d", aTriggerId ); - RArray aTriggerInfoList; - - EVTUIDEBUG1("Before GetFiredTriggersL - %d", aTriggerId ); - iLbt.GetFiredTriggersL( aTriggerInfoList ); - EVTUIDEBUG1("After GetFiredTriggersL - %d", aTriggerId ); - - TInt count = aTriggerInfoList.Count(); - TBool found(EFalse); - - for( TInt i=0; i