os/kernelhwsrv/kerneltest/f32test/fsstress/t_remmnt.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // f32test\fsstress\t_remmnt.cpp
    15 // 
    16 //
    17 
    18 #if defined(_UNICODE)
    19 #if !defined(UNICODE)
    20 #define UNICODE
    21 #endif
    22 #endif
    23 
    24 /*
    25 #define WIN32_LEAN_AND_MEAN
    26 #pragma warning( disable : 4201 ) // nonstandard extension used : nameless struct/union
    27  #include <windows.h>
    28 #pragma warning( default : 4201 ) // nonstandard extension used : nameless struct/union
    29 #include <stdlib.h>
    30 */
    31 #include <f32file.h>
    32 #include <f32fsys.h>
    33 #include <f32ver.h>
    34 #include <e32twin.h>
    35 #include <e32uid.h>
    36 
    37 #include "t_remfsy.h"
    38 
    39 
    40 
    41 LOCAL_C TInt GetMediaSize(TInt /*aDriveNumber*/,TInt64& /*aSize*/,TInt64& /*aFree*/)
    42 //
    43 // Return the size and free space on a drive.
    44 //
    45 	{
    46 	return(KErrNone);
    47 	}
    48 
    49 LOCAL_C TInt GetVolume(TInt /*aDriveNumber*/,TDes& aName,TUint& aUniqueID)
    50 //
    51 // Return the volume name and uniqueID.
    52 //
    53 	{
    54 	aUniqueID=1234;
    55 	aName=(_L("REMOTDRV"));
    56 	return(KErrNone);	
    57 	}
    58 
    59 
    60 //////////////////////////////////////////////////////////////////////////
    61 //								CRemoteMountCB							//
    62 //////////////////////////////////////////////////////////////////////////	
    63 
    64 
    65 CRemoteMountCB::CRemoteMountCB()
    66 //
    67 // Constructor
    68 //
    69 	{
    70 	__DECLARE_NAME(_S("CRemoteMountCB"));
    71 	}
    72 
    73 CRemoteMountCB::~CRemoteMountCB()
    74 //
    75 // Destructor
    76 //
    77 	{}
    78 
    79 void CRemoteMountCB::MountL(TBool /*aForceMount*/)
    80 //
    81 // Mount a media. Only allowed to leave with KErrNoMemory,KErrNotReady,KErrCorrupt,KErrUnknown.
    82 //
    83 	{
    84 //	TInt64 s,f;
    85 	TFileName driveName;
    86 	TInt d=Drive().DriveNumber();
    87 //	TInt driveNum=d;
    88 	if (MapDrive(driveName,d))
    89 		RFs::CharToDrive(driveName[0],d);
    90 	//User::LeaveIfError(GetMediaSize(d,s,f));
    91 	//if (driveNum==EDriveZ)
    92 //		iSize=4*1048576;
    93 //	else
    94 		//iSize=s;
    95 	iSize=4*1024*16;
    96 	User::LeaveIfError(GetVolume(d,driveName,iUniqueID));
    97 	HBufC* pN=driveName.AllocL();
    98 	SetVolumeName(pN);
    99 	}
   100 
   101 TInt CRemoteMountCB::ReMount()
   102 //
   103 // Try and remount this media.
   104 //
   105 	{
   106 
   107 	TFileName n;
   108 	TInt d=Drive().DriveNumber();
   109 	if (MapDrive(n,d))
   110 		RFs::CharToDrive(n[0],d);
   111 	TUint uniqueID;
   112 	TInt r=GetVolume(d,n,uniqueID);
   113 	if (r!=KErrNone)
   114 		return(r);
   115 	if (n==VolumeName() && uniqueID==iUniqueID)
   116 		return(KErrNone);
   117 	return(KErrGeneral);
   118 	}
   119 
   120 void CRemoteMountCB::Dismounted()
   121 //
   122 //	Dummy implementation of a pure virtual function
   123 //
   124 	{}
   125 
   126 void CRemoteMountCB::VolumeL(TVolumeInfo& aVolume) const
   127 //
   128 // Return the volume info.
   129 //
   130 	{
   131 	TInt64 s,f(0);
   132 	TFileName n;
   133 	TInt d=Drive().DriveNumber();
   134 	TInt driveNum=d;
   135 	if (MapDrive(n,d))
   136 		RFs::CharToDrive(n[0],d);
   137 	User::LeaveIfError(GetMediaSize(d,s,f));
   138 	if (driveNum==EDriveZ)
   139 		aVolume.iFree=0;
   140 	else
   141 		aVolume.iFree=f;
   142 	}
   143 
   144 
   145 void CRemoteMountCB::SetVolumeL(TDes& /*aName*/)
   146 //
   147 //	Set the volume label
   148 //	Dummy implementation of a pure virtual function
   149 //
   150 	{}
   151 
   152 
   153 void CRemoteMountCB::IsFileInRom(const TDesC& /*aName*/,TUint8*& /*aFileStart*/)
   154 //
   155 // Return the address of the file if it is in rom
   156 //
   157 	{}
   158 
   159 
   160 
   161 
   162 void CRemoteMountCB::MkDirL(const TDesC& /*aName*/)
   163 //
   164 //	Make a directory
   165 //	Dummy implementation of a pure virtual function
   166 //
   167 	{
   168 	User::After(200000);	//	Wait 0.2 seconds
   169 	}
   170 
   171 
   172 void CRemoteMountCB::RmDirL(const TDesC& /*aName*/)
   173 //
   174 //	Remove a directory
   175 //	Dummy implementation of a pure virtual function
   176 //
   177 	{
   178 	User::After(200000);	//	Wait 0.2 seconds
   179 	}
   180 
   181 void CRemoteMountCB::DeleteL(const TDesC& /*aName*/)
   182 //
   183 //	Delete a file
   184 //	Dummy implementation of a pure virtual function
   185 //
   186 	{
   187 	User::After(200000);	//  Wait 0.2 seconds
   188 	}
   189 
   190 void CRemoteMountCB::RenameL(const TDesC& /*anOldName*/,const TDesC& /*aNewName*/)
   191 //
   192 //	Rename a file or directory
   193 //	Dummy implementation of a pure virtual function
   194 //
   195 	{
   196 	User::After(200000);	//  Wait 0.2 seconds
   197 	}
   198 
   199 void CRemoteMountCB::ReplaceL(const TDesC& /*anOldName*/,const TDesC& /*aNewName*/)
   200 //
   201 //	Delete aNewName if it exists and rename anOldName
   202 //	Dummy implementation of a pure virtual function
   203 //
   204 	{
   205 	User::After(200000);	//  Wait 0.2 seconds
   206 	}
   207 
   208 void CRemoteMountCB::ReadUidL(const TDesC& /*aName*/,TEntry& /*anEntry*/) const
   209 //
   210 //	Read the entry uid if present
   211 //
   212 	{
   213 	User::After(200000);	//  Wait 0.2 seconds
   214 	}
   215 
   216 
   217 void CRemoteMountCB::EntryL(const TDesC& /*aName*/,TEntry& /*anEntry*/) const
   218 //
   219 //	Get entry details
   220 //	Dummy implementation of a pure virtual function
   221 //
   222 	{
   223 	User::After(200000);	//  Wait 0.2 seconds
   224 	}
   225 
   226 void CRemoteMountCB::SetEntryL(const TDesC& /*aName*/,const TTime& /*aTime*/,TUint /*aSetAttMask*/,TUint /*aClearAttMask*/)
   227 //
   228 //	Set entry details
   229 //	Dummy implementation of a pure virtual function
   230 //
   231 	{
   232 	User::After(200000);	//  Wait 0.2 seconds
   233 	}
   234 
   235 
   236 void CRemoteMountCB::FileOpenL(const TDesC& /*aName*/,TUint /*aMode*/,TFileOpen /*anOpen*/,CFileCB* /*aFile*/)
   237 //
   238 //	Open a File
   239 //	Dummy implementation of a pure virtual function
   240 //
   241 	{
   242 	User::After(200000);	//  Wait 0.2 seconds
   243 	}
   244 
   245 void CRemoteMountCB::DirOpenL(const TDesC& /*aName*/,CDirCB* /*aDir*/)
   246 //
   247 //	Open a directory on the current mount
   248 //	Dummy implementation of a pure virtual function
   249 //
   250 	{
   251 	User::After(200000);	//  Wait 0.2 seconds
   252 	}
   253 
   254 
   255 void CRemoteMountCB::RawReadL(TInt64 /*aPos*/,TInt /*aLength*/,const TAny* /*aTrg*/,TInt /*anOffset*/,const RMessagePtr2& /*aMessage*/) const
   256 //
   257 //	Read directly from disk
   258 //
   259 	{
   260 	User::Leave(KErrNotSupported);
   261 	}
   262 
   263 void CRemoteMountCB::RawWriteL(TInt64 /*aPos*/,TInt /*aLength*/,const TAny* /*aSrc*/,TInt /*anOffset*/,const RMessagePtr2& /*aMessage*/)
   264 //
   265 //	Write directly to disk
   266 //
   267 	{
   268 	User::Leave(KErrNotSupported);
   269 	}
   270 
   271 void CRemoteMountCB::GetShortNameL(const TDesC& /*aLongName*/,TDes& /*aShortName*/)
   272 //
   273 //	Get the short name associated with aLongName
   274 //	Dummy implementation of a pure virtual function
   275 //
   276 	{}
   277 
   278 
   279 void CRemoteMountCB::GetLongNameL(const TDesC& /*aShortName*/,TDes& /*aLongName*/)
   280 //
   281 //	Get the short name associated with aLongName
   282 //	Dummy implementation of a pure virtual function
   283 //
   284 	{}
   285 
   286 
   287 void CRemoteMountCB::ReadSectionL(const TDesC& /*aName*/,TInt /*aPos*/,TAny* /*aTrg*/,TInt /*aLength*/,const RMessagePtr2& /*aMessage*/)
   288 //
   289 //	Get the short name associated with aLongName
   290 //	Dummy implementation of a pure virtual function
   291 //
   292 	{}
   293 
   294 
   295 
   296 TBool CRemoteMountCB::IsRomDrive() const
   297 //
   298 // Returns ETrue if the drive == EDriveZ
   299 //
   300 	{
   301 	return(Drive().DriveNumber()==EDriveZ);
   302 	}
   303 
   304 
   305