diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/mw/lbttriggerfiringeventnotifier.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/mw/lbttriggerfiringeventnotifier.h Tue Mar 16 16:12:26 2010 +0000 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: location triggering server client interface +* +*/ + + + +#ifndef LBTTRIGGERFIRINGEVENTNOTIFIER_H +#define LBTTRIGGERFIRINGEVENTNOTIFIER_H + +#include +#include + +/** + * Helper class to receive trigger firing event + * through observer interface. + * + * @see RLbt::NotifyTriggerFired + * + * @lib lbt.lib + * + * @since S60 5.1 + */ + +class CLbtTriggerFiringEventNotifier : public CActive + { +public: + /** + * Construct a trigger firing event notifier object. + * + * When the object is constructed. The trigger firing event + * notification request is not issued to the + * Location Triggering Server. Client shall call + * CLbtTriggerFiringEventNotifier::Start() to start + * notification. + * + * @param[in] aLbt A referece to RLbt object. The subsession + * must be opened. Otherwise a panic is raised. + * @param[in] aObserver A referece to the + * observer object to receive trigger firing event. + * @param[in] aPriority An integer specifying the + * priority of this active object. CActive::TPriority + * defines a standard set of priorities. + * + * @panic LocTriggering ELbtServerBadHandle If the + * subsession of aLbt is not opened. + */ + IMPORT_C static CLbtTriggerFiringEventNotifier* NewL( + RLbt& aLbt, + MLbtTriggerFiringEventObserver& aObserver, + TInt aPriority = CActive::EPriorityStandard); + + /** + * Destructor. + * + * If the notification is started, the + * destructor will cancel the notification. + */ + IMPORT_C ~CLbtTriggerFiringEventNotifier(); + + /** + * Start trigger firing event notification. + * + * After this function is called, when a + * trigger is fired, the + * client will be notified from the observer interface. + * + * Client shall call Cancel() function to stop the + * trigger firing event notification. + */ + IMPORT_C void Start(); + +private: + //Derived from CActive + void RunL(); + TInt RunError( TInt aError ); + void DoCancel(); + +private: + /** + * Default constructor + */ + CLbtTriggerFiringEventNotifier( + RLbt& aLbt, + MLbtTriggerFiringEventObserver& aObserver, + TInt aPriority = CActive::EPriorityStandard ); + + /** + * Second phase constructor + */ + void ConstructL(); + +private: + /** + * Trigger fire info + */ + TLbtTriggerFireInfo iFiringEvent; + + /** + * Reference to Lbt subsession. + */ + RLbt& iLbt; + + /** + * Reference to trigger fire event observer + */ + MLbtTriggerFiringEventObserver& iObserver; + }; + +#endif //LBTTRIGGERFIRINGEVENTNOTIFIER_H