diff -r 8173571d354e -r 1fc85118c3ae eventsui/eventsengine/inc/evtmgmtuilbtadapter.h --- a/eventsui/eventsengine/inc/evtmgmtuilbtadapter.h Thu Aug 19 09:48:36 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,389 +0,0 @@ -/* -* 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: It is adapter class to handle lbt operations -* -*/ - - -#ifndef EVTMGMTUILBTADAPTER_H_ -#define EVTMGMTUILBTADAPTER_H_ - -#include // CBase - -#include -#include -#include -#include -#include -#include - -#include "evtmgmtuilbtobserver.h" -#include "evtdefs.h" - -class CLbtStartupTrigger; -class CLbtGeoCircle; -class CLbtTriggerConditionArea; -class CLbtTriggerChangeEventNotifier; -class CLbtTriggerFilterByAttribute; - -/** - * @class CEvtMgmtUiLbtAdapter - * Class that represents the adapter for lbt operation - * - * This class acts as an adapter for lbt engine. - * It is used to create, update, delete, retrive triggers. - * It is also used to change state of the trigger - * - * @since S60 v9.1 - */ - -class CEvtMgmtUiLbtAdapter : public CActive, - public MLbtTriggerChangeEventObserver - { -public: - /* - * state machine for lbt operation - */ - enum TLbtAdtapterState - { - /* - * state for creating trigger - */ - ELbtAdapterCreate, - - /* - * state for updating trigger - */ - ELbtAdapterUpdate, - - /* - * state for updating command line argument of trigger - */ - ELbtAdapterUpdateCmdLineArg, - - /* - * state for deleting trigger - */ - ELbtAdapterDelete, - - /* - * state for deleting triggers - */ - ELbtAdapterDeleteTriggers, - - /* - * state for changing state of the trigger - */ - ELbtAdapterSetTriggerState, - - /* - * state for changing state of the triggers - */ - ELbtAdapterSetTriggersState, - - /** - * Default option - */ - ENone - }; - - public: // Constructor and destructor - /** - * Static Two phase constructor - * - */ - static CEvtMgmtUiLbtAdapter* NewL(MEvtMgmtUiLbtObserver& aObserver); - - /** - * Virtual destructor - */ - virtual ~CEvtMgmtUiLbtAdapter(); - - public: // new functions - /* - * It is the wrapper function to trap leaving function CreateTriggerL() - * - * @since S60 v9.1 - * - * @param [in] aCenter - location of the trigger. - * @param [in] aRadiusInKiloMeters - radius of the trigger - * @param [in] aTriggerName - name of the trigger - * @param [in] aState - state of the trigger - * @param [in] aTriggerId - trigger id of the trigger - - * if it is zero, trigger will be created - * othewise it will be updated - * @param [in] aEventId - event id of the triggering event - * It will be passed as command line argument. - */ - void CreateTrigger(const TCoordinate& aCenter, - TReal aRadiusInKiloMeters, const TPtrC& aTriggerName, - CLbtTriggerEntry::TLbtTriggerState aState ); - - - /* - * CEvtMgmtUiLbtAdapter ::UpdateCmdLineArgL() - * Update the command line argument of the give trigger - * @param[in] aTriggerId - id of the trigger - * @param[in] aEventId - event id of the triggering event - * It will be passed as command line argument. - */ - void UpdateCmdLineArgL( TLbtTriggerId aTriggerId, TEvtEventId aEventId ); - - /* - * CEvtMgmtUiLbtAdapter ::UpdateLocationL() - * Update the location of the give trigger - * @param[in] aTriggerId - id of the trigger - * @param [in] aCenter - location of the trigger. - * @param [in] aRadiusInMeters - radius of the trigger - * @param [in] aState - state of the trigger - */ - void UpdateTriggerL( TLbtTriggerId aTriggerId, - const TCoordinate& aCenter, TReal aRadiusInKiloMeters, - CLbtTriggerEntry::TLbtTriggerState aState ); - /* - * It is used to delete trigger from lbt database - * - * @since S60 v9.1 - * - * @param [in] aTriggerId - trigger id of the trigger - * TODO: @param [in] aDeleteTriggerOnly remove - * - */ - void DeleteTriggerL( TLbtTriggerId aTriggerId ); - - /* - * It is used to delete triggers from lbt database - * - * @since S60 v9.1 - * - * @param [in] aTriggerIdList - id-list of triggers to be deleted. - * - */ - void DeleteTriggersL( const RArray& aTriggerIdList ); - - /* - * It is used to change the state of the trigger. - * - * @since S60 v9.1 - * - * @param [in] aTriggerId - trigger id of the trigger - * @param [in] aState - value to which given trigger's state should be changed - * - */ - void SetTriggerStateL( TLbtTriggerId aTriggerId, - CLbtTriggerEntry::TLbtTriggerState aState ); - - /* - * It is used to change the state of the triggers. - * - * @since S60 v9.1 - * - * @param [in] aTriggerIdList - trigger id list of the triggers - * @param [in] aState - value to which given trigger's state should be changed - * - */ - void SetTriggersStateL( const RArray& aTriggerIdList, - CLbtTriggerEntry::TLbtTriggerState aState ) ; - - /* - * It is used to retrieve location information of given trigger - * from lbt database - * - * @since S60 v9.1 - * - * @param [in] aTriggerId - trigger id of the trigger - * @param [out] aCenter - location details of the given trigger - * - */ - void RetrieveLocationL( TLbtTriggerId aTriggerId, TCoordinate& aCenter ); - - /* - * It is used to retrieve list of triggers created by EventsUi - * - * @since S60 v9.1 - * - * @param [in] triggerList - Reference to trigger array - * @param [out] aState - Active/Inactive State of Trigger - * - */ - void GetTriggerListL( RArray& aTriggerList, - CLbtTriggerEntry::TLbtTriggerState aState ); - - /* - * It is used to retrieve list of triggers created by EventsUi - * - * @since S60 v9.1 - * - * @param [in] triggerList - Reference to trigger array - * @param [out] aState - Valid/Invalid State of Trigger - * - */ - void GetTriggerListL( RArray& aTriggerList, - TLbtTriggerDynamicInfo::TLbtTriggerValidity aValid ); - /* - * It is used to returns the Position Accuracy of Fired Trigger. - * - * @since S60 v9.1 - * - * @param [in] aPosition - Contains the Position Accuracy for Fired Trigger - * @param [in] aTriggerId - Trigger Id - * @param [out] TBool - Boolean value for Trigger Fired or Not. - * - */ - TBool GetFiredPositionL( TPosition& aPosition, - const TLbtTriggerId aTriggerId ); - - /* - * It is used to get the distance accuracy for Fired trigger. - * - * @since S60 v9.1 - * - * @param [in] aTriggerId - Trigger Id - * @param [out] aDistance - Accuracy in metres at which the trigger fired. - * - */ - void GetFiredTriggerAccuracyL( TLbtTriggerId aTriggerId, TReal32& aDistance ); - - /* - * It is used to retrieve State of given trigger - * from lbt database - * - * @since S60 v9.1 - * - * @param [in] aTriggerId - trigger id of the trigger - * @param [out] TLbtTriggerState - State of the given trigger - * - */ - CLbtTriggerEntry::TLbtTriggerState GetTriggerStateL( - TLbtTriggerId aTriggerId ); - - void CancelRequest(); - - public: //derived - - /* - * Derived from CActive - */ - void RunL(); - - /* - * Derived from CActive - */ - void DoCancel(); - - /* - * Derived from CActive - */ - TInt RunError( TInt aError ); - - /* - * Derived from MLbtTriggerChangeEventObserver - */ - void TriggerChangedL(const TLbtTriggerChangeEvent &aEvent); - - private: // Constructor - /** - * C++ Default constructor - */ - CEvtMgmtUiLbtAdapter(MEvtMgmtUiLbtObserver& aObserver); - - /** - * Second phase of the two phase constructor - */ - void ConstructL(); - - private: // New functions - /* - * It is used to create of update trigger. - * If trigger id is zero, it will create trigger. - * If trigger id is non-zero, it will update the trigger. - * - * @since S60 v9.1 - * - * @param [in] aCenter - location of the trigger. - * @param [in] aRadiusInKiloMeters - radius of the trigger - * @param [in] aTriggerName - name of the trigger - * @param [in] aState - state of the trigger - * @param [in] aTriggerId - trigger id of the trigger - - * if it is zero, trigger will be created - * othewise it will be updated - * @param [in] aEventId - event id of the triggering event - * It will be passed as command line argument. - */ - void CreateTriggerL(const TCoordinate& aCenter, - TReal aRadiusInKiloMeters, const TPtrC& aTriggerName, - CLbtTriggerEntry::TLbtTriggerState aState ); - - /* - * It is used to create the Codition Area for a trigger depending on the trigger type. - * - * @since S60 v9.1 - * - * @param [in] aCenter - location of the trigger. - * @param [out] CLbtTriggerConditionArea - Condition Area for Trigger. - */ - CLbtTriggerConditionArea* GetConditionAreaL( - const TCoordinate& aCenter, - TReal aRadiusInKiloMeters ); - private: - /* - * Handler to lbt session - */ - RLbt iLbt; - - /* - * Handler to lbt session - */ - RLbt iLbtObserver; - - /* - * Handler to lbt server - */ - RLbtServer iLbtServer; - - /** - * Reference Trigger Change Notifier - * - */ - CLbtTriggerChangeEventNotifier * iEventChangeObserver; - - /* - * Id of a trigger - */ - TLbtTriggerId iTriggerId; - - /* - * State machine's current state - */ - TLbtAdtapterState iState; - - /* - * start up trigger object - * owns - */ - CLbtStartupTrigger* iTrigger; - - /* - * Observer to notify lbt changes or errors - */ - MEvtMgmtUiLbtObserver& iObserver; - - /* - * Filter to do any lbt operation(Update State). - * Does not own - */ - CLbtTriggerFilterByAttribute* iAttrFilter; - }; - -#endif //EVTMGMTUILBTADAPTER_H_