kerneltest/f32test/fsstress/t_remfsy.cpp
changeset 0 a41df078684a
child 33 0173bcd7697c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/f32test/fsstress/t_remfsy.cpp	Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,193 @@
+// Copyright (c) 1997-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\fsstress\t_remfsy.cpp
+// 
+//
+
+#if defined(_UNICODE)
+#if !defined(UNICODE)
+#define UNICODE
+#endif
+#endif
+
+/*
+#define WIN32_LEAN_AND_MEAN
+#pragma warning( disable : 4201 ) // nonstandard extension used : nameless struct/union
+ #include <windows.h>
+#pragma warning( default : 4201 ) // nonstandard extension used : nameless struct/union
+#include <stdlib.h>
+*/
+#include <f32file.h>
+#include <f32fsys.h>
+#include <f32ver.h>
+#include <e32twin.h>
+#include <e32uid.h>
+
+#include "t_remfsy.h"
+
+const TInt KMajorVersionNumber=1;
+const TInt KMinorVersionNumber=0;
+//
+//const TInt KKiloBytes=0x400;
+//const TBuf<4> KUidName=_L(":UID");
+//const TInt KUidNameLength=4;
+//
+//LOCAL_D TBuf8<0x1000> buf;
+//LOCAL_D RConsole theConsole;
+
+
+//////////////////////////////////////////////////////////////////////////
+//								CRemote									//
+//////////////////////////////////////////////////////////////////////////	
+
+
+CRemote::CRemote()
+//
+// Constructor
+//
+	{
+	__DECLARE_NAME(_S("CRemote"));
+	}
+
+
+
+TInt CRemote::Install()
+//
+// Install the file system.
+//
+	{
+
+//	SetErrorMode(SEM_FAILCRITICALERRORS);
+	RDebug::Print(_L("BASH in CRemote::Install"));
+	iVersion=TVersion(KMajorVersionNumber,KMinorVersionNumber,KF32BuildVersionNumber);
+    TPtrC name=_L("T_REMFSY");
+	return(SetName(&name));
+	}
+
+
+//???JCS:  Removed all aSession parameters to get the code to compile
+
+
+
+CMountCB* CRemote::NewMountL(/*CSessionFs* aSession*/) const
+//
+// Create a new mount control block.
+//
+	{
+
+	return(new(ELeave) CRemoteMountCB);
+	}
+
+CFileCB* CRemote::NewFileL(/*CSessionFs* aSession*/) const
+//
+// Create a new file.
+//
+	{
+
+	return(new(ELeave) CRemoteFileCB);
+	}
+
+CDirCB* CRemote::NewDirL(/*CSessionFs* aSession*/) const
+//
+// Create a new directory lister.
+//
+	{
+
+	return(new(ELeave) CRemoteDirCB(/*aSession*/));
+	}
+
+CFormatCB* CRemote::NewFormatL(/*CSessionFs* aSession*/) const
+//
+// Create a new media formatter.
+//
+	{
+
+	return(new(ELeave) CRemoteFormatCB(/*aSession*/));
+	}
+
+TInt CRemote::DefaultPath(TDes& aPath) const
+//
+// Return the initial default path.
+//
+	{
+
+	aPath=_L("Q:\\");
+	return(KErrNone);
+	}
+
+
+CFileSystem* CRemote::NewL()
+//
+//	JCS
+//
+	{
+	CFileSystem* remoteFsy=new(ELeave) CRemote();
+	return remoteFsy;
+	}
+
+
+void CRemote::DriveInfo(TDriveInfo& anInfo,TInt aDriveNumber) const
+//
+// Return the drive info iDriveAtt  && iBatteryState already set
+//
+	{
+
+	TFileName d;
+	d.Format(_L("%c:\\"),aDriveNumber+'A');
+	if (MapDriveInfo(anInfo,aDriveNumber))
+		{
+		if (MapDriveAttributes(anInfo.iDriveAtt,aDriveNumber))
+			{
+			return;
+			}
+		}
+
+//	UINT r=GetDriveType((_STRC)d.PtrZ());
+	TMediaType t;
+	anInfo.iMediaAtt=0;
+    /*
+	switch (r)
+		{
+	case DRIVE_REMOVABLE:
+		anInfo.iMediaAtt|=KMediaAttDualDensity;
+		t=EMediaFloppy;
+		break;
+	case DRIVE_NO_ROOT_DIR: t=EMediaNotPresent; break;
+	case DRIVE_FIXED: t=EMediaHardDisk; break;
+	case DRIVE_REMOTE: t=EMediaRemote; break;
+	case DRIVE_CDROM: t=EMediaCdRom; break;
+	case DRIVE_RAMDISK: t=EMediaRam; break;
+	case DRIVE_UNKNOWN:
+	default:
+		t=EMediaUnknown;
+		}
+	*/
+	t=EMediaRemote;
+	anInfo.iType=t;
+	}
+
+
+extern "C" {
+
+EXPORT_C CFileSystem* CreateFileSystem()
+//
+// Create a new file system
+//
+	{
+	return(CRemote::NewL());
+//	return(new CRemote);
+	}
+}
+
+