--- /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
+
+
+
+
+
+
+
+
+
+
+
+
+