sl@0: // Copyright (c) 2006-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\testfsys\t_tfsys3.cpp sl@0: // sl@0: // sl@0: sl@0: #include "t_tfsys3.h" sl@0: sl@0: sl@0: const TInt KMajorVersionNumber=1; sl@0: const TInt KMinorVersionNumber=0; sl@0: sl@0: CTestFileSystem::CTestFileSystem() sl@0: // sl@0: // Constructor sl@0: // sl@0: { sl@0: __DECLARE_NAME(_S("CTestFileSystem3")); sl@0: } sl@0: sl@0: CTestFileSystem::~CTestFileSystem() sl@0: // sl@0: // Destructor sl@0: // sl@0: {} sl@0: sl@0: TInt CTestFileSystem::Install() sl@0: // sl@0: // Install the file system sl@0: // sl@0: { sl@0: iVersion=TVersion(KMajorVersionNumber,KMinorVersionNumber,KF32BuildVersionNumber); sl@0: TPtrC name=_L("Test3"); sl@0: return(SetName(&name)); sl@0: } sl@0: sl@0: CMountCB* CTestFileSystem::NewMountL() const sl@0: // sl@0: // Create a new mount control block sl@0: // sl@0: { sl@0: return (new(ELeave) CTestMountCB); sl@0: } sl@0: sl@0: CFileCB* CTestFileSystem::NewFileL() const sl@0: // sl@0: // Create a new file sl@0: // sl@0: { sl@0: return (new(ELeave) CTestFileCB); sl@0: } sl@0: sl@0: CDirCB* CTestFileSystem::NewDirL() const sl@0: // sl@0: // create a new directory lister sl@0: // sl@0: { sl@0: return (new(ELeave) CTestDirCB); sl@0: } sl@0: sl@0: CFormatCB* CTestFileSystem::NewFormatL() const sl@0: // sl@0: // Create a new media formatter sl@0: // sl@0: { sl@0: return (new(ELeave) CTestFormatCB); sl@0: } sl@0: sl@0: TInt CTestFileSystem::DefaultPath(TDes& aPath) const sl@0: // sl@0: // Return the intial default path sl@0: // sl@0: { sl@0: aPath=_L("C:\\"); sl@0: return (KErrNone); sl@0: } sl@0: sl@0: sl@0: /** sl@0: Reports whether the specified interface is supported - if it is, sl@0: the supplied interface object is modified to it sl@0: sl@0: @param aInterfaceId The interface of interest sl@0: @param aInterface The interface object sl@0: @return KErrNone if the interface is supported, otherwise KErrNotFound sl@0: sl@0: @see CFileSystem::GetInterface() sl@0: */ sl@0: TInt CTestFileSystem::GetInterface(TInt aInterfaceId, TAny*& aInterface,TAny* aInput) sl@0: { sl@0: switch(aInterfaceId) sl@0: { sl@0: case CFileSystem::EProxyDriveSupport: // The FAT Filesystem supports proxy drives sl@0: return KErrNone; sl@0: sl@0: default: sl@0: return(CFileSystem::GetInterface(aInterfaceId, aInterface, aInput)); sl@0: } sl@0: } sl@0: sl@0: CFileSystem* CTestFileSystem::NewL() sl@0: // sl@0: // sl@0: // sl@0: { sl@0: CFileSystem* testFSys = new(ELeave) CTestFileSystem; sl@0: return testFSys; sl@0: } sl@0: sl@0: sl@0: CTestMountCB::CTestMountCB(){}; sl@0: CTestMountCB::~CTestMountCB(){}; sl@0: CTestDirCB::CTestDirCB(){}; sl@0: CTestDirCB::~CTestDirCB(){}; sl@0: CTestFileCB::CTestFileCB(){}; sl@0: CTestFileCB::~CTestFileCB(){}; sl@0: CTestFormatCB::CTestFormatCB(){}; sl@0: CTestFormatCB::~CTestFormatCB(){}; 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(CTestFileSystem::NewL()); sl@0: } sl@0: } sl@0: sl@0: TInt CTestMountCB::ClusterSize() const sl@0: { sl@0: return KTestClusterSize; sl@0: } sl@0: sl@0: TInt CTestMountCB::SubType(TDes& aName) const sl@0: { sl@0: if(aName.MaxLength() < 12) sl@0: return KErrArgument; sl@0: sl@0: aName = _L("Test3SubType"); sl@0: return KErrNone; sl@0: } sl@0: sl@0: TInt CTestMountCB::GetInterface(TInt aInterfaceId, TAny*& aInterface,TAny* aInput) sl@0: { sl@0: switch(aInterfaceId) sl@0: { sl@0: case (CMountCB::EGetFileSystemSubType): sl@0: { sl@0: aInterface = (MFileSystemSubType*) (this); sl@0: return KErrNone; sl@0: } sl@0: case (CMountCB::EGetClusterSize): sl@0: { sl@0: aInterface = (MFileSystemClusterSize*) (this); sl@0: return KErrNone; sl@0: } sl@0: default: sl@0: { sl@0: return(CMountCB::GetInterface(aInterfaceId, aInterface, aInput)); sl@0: } sl@0: } sl@0: }