diff -r 000000000000 -r 72b543305e3a messagingappbase/mce/logenginc/MceLogEngineReader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/mce/logenginc/MceLogEngineReader.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2002 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: +* Messaging Centre application's engine class that reads events from +* log DB. +* +*/ + + + +#ifndef __Mce_Engine_CMceLogEngineReader_H__ +#define __Mce_Engine_CMceLogEngineReader_H__ + +// INCLUDES +#include +#include +#include +#include "MceLogEngine.h" +#include "MceLogEngine.hrh" + + +// FORWARD DECLARATIONS +class CLogClient; +class CLogViewEvent; +class CMceLogEngine; + +// CLASS DECLARATION + +/** + * Implements the functionality to read log events from DB. + */ +class CMceLogEngineReader : public CActive, public MLogViewChangeObserver + { + public: + /** + * Standard creation function. + * + * @param aObserver Pointer to observer. + * @return pointer to CMceLogEngineReader instance. + */ + static CMceLogEngineReader* NewL(CMceLogEngine* aObserver); + + /** + * Destructor. + */ + ~CMceLogEngineReader(); + + /** + * Starts reading the entries from log database. + * + * @param aFirstime If ETrue reading is started from setting the filter. + */ + void StartReadingL(); + + /** + * Clear DR list + * + */ + void ClearDrListL(); + + private: + /** + * Second phase of construction. + */ + void ConstructL(); + + /** + * Default constructor. + */ + CMceLogEngineReader(); + + /** + * Constructor. + * + * @param aObserver Pointer to observer. + */ + CMceLogEngineReader( CMceLogEngine* aObserver ); + + /** + * Set filters to fetch only events of certain type. + */ + void SetSpecialFilterL(); + + + private: // From CActive + void DoCancel(); + void RunL(); + TInt RunError(TInt aError); + + public: // from MLogViewChangeObserver + void HandleLogViewChangeEventAddedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount); + void HandleLogViewChangeEventChangedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount); + void HandleLogViewChangeEventDeletedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount); + + private: // data + /// Ref: Logs's engine + CMceLogEngine* iObserver; + /// Own: File server session + RFs iFsSession; + /// Own: Log engine + CLogClient* iLogClient; + /// Own: View to filtered events. + CLogViewEvent* iLogViewEvent; + /// Own: Reader's state + TMceLogEngineReaderState iReaderState; + /// Own: Filterlist + CLogFilterList* iFilterList; + /// Own: How many events has been read. + TInt iEventCounter; + /// Own: Indicator if observer's array was reset + TBool iArrayReset; + /// Own: Amount of event in view + TInt iEventsInView; + }; + +#endif // __Mce_Engine_CMceLogEngineReader_H__ + +// End of file