diff -r 000000000000 -r 72b543305e3a messagingappbase/mce/logenginc/MceLogEngine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/mce/logenginc/MceLogEngine.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,214 @@ +/* +* 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: +* This class communicates with the log db. This also handles all the +* filtering options and registers Mce to LogEng to get notidied about +* changes in log DB. +* +*/ + + + +#ifndef __Mce_Engine_CMceLogEngine_H__ +#define __Mce_Engine_CMceLogEngine_H__ + +// INCLUDES +#include // for TLogConfig +#include +#include // for LogEvent, TLogRecentList, TLogId + + +#include "MceLogEngine.hrh" +#include "MceLogNotify.h" // Log DB observer class. +#include "MceLogPbkMatcherObserver.h" +#include + +// FORWARD DECLARATIONS +class CMceLogEngineReader; +class CMceLogPbkMatcher; +class MMceLogEngObserver; +class CMceLogEngineReader; + +// CLASS DECLARATION + +/** + * This class communicates with the log db. This also handles all the + * filtering options and registers Mce to LogEng to get notified about + * changes in log DB. + */ +class CMceLogEngine : public CBase, + public MMceLogPbkMatcherObserver + { + public: // Construction/destruction + /** + * Standard creation function. Creates and returns a new object of this + * class. + * + * @return pointer to CMceLogEngine instance. + */ + IMPORT_C static CMceLogEngine* NewL(); + + + /** + * Destructor. + */ + ~CMceLogEngine(); + + /** + * Starts reading events from log DB. + * + */ + void UpdateEventsL(); + + /** + * Returns const pointer to an event from iEventArray + * + * @param aIndex Index of the event to return. + * @return CLogEvent* Pointer to returned event. + */ + IMPORT_C const CLogEvent* Event(TInt aIndex); + + /** + * Confirmation that reading entries from log engine is completed. + * + * @param aStatus ETrue if reading succeeded, otherwise EFalse + */ + void ReadEventsCompletedL( TBool aStatus = ETrue ); + + /** + * Informs model when log db state has changed. + */ + void NotifyDbChangedL(); + + /** + * Add event to the list of events (iEventArray). + * + * @param aEvent The event to be added into iEventArray. + */ + void AddEventToListL( CLogEvent* aEvent ); + + /** + * Resets event array + */ + void ResetArray(); + + /** + * Set model observer for MLogsModelObserver class. + * + * @param aContainerObserver Pointer to container. + */ + IMPORT_C void SetContainerObserver( MMceLogEngObserver* aContainerObserver ); + + /** + * Remove model observer to "Delivery Report" view container class. + */ + IMPORT_C void RemoveContainerObserver(); + + /** + * Purge data to iLogSmsPduData class. + * + * @param aEvent The event which data field has to be purged. + * @param aData pointer to array to put results in + * @return total count of SMS messages in case of pending + */ + IMPORT_C TInt PurgeData( const CLogEvent* aEvent, CArrayFixFlat* aData ); + + /** + * Count of events + * + * @return count of log events + */ + IMPORT_C TInt Count() const; + + /** + * Gets standard strings from logwrap.dll + * + * @param aFailed reference to buffer + * @param aPending reference to buffer + */ + IMPORT_C void GetStandardStrings( TDes& aFailed, TDes& aPending ); + + /** + * Used to find out if phone number is available for a call + * + * @param aIndex index of currently selected item + * @return ETrue if number is available -> call is possible + */ + IMPORT_C TBool IsNumberAvailable( TInt aIndex ); + + /** + * Called by UI when foreground is gained + */ + IMPORT_C void ForegroundGainedL(); + + /** + * Called by UI when foreground is lost + */ + IMPORT_C void ForegroundLost(); + + /** + * Clear dr list. + */ + IMPORT_C void ClearDrListL(); + + public: + + void PbkMatchingDoneL(); // from MMceLogPbkMatcherObserver + + private: + /* + * Constructor. + */ + CMceLogEngine(); + + /** + * Constructor, second phase. + */ + void ConstructL(); + + private: // data + /// Own: engine reader + CMceLogEngineReader* iEngineReader; + + /// Own: array of events + CArrayPtrFlat* iEventArray; + + /// Own: LogEng client object. + CLogClient* iLogClient; + + /// Own: File System session + RFs iFsSession; + + /// Own: Log db observer class. + CMceLogNotify* iLogNotify; + + /// Ref: Engine observer. + MMceLogEngObserver* iContainerObserver; + + /// Own: Foreground / Background indicator + TBool iForeground; + + /// Own: DB changed / Not changed indicator + TBool iDbDirty; + + /// Own: event matcher with phonebook + CMceLogPbkMatcher* iPbkMatcher; + + }; + + +#endif // __Mce_Engine_CMceLogEngine_H__ + + +// End of file