libraries/iosrv/client/command_base.h
changeset 0 7f656887cf89
child 45 534b01198c2d
--- /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 <e32base.h>
+
+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<TUint> iChangeType;
+		};
+
+	void Panic(TCmdBasePanic aReason);
+	}
+	
+#endif //__COMMAND_BASE_H__