diff -r 000000000000 -r 7f656887cf89 libraries/iosrv/client/command_base.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libraries/iosrv/client/command_base.h Wed Jun 23 15:52:26 2010 +0100 @@ -0,0 +1,57 @@ +// command_base.h +// +// Copyright (c) 2009 - 2010 Accenture. All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the "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: +// Accenture - Initial contribution +// + +#ifndef __COMMAND_BASE_H__ +#define __COMMAND_BASE_H__ + +#include + +namespace IoUtils + { + + NONSHARABLE_CLASS(CCommandCompleter) : public CActive + { + public: + CCommandCompleter(IoUtils::CCommandBase& aCmd); + ~CCommandCompleter(); + void Complete(TInt aError); + void Complete(TInt aError, const TDesC& aText, RIoWriteHandle& aWhere); + void Complete(TInt aError, const CTextBuffer* aTextBuffer, RIoWriteHandle& aWhere); + private: + virtual void RunL(); + virtual void DoCancel(); + private: + IoUtils::CCommandBase& iCmd; + TInt iError; + const CTextBuffer* iTextBuffer; + TBuf<0x100> iBuf; + }; + + NONSHARABLE_CLASS(CReaderChangeNotifier) : public CActive + { + public: + CReaderChangeNotifier(IoUtils::CCommandBase& aCmd, RIoReadHandle& aReadHandle); + ~CReaderChangeNotifier(); + void Notify(); + private: + virtual void RunL(); + virtual void DoCancel(); + private: + IoUtils::CCommandBase& iCmd; + RIoReadHandle& iReadHandle; + TPckgBuf iChangeType; + }; + + void Panic(TCmdBasePanic aReason); + } + +#endif //__COMMAND_BASE_H__