| author | William Roberts <williamr@symbian.org> | 
| Sat, 19 Jun 2010 09:54:56 +0100 | |
| branch | GCC_SURGE | 
| changeset 168 | c46cf809d044 | 
| parent 90 | 947f0dc9f7a8 | 
| permissions | -rw-r--r-- | 
| 0 | 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". | |
| 7 | // | |
| 8 | // Initial Contributors: | |
| 9 | // Nokia Corporation - initial contribution. | |
| 10 | // | |
| 11 | // Contributors: | |
| 12 | // | |
| 13 | // Description: | |
| 14 | // Class declaration for CMassStorageFileSystem. | |
| 15 | // | |
| 16 | // | |
| 17 | ||
| 18 | /** | |
| 19 | @file | |
| 20 | @internalTechnology | |
| 21 | */ | |
| 22 | ||
| 23 | #ifndef __CMASSSTORAGEFILESYSTEM_H__ | |
| 24 | #define __CMASSSTORAGEFILESYSTEM_H__ | |
| 25 | ||
| 26 | ||
| 90 
947f0dc9f7a8
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
0diff
changeset | 27 | //Forward Declaration | 
| 
947f0dc9f7a8
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
0diff
changeset | 28 | class CUsbMassStorageController; | 
| 0 | 29 | |
| 30 | /** | |
| 31 | Mass Storage Filesystem class. | |
| 32 | Only supports creating a new mount. Calling NewFileL, NewDirL and NewFormatL | |
| 33 | results in the functions leaving with KErrNotReady. | |
| 34 | When this file system is installed a new thread is created to load the | |
| 35 | Usb Mass Storage controller. | |
| 36 | @internalTechnology | |
| 37 | */ | |
| 38 | class CMassStorageFileSystem : public CFileSystem | |
| 39 | 	{
 | |
| 40 | public: | |
| 41 | static CMassStorageFileSystem* NewL(); | |
| 42 | ~CMassStorageFileSystem(); | |
| 43 | ||
| 44 | //CFileSystem | |
| 45 | TBool IsExtensionSupported() const; | |
| 46 | TInt Remove(); | |
| 47 | TInt Install(); | |
| 48 | CMountCB* NewMountL() const; | |
| 49 | CFileCB* NewFileL() const; | |
| 50 | CDirCB* NewDirL() const; | |
| 51 | CFormatCB* NewFormatL() const; | |
| 52 | void DriveInfo(TDriveInfo& anInfo,TInt aDriveNumber) const; | |
| 53 | TInt DefaultPath(TDes& aPath) const; | |
| 54 | TInt DriveList(TDriveList& aList) const; | |
| 55 | ||
| 56 | CUsbMassStorageController& Controller(); | |
| 57 | TInt InitThread(); | |
| 58 | TInt InitThreadL(); | |
| 59 | ||
| 60 | private: | |
| 61 | CMassStorageFileSystem(); | |
| 62 | TInt EnumerateMsDrivesL(); | |
| 63 | void ConstructL(); | |
| 64 | ||
| 65 | public: | |
| 66 | // Public so the mount can see it | |
| 67 | RArray<TBusLocalDrive> iLocalDriveForMediaFlag; | |
| 68 | CArrayFixFlat<TBool> *iMediaChanged; | |
| 69 | TRequestStatus iThreadStat; | |
| 70 | TBool iInstalled; | |
| 71 | ||
| 72 | private: | |
| 73 | CUsbMassStorageController* iMassStorageController; | |
| 74 | TBool iRunning; | |
| 75 | RArray<TInt> iMsDrives; | |
| 76 | }; | |
| 77 | ||
| 78 | #endif // __CMASSSTORAGEFILESYSTEM_H__ | |
| 79 |