os/kernelhwsrv/userlibandfileserver/fileserver/smassstorage/inc/cmassstoragefilesystem.h
Update contrib.
1 // Copyright (c) 2004-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Class declaration for CMassStorageFileSystem.
23 #ifndef __CMASSSTORAGEFILESYSTEM_H__
24 #define __CMASSSTORAGEFILESYSTEM_H__
29 #include "cusbmassstoragecontroller.h"
33 Mass Storage Filesystem class.
34 Only supports creating a new mount. Calling NewFileL, NewDirL and NewFormatL
35 results in the functions leaving with KErrNotReady.
36 When this file system is installed a new thread is created to load the
37 Usb Mass Storage controller.
40 class CMassStorageFileSystem : public CFileSystem
43 static CMassStorageFileSystem* NewL();
44 ~CMassStorageFileSystem();
47 TBool IsExtensionSupported() const;
50 CMountCB* NewMountL() const;
51 CFileCB* NewFileL() const;
52 CDirCB* NewDirL() const;
53 CFormatCB* NewFormatL() const;
54 void DriveInfo(TDriveInfo& anInfo,TInt aDriveNumber) const;
55 TInt DefaultPath(TDes& aPath) const;
56 TInt DriveList(TDriveList& aList) const;
58 CUsbMassStorageController& Controller();
63 CMassStorageFileSystem();
64 TInt EnumerateMsDrivesL();
68 // Public so the mount can see it
69 RArray<TBusLocalDrive> iLocalDriveForMediaFlag;
70 CArrayFixFlat<TBool> *iMediaChanged;
71 TRequestStatus iThreadStat;
75 CUsbMassStorageController* iMassStorageController;
77 RArray<TInt> iMsDrives;
82 #endif // __CMASSSTORAGEFILESYSTEM_H__