diff -r 000000000000 -r e686773b3f54 logsui/EngineInc/CLogsModel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/EngineInc/CLogsModel.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,142 @@ +/* +* 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: +* Abstract base class for logs model. +* +*/ + + +#ifndef __CLogsModel_H_ +#define __CLogsModel_H_ + +// INCLUDES +#include +#include +#include "MLogsModel.h" +#include "MLogsObserver.h" +#include "MLogsStateHolder.h" +#include "TLogsEventStrings.h" + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class MLogsStateHolder; +class MLogsEvent; +class MLogsReader; +class MLogsEventWrapper; +class MLogsEventArray; +class CLogsEngine; + +// CLASS DECLARATION + +/** + * Defines abstract interface for Logs model + */ +class CLogsModel : public CBase, + public MLogsModel, + public MLogsObserver, + public MLogsStateHolder + { + public: + /** + * EPOC constructor. + * + * @param aFsSession ref. to file server session + * @param aModel model type + * @param aStrings log client constants + * @return model object + */ + static CLogsModel* NewL( RFs& aFsSession, TLogsModel aModel, + TLogsEventStrings& aStrings, CLogsEngine* aLogsEngine ); + /** + * Destructor + */ + ~CLogsModel(); + + private: + /** + * EPOC constructor. + */ + void ConstructL(); + + /** + * C++ constructor. + * + * @param aFsSession ref. to file server session + * @param aModel model type + * @param aStrings log client constants + */ + CLogsModel( RFs& aFsSession, + TLogsModel aModel, + TLogsEventStrings& aStrings, + CLogsEngine* aLogsEngineRef ); + + private: + + public: // from MLogsModel + void Delete( TInt aIndex ); + TInt Count(); + const MLogsEventGetter* At( TInt aIndex ); + void SetObserver( MLogsObserver* aObserver ); + void DoActivateL( TDoActivate aDoActivate ); + void DoDeactivate( TClearMissedCalls aClearMissedCalls, + TDoDeactivate aDisconnectDb ); + void Reset(); + void ConfigureL( const MLogsReaderConfig* aConfig ); + void KickStartL( TBool aReset ); + + public: // from MLogsStateHolder + TLogsState State() const; + + public: // from MLogsObserver + void StateChangedL( MLogsStateHolder* aHolder ); + + private: // data + + /// Ref: File server session + RFs& iFsSession; + + /// Own: model type + TLogsModel iModel; + + /// Ref: log strings + TLogsEventStrings& iStrings; + + /// Own: Event array + MLogsEventArray* iEventArray; + + /// Own: MLogsReader + MLogsReader* iReader; + + /// Own: wrapper for CLogsGetEvent + MLogsEventWrapper* iWrapper; + + /// Ref: Observer + MLogsObserver* iObserver; + + /// own: state for observer + TLogsState iState; + + /// Ref: Log db engine + CLogsEngine* iLogsEngineRef; + }; + + +#endif + +// End of File __CLogsModel_H_