diff -r 4baee4f15982 -r 6385c4c93049 pushmtm/MtmCliSrvInc/PushMtmGcOperation.h --- a/pushmtm/MtmCliSrvInc/PushMtmGcOperation.h Thu Aug 19 09:57:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,142 +0,0 @@ -/* -* 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 the License "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: Declaration of CPushMtmGcOperation. -* -*/ - - - -#ifndef PUSHMTMGCOPERATION_H -#define PUSHMTMGCOPERATION_H - -// INCLUDE FILES - -#include "PushMtmOperation.h" -#include -#include -#include - -// FORWARD DECLARATIONS - -class CMsvSession; -class CPushMtmUtil; -class CMsvEntrySelection; -class CSIPushMsgEntry; - -// CLASS DECLARATION - -/** -* Garbage collection operation. It removes some or all expired SIs from the -* Message Server. -*/ -class CPushMtmGcOperation : public CPushMtmOperation - { - public: // Constructors and destructor - - /** - * Two-phased constructor. Leaves on failure. - * @param aSession Message server session to be used by this operation. - * @param aFolderId aFolderId Garbage collection is made in this folder. - * If it's KMsvNullIndexEntryId, then gc is made in all the - * folders that may contain push messages. - * @param aObserverRequestStatus Observer's status. - * @return The constructed operation. - */ - static CPushMtmGcOperation* NewL( CMsvSession& aSession, - TMsvId aFolderId, - TRequestStatus& aObserverRequestStatus ); - - /** - * Destructor. - */ - virtual ~CPushMtmGcOperation(); - - public: // New functions - - /** - * Do the garbage collection synchronously. - */ - void DoSyncL(); - - protected: // Constructors - - /** - * Constructor. - * @param aSession Message server session to be used by this operation. - * @param aFolderId Garbage collection is made in this folder. - * @param aObserverRequestStatus Observer's status. - */ - CPushMtmGcOperation( CMsvSession& aSession, - TMsvId aFolderId, - TRequestStatus& aObserverRequestStatus ); - - /** - * Symbian OS constructor. - */ - void ConstructL(); - - protected: // New functions - - /** - * Initialize the operation. Creates an array of SI messages. - */ - void InitL(); - - /** - * Delete the current entry if it is expired. - */ - void GcCurrentL(); - - protected: // Functions from base classes - - /** - * Do garbage collection. Initializes an array of SI messages - * and check the expiration state: one check per one RunL shot. - */ - void RunL(); - - /** - * Cancel protocol implementation. CPushMtmOperation::DoCancel() is - * called. - */ - void DoCancel(); - - /** - * Leave handler protocol implementation: it is called when - * RunL leaves. It continues the operation if the current entry is not - * found, otherwise it is stopped. - */ - TInt RunError( TInt aError ); - - protected: // Data members - - enum TState - { - EInit, - EGarbageCollecting - }; - - TState iState; ///< Operation state. - TMsvId iFolderId; /**< Gc is done only in this specific folder, - * if it is not KMsvNullIndexEntryId. */ - CPushMtmUtil* iUtil; ///< Utility class. Owned. - CMsvEntrySelection* iEntrySel; ///< Selection of entries to be deleted. Owned. - CSIPushMsgEntry* iEntryWrapper; ///< Msg class. Owned. - TInt iCount; ///< Count of the selection. - TInt iCurrentIndex; ///< Index of the current entry in the selection. - }; - -#endif // PUSHMTMGCOPERATION_H - -// End of file.