diff -r 000000000000 -r a41df078684a kerneltest/f32test/fsstress/t_remmnt.cpp --- /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 +#pragma warning( default : 4201 ) // nonstandard extension used : nameless struct/union +#include +*/ +#include +#include +#include +#include +#include + +#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); + } + + +