kerneltest/f32test/fsstress/t_remmnt.cpp
changeset 0 a41df078684a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/f32test/fsstress/t_remmnt.cpp	Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,305 @@
+// 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_remmnt.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"
+
+
+
+LOCAL_C TInt GetMediaSize(TInt /*aDriveNumber*/,TInt64& /*aSize*/,TInt64& /*aFree*/)
+//
+// Return the size and free space on a drive.
+//
+	{
+	return(KErrNone);
+	}
+
+LOCAL_C TInt GetVolume(TInt /*aDriveNumber*/,TDes& aName,TUint& aUniqueID)
+//
+// Return the volume name and uniqueID.
+//
+	{
+	aUniqueID=1234;
+	aName=(_L("REMOTDRV"));
+	return(KErrNone);	
+	}
+
+
+//////////////////////////////////////////////////////////////////////////
+//								CRemoteMountCB							//
+//////////////////////////////////////////////////////////////////////////	
+
+
+CRemoteMountCB::CRemoteMountCB()
+//
+// Constructor
+//
+	{
+	__DECLARE_NAME(_S("CRemoteMountCB"));
+	}
+
+CRemoteMountCB::~CRemoteMountCB()
+//
+// Destructor
+//
+	{}
+
+void CRemoteMountCB::MountL(TBool /*aForceMount*/)
+//
+// Mount a media. Only allowed to leave with KErrNoMemory,KErrNotReady,KErrCorrupt,KErrUnknown.
+//
+	{
+//	TInt64 s,f;
+	TFileName driveName;
+	TInt d=Drive().DriveNumber();
+//	TInt driveNum=d;
+	if (MapDrive(driveName,d))
+		RFs::CharToDrive(driveName[0],d);
+	//User::LeaveIfError(GetMediaSize(d,s,f));
+	//if (driveNum==EDriveZ)
+//		iSize=4*1048576;
+//	else
+		//iSize=s;
+	iSize=4*1024*16;
+	User::LeaveIfError(GetVolume(d,driveName,iUniqueID));
+	HBufC* pN=driveName.AllocL();
+	SetVolumeName(pN);
+	}
+
+TInt CRemoteMountCB::ReMount()
+//
+// Try and remount this media.
+//
+	{
+
+	TFileName n;
+	TInt d=Drive().DriveNumber();
+	if (MapDrive(n,d))
+		RFs::CharToDrive(n[0],d);
+	TUint uniqueID;
+	TInt r=GetVolume(d,n,uniqueID);
+	if (r!=KErrNone)
+		return(r);
+	if (n==VolumeName() && uniqueID==iUniqueID)
+		return(KErrNone);
+	return(KErrGeneral);
+	}
+
+void CRemoteMountCB::Dismounted()
+//
+//	Dummy implementation of a pure virtual function
+//
+	{}
+
+void CRemoteMountCB::VolumeL(TVolumeInfo& aVolume) const
+//
+// Return the volume info.
+//
+	{
+	TInt64 s,f(0);
+	TFileName n;
+	TInt d=Drive().DriveNumber();
+	TInt driveNum=d;
+	if (MapDrive(n,d))
+		RFs::CharToDrive(n[0],d);
+	User::LeaveIfError(GetMediaSize(d,s,f));
+	if (driveNum==EDriveZ)
+		aVolume.iFree=0;
+	else
+		aVolume.iFree=f;
+	}
+
+
+void CRemoteMountCB::SetVolumeL(TDes& /*aName*/)
+//
+//	Set the volume label
+//	Dummy implementation of a pure virtual function
+//
+	{}
+
+
+void CRemoteMountCB::IsFileInRom(const TDesC& /*aName*/,TUint8*& /*aFileStart*/)
+//
+// Return the address of the file if it is in rom
+//
+	{}
+
+
+
+
+void CRemoteMountCB::MkDirL(const TDesC& /*aName*/)
+//
+//	Make a directory
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//	Wait 0.2 seconds
+	}
+
+
+void CRemoteMountCB::RmDirL(const TDesC& /*aName*/)
+//
+//	Remove a directory
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//	Wait 0.2 seconds
+	}
+
+void CRemoteMountCB::DeleteL(const TDesC& /*aName*/)
+//
+//	Delete a file
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+void CRemoteMountCB::RenameL(const TDesC& /*anOldName*/,const TDesC& /*aNewName*/)
+//
+//	Rename a file or directory
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+void CRemoteMountCB::ReplaceL(const TDesC& /*anOldName*/,const TDesC& /*aNewName*/)
+//
+//	Delete aNewName if it exists and rename anOldName
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+void CRemoteMountCB::ReadUidL(const TDesC& /*aName*/,TEntry& /*anEntry*/) const
+//
+//	Read the entry uid if present
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+
+void CRemoteMountCB::EntryL(const TDesC& /*aName*/,TEntry& /*anEntry*/) const
+//
+//	Get entry details
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+void CRemoteMountCB::SetEntryL(const TDesC& /*aName*/,const TTime& /*aTime*/,TUint /*aSetAttMask*/,TUint /*aClearAttMask*/)
+//
+//	Set entry details
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+
+void CRemoteMountCB::FileOpenL(const TDesC& /*aName*/,TUint /*aMode*/,TFileOpen /*anOpen*/,CFileCB* /*aFile*/)
+//
+//	Open a File
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+void CRemoteMountCB::DirOpenL(const TDesC& /*aName*/,CDirCB* /*aDir*/)
+//
+//	Open a directory on the current mount
+//	Dummy implementation of a pure virtual function
+//
+	{
+	User::After(200000);	//  Wait 0.2 seconds
+	}
+
+
+void CRemoteMountCB::RawReadL(TInt64 /*aPos*/,TInt /*aLength*/,const TAny* /*aTrg*/,TInt /*anOffset*/,const RMessagePtr2& /*aMessage*/) const
+//
+//	Read directly from disk
+//
+	{
+	User::Leave(KErrNotSupported);
+	}
+
+void CRemoteMountCB::RawWriteL(TInt64 /*aPos*/,TInt /*aLength*/,const TAny* /*aSrc*/,TInt /*anOffset*/,const RMessagePtr2& /*aMessage*/)
+//
+//	Write directly to disk
+//
+	{
+	User::Leave(KErrNotSupported);
+	}
+
+void CRemoteMountCB::GetShortNameL(const TDesC& /*aLongName*/,TDes& /*aShortName*/)
+//
+//	Get the short name associated with aLongName
+//	Dummy implementation of a pure virtual function
+//
+	{}
+
+
+void CRemoteMountCB::GetLongNameL(const TDesC& /*aShortName*/,TDes& /*aLongName*/)
+//
+//	Get the short name associated with aLongName
+//	Dummy implementation of a pure virtual function
+//
+	{}
+
+
+void CRemoteMountCB::ReadSectionL(const TDesC& /*aName*/,TInt /*aPos*/,TAny* /*aTrg*/,TInt /*aLength*/,const RMessagePtr2& /*aMessage*/)
+//
+//	Get the short name associated with aLongName
+//	Dummy implementation of a pure virtual function
+//
+	{}
+
+
+
+TBool CRemoteMountCB::IsRomDrive() const
+//
+// Returns ETrue if the drive == EDriveZ
+//
+	{
+	return(Drive().DriveNumber()==EDriveZ);
+	}
+
+
+