diff -r 000000000000 -r 667063e416a2 locationtriggering/ltstrategyengine/inc/lbtcellchangehandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationtriggering/ltstrategyengine/inc/lbtcellchangehandler.h Tue Feb 02 01:06:48 2010 +0200 @@ -0,0 +1,108 @@ +/* +* 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: Class declaration of cell change handler class. +* +*/ + + +#ifndef C_LBTCELLCHANGEHANDLER_H +#define C_LBTCELLCHANGEHANDLER_H + +// INCLUDES +#include +#include +#include "lbtcellchangeobserver.h" + + +/** + * Cell change handler. It takes care of issuing requests to Etel for getting + * notified about cell changes and it will report such events to its observer. + */ +class CLbtCellChangeHandler : public CActive + { + public: + + /** + * Instantiation method. + * + * @param aMPhone handle to Etel API + * @return pointer to new instance + */ + static CLbtCellChangeHandler* NewL(RMobilePhone& aMPhone ); + + /** + * Default destructor + */ + virtual ~CLbtCellChangeHandler(); + + /** + * Issues a new request and sets this object active. + */ + void GetNetworkInfo(); + + /** + * Sets the observer to this class + */ + void SetObserver( MCellChangeObserver* aObserver ); + + /** + * Remove the observer from the array. + */ + void Remove( MCellChangeObserver* aObserver ); + protected: + + // methods from CActive + virtual void RunL(); + virtual void DoCancel(); + + private: + + + /** + * Constructor. + * + * @param aMPhone handle to Etel API + * @param aObserver reference to observer object + */ + CLbtCellChangeHandler(RMobilePhone& aMPhone); + + /** + * Second level constructor + */ + void ConstructL(); + + private: + + // data + // etel api + RMobilePhone& iMPhone; + // Handle to cell change observers + RPointerArray iObserverArray; + // Command id + TInt iCommandId; + // Network info + RMobilePhone::TMobilePhoneNetworkInfoV1 iNwInfo; + // Network info package + RMobilePhone::TMobilePhoneNetworkInfoV1Pckg iNwInfoPckg; + // location info + RMobilePhone::TMobilePhoneLocationAreaV1 iLocArea; + + TInt iLastStatusInfo; + + }; + +#endif //C_LBTCELLCHANGEHANDLER_H + +// End of File +