diff -r 08008ce8a6df -r bde600d88860 messagingfw/msgsrvnstore/server/inc/MSVOP.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/msgsrvnstore/server/inc/MSVOP.H Fri Jun 04 10:32:16 2010 +0100 @@ -0,0 +1,102 @@ +// Copyright (c) 1998-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: +// + +#if !defined(__MSVOP_H__) +#define __MSVOP_H__ + +#if !defined(__E32BASE_H__) +#include +#endif + +#if !defined(__MSVSTD_H__) +#include +#endif + +// forward declarations +class CBaseServerMtm; +class CMsvMtmOperation; +class TMsvSystemProgress; + +//********************************** +// MMsvOperationObserver +//********************************** +// +// +// + +class MMsvOperationObserver +/** +@internalComponent +@released +*/ + { +public: + virtual void OperationCompleted(TMsvId aServiceId, TMsvOp aOpId)=0; + virtual void OperationCancelled(const CMsvMtmOperation& aOperation)=0; + }; + + +//********************************** +// CMsvServerOperation +//********************************** +// +// Abstract base class for server side operations +// + +/** +@internalComponent +@released +*/ +enum TMsvOperationState { EMsvOperationNull, + EMsvOperationQueued, + EMsvOperationRunning, + EMsvOperationCompleted, + EMsvOperationFailed}; + +class CMsvServerOperation : public CActive +/** +@internalComponent +@released +*/ + { +public: + ~CMsvServerOperation(); + // + virtual const TDesC8& Progress()=0; + virtual TInt SystemProgress(TMsvSystemProgress& aSysProgress); + // + inline TMsvOp Id() const; + inline TUid MtmUid() const; + inline TMsvId ServiceId() const; + inline TMsvId SessionId() const; + inline TMsvOperationState State() const; + inline void SetState(TMsvOperationState aState); + +protected: + CMsvServerOperation(const RMessage2& aMessage, TMsvOp aId, TUid aMtmUid, TMsvId aServiceId, TInt aSessionId); + // +protected: + RMessage2 iMessage; +private: + TMsvOp iId; + TUid iMtmUid; + TMsvId iServiceId; + TInt iSessionId; + TMsvOperationState iState; + }; + +#include "MSVOP.INL" + +#endif