libraries/iosrv/inc/ioutils.h
changeset 6 96d581d2147d
parent 0 7f656887cf89
child 23 092bcc217d9d
--- a/libraries/iosrv/inc/ioutils.h	Wed Jul 07 16:07:08 2010 +0100
+++ b/libraries/iosrv/inc/ioutils.h	Fri Jul 09 10:11:55 2010 +0100
@@ -638,6 +638,20 @@
 	static HBufC* ReadLC(TLex& aLex, const TChar& aEscapeChar, CCommandBase* aErrorContext, TUint aReadMode);
 	};
 
+enum TCommandExtensionVersion
+	{
+	ECommandExtensionV1 = 1,
+	};
+
+class MCommandExtensionsV1
+	{
+public:
+	IMPORT_C virtual TCommandExtensionVersion ExtensionVersion() const; // Don't override this yourself!
+	
+	// Override this if you have custom error codes you want CCommandBase to understand
+	IMPORT_C virtual const TDesC* StringifyError(TInt aError) const;
+	};
+
 class CCommandBase : public CActive
 	{
 public:
@@ -713,6 +727,7 @@
 protected:
 	IMPORT_C CCommandBase();
 	IMPORT_C CCommandBase(TUint aFlags);
+	IMPORT_C void SetExtension(MCommandExtensionsV1* aExtension);
 	IMPORT_C virtual void BaseConstructL();
 	IMPORT_C void CreateEnvironmentL(CEnvironment* aEnv);
 
@@ -796,11 +811,11 @@
 	CReaderChangeNotifier* iReadChangeNotifier;
 	TInt iCompletionReason;
 	CCommandInfoFile* iCif;
+	MCommandExtensionsV1* iExtension;
 	void* iSpare1;
 	void* iSpare2;
 	void* iSpare3;
 	void* iSpare4;
-	void* iSpare5;
 	};