sl@0: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // f32test\fsstress\t_remfsy.cpp sl@0: // sl@0: // sl@0: sl@0: #if defined(_UNICODE) sl@0: #if !defined(UNICODE) sl@0: #define UNICODE sl@0: #endif sl@0: #endif sl@0: sl@0: /* sl@0: #define WIN32_LEAN_AND_MEAN sl@0: #pragma warning( disable : 4201 ) // nonstandard extension used : nameless struct/union sl@0: #include sl@0: #pragma warning( default : 4201 ) // nonstandard extension used : nameless struct/union sl@0: #include sl@0: */ sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: #include "t_remfsy.h" sl@0: sl@0: const TInt KMajorVersionNumber=1; sl@0: const TInt KMinorVersionNumber=0; sl@0: // sl@0: //const TInt KKiloBytes=0x400; sl@0: //const TBuf<4> KUidName=_L(":UID"); sl@0: //const TInt KUidNameLength=4; sl@0: // sl@0: //LOCAL_D TBuf8<0x1000> buf; sl@0: //LOCAL_D RConsole theConsole; sl@0: sl@0: sl@0: ////////////////////////////////////////////////////////////////////////// sl@0: // CRemote // sl@0: ////////////////////////////////////////////////////////////////////////// sl@0: sl@0: sl@0: CRemote::CRemote() sl@0: // sl@0: // Constructor sl@0: // sl@0: { sl@0: __DECLARE_NAME(_S("CRemote")); sl@0: } sl@0: sl@0: sl@0: sl@0: TInt CRemote::Install() sl@0: // sl@0: // Install the file system. sl@0: // sl@0: { sl@0: sl@0: // SetErrorMode(SEM_FAILCRITICALERRORS); sl@0: RDebug::Print(_L("BASH in CRemote::Install")); sl@0: iVersion=TVersion(KMajorVersionNumber,KMinorVersionNumber,KF32BuildVersionNumber); sl@0: TPtrC name=_L("T_REMFSY"); sl@0: return(SetName(&name)); sl@0: } sl@0: sl@0: sl@0: //???JCS: Removed all aSession parameters to get the code to compile sl@0: sl@0: sl@0: sl@0: CMountCB* CRemote::NewMountL(/*CSessionFs* aSession*/) const sl@0: // sl@0: // Create a new mount control block. sl@0: // sl@0: { sl@0: sl@0: return(new(ELeave) CRemoteMountCB); sl@0: } sl@0: sl@0: CFileCB* CRemote::NewFileL(/*CSessionFs* aSession*/) const sl@0: // sl@0: // Create a new file. sl@0: // sl@0: { sl@0: sl@0: return(new(ELeave) CRemoteFileCB); sl@0: } sl@0: sl@0: CDirCB* CRemote::NewDirL(/*CSessionFs* aSession*/) const sl@0: // sl@0: // Create a new directory lister. sl@0: // sl@0: { sl@0: sl@0: return(new(ELeave) CRemoteDirCB(/*aSession*/)); sl@0: } sl@0: sl@0: CFormatCB* CRemote::NewFormatL(/*CSessionFs* aSession*/) const sl@0: // sl@0: // Create a new media formatter. sl@0: // sl@0: { sl@0: sl@0: return(new(ELeave) CRemoteFormatCB(/*aSession*/)); sl@0: } sl@0: sl@0: TInt CRemote::DefaultPath(TDes& aPath) const sl@0: // sl@0: // Return the initial default path. sl@0: // sl@0: { sl@0: sl@0: aPath=_L("Q:\\"); sl@0: return(KErrNone); sl@0: } sl@0: sl@0: sl@0: CFileSystem* CRemote::NewL() sl@0: // sl@0: // JCS sl@0: // sl@0: { sl@0: CFileSystem* remoteFsy=new(ELeave) CRemote(); sl@0: return remoteFsy; sl@0: } sl@0: sl@0: sl@0: void CRemote::DriveInfo(TDriveInfo& anInfo,TInt aDriveNumber) const sl@0: // sl@0: // Return the drive info, iDriveAtt already set sl@0: // sl@0: { sl@0: sl@0: TFileName d; sl@0: d.Format(_L("%c:\\"),aDriveNumber+'A'); sl@0: if (MapDriveInfo(anInfo,aDriveNumber)) sl@0: { sl@0: if (MapDriveAttributes(anInfo.iDriveAtt,aDriveNumber)) sl@0: { sl@0: return; sl@0: } sl@0: } sl@0: sl@0: // UINT r=GetDriveType((_STRC)d.PtrZ()); sl@0: TMediaType t; sl@0: anInfo.iMediaAtt=0; sl@0: /* sl@0: switch (r) sl@0: { sl@0: case DRIVE_REMOVABLE: sl@0: anInfo.iMediaAtt|=KMediaAttDualDensity; sl@0: t=EMediaFloppy; sl@0: break; sl@0: case DRIVE_NO_ROOT_DIR: t=EMediaNotPresent; break; sl@0: case DRIVE_FIXED: t=EMediaHardDisk; break; sl@0: case DRIVE_REMOTE: t=EMediaRemote; break; sl@0: case DRIVE_CDROM: t=EMediaCdRom; break; sl@0: case DRIVE_RAMDISK: t=EMediaRam; break; sl@0: case DRIVE_UNKNOWN: sl@0: default: sl@0: t=EMediaUnknown; sl@0: } sl@0: */ sl@0: t=EMediaRemote; sl@0: anInfo.iType=t; sl@0: } sl@0: sl@0: sl@0: extern "C" { sl@0: sl@0: EXPORT_C CFileSystem* CreateFileSystem() sl@0: // sl@0: // Create a new file system sl@0: // sl@0: { sl@0: return(CRemote::NewL()); sl@0: // return(new CRemote); sl@0: } sl@0: } sl@0: sl@0: