diff -r 64a47b97e1e1 -r f27aebe284bb logsui/logsengine/logssymbianos/inc/logsremovestates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/logsengine/logssymbianos/inc/logsremovestates.h Wed Aug 18 09:49:12 2010 +0300 @@ -0,0 +1,149 @@ +/* +* Copyright (c) 2009 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: +* +*/ + +#ifndef LOGSREMOVESTATES_H +#define LOGSREMOVESTATES_H + +// INCLUDES +#include +#include "logsstatebase.h" + +class LogsRemoveStateContext; + +/** + * Base for remove states + */ +class LogsRemoveStateBase : public LogsStateBase { + + friend class UT_LogsRemoveStates; + + public: + LogsRemoveStateBase(LogsStateBaseContext& context, LogsRemoveStateContext& removeContext); + virtual ~LogsRemoveStateBase(){} + + protected: + LogsRemoveStateContext& mContext; +}; + +/** + * State for clearing all events or specific event types from main db view + */ +class LogsRemoveStateClearAll : public LogsRemoveStateBase { + + friend class UT_LogsRemoveStates; + + public: + LogsRemoveStateClearAll( + LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : + LogsRemoveStateBase(context, removeContext) {} + virtual ~LogsRemoveStateClearAll(){} + + public: // From LogsReaderStateBase + virtual bool enterL(); + virtual bool continueL(); +}; + +/** + * State for initializing removal from recent db view + */ +class LogsRemoveStateInit : public LogsRemoveStateBase { + + friend class UT_LogsRemoveStates; + + public: + LogsRemoveStateInit( + LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : + LogsRemoveStateBase(context, removeContext) {} + virtual ~LogsRemoveStateInit(){} + + public: // From LogsReaderStateBase + virtual bool enterL(); + virtual bool continueL(); +}; + +/** + * State for event id based deletion of events from main db view + */ +class LogsRemoveStateDelete : public LogsRemoveStateBase { + + friend class UT_LogsRemoveStates; + + public: + LogsRemoveStateDelete( + LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : + LogsRemoveStateBase(context, removeContext), mRemoveIndex(0) {} + virtual ~LogsRemoveStateDelete(){} + + public: // From LogsReaderStateBase + virtual bool enterL(); + virtual bool continueL(); + protected: + bool deleteNextEvent(); + protected: + int mRemoveIndex; +}; + +/** + * State for deleting duplicate events from recent db view + */ +class LogsRemoveStateDeleteDuplicates : public LogsRemoveStateBase { + + friend class UT_LogsRemoveStates; + + public: + LogsRemoveStateDeleteDuplicates( + LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : + LogsRemoveStateBase(context, removeContext) {} + virtual ~LogsRemoveStateDeleteDuplicates(){} + + public: // From LogsReaderStateBase + virtual bool enterL(); + virtual bool continueL(); + protected: + bool deleteNextEvent(); + protected: + bool mDeleting; + QList mDeleteDuplicateIds; +}; + +/** + * Completion state + */ +class LogsRemoveStateDone : public LogsRemoveStateBase { + + friend class UT_LogsRemoveStates; + + public: + LogsRemoveStateDone( + LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : + LogsRemoveStateBase(context, removeContext) {} + virtual ~LogsRemoveStateDone(){} + + public: // From LogsReaderStateBase + virtual bool enterL(); +}; + + + +#endif // LOGSREMOVESTATES_H + + +// End of File + + + +