kerneltest/f32test/ext/t_fatext.h
changeset 0 a41df078684a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/f32test/ext/t_fatext.h	Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,96 @@
+// Copyright (c) 2006-2009 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:
+// f32test\ext\t_fatext.h
+// 
+//
+
+#ifndef __FATTEST_EXT_H__
+#define __FATTEST_EXT_H__
+
+#include "t_testext.h"
+#include "fat_utils.h"
+
+using namespace Fat_Test_Utils;
+
+/**
+This is the FAT test extension class.
+@internalTechnology
+*/
+class CFatTestProxyDrive : public CTestProxyDrive
+	{
+public:
+    enum TFatTestCmd 
+        {
+        EGetDataPosition = ETestCmdEnd + 1,
+        ESectorsPerCluster,
+        EFatSectors,
+        EFirstFatSector,
+        EFatType
+        };
+
+public:
+	static CFatTestProxyDrive* NewL(CProxyDrive* aProxyDrive, CMountCB* aMount);
+private:
+	CFatTestProxyDrive(CProxyDrive* aProxyDrive, CMountCB* aMount);
+
+public:
+    // Derived functions
+	virtual TInt Read(TInt64 aPos,TInt aLength,const TAny* aTrg,TInt aThreadHandle,TInt aOffset,TInt aFlags);
+	virtual TInt Read(TInt64 aPos,TInt aLength,const TAny* aTrg,TInt aThreadHandle,TInt anOffset);
+	virtual TInt Read(TInt64 aPos,TInt aLength,TDes8& aTrg);
+	virtual TInt Write(TInt64 aPos,TInt aLength,const TAny* aSrc,TInt aThreadHandle,TInt aOffset,TInt aFlags);
+	virtual TInt Write(TInt64 aPos,TInt aLength,const TAny* aSrc,TInt aThreadHandle,TInt anOffset);
+	virtual TInt Write(TInt64 aPos,const TDesC8& aSrc);
+	virtual TInt Format(TFormatInfo& anInfo);
+	virtual TInt Format(TInt64 aPos,TInt aLength);
+
+private:
+    TInt ReadBootSector();
+    TBool CheckMount();
+private:
+    virtual void DoInitL();
+    virtual TBool DoCheckEvent(TInt64 aPos, TInt aLength);
+    virtual TInt DoControlIO(const RMessagePtr2& aMessage,TInt aCommand,TAny* aParam1,TAny* aParam2);
+
+private:
+    TFatBootSector  iBootSector;
+	};
+
+
+/**
+Factory class for FAT test extension.
+@internalTechnology
+*/
+class CFatTestProxyDriveFactory : public CProxyDriveFactory
+	{
+public:
+	CFatTestProxyDriveFactory();
+	virtual TInt Install();			
+	virtual CProxyDrive* NewProxyDriveL(CProxyDrive* aProxy,CMountCB* aMount);
+	};
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+