xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/FileManager/FSDrives.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // FSDrives.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_FS_DRIVES_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_FS_DRIVES_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/MyCom.h"
7*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/MyString.h"
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker #include "IFolder.h"
10*f6dc9357SAndroid Build Coastguard Worker 
11*f6dc9357SAndroid Build Coastguard Worker struct CDriveInfo
12*f6dc9357SAndroid Build Coastguard Worker {
13*f6dc9357SAndroid Build Coastguard Worker   FString Name;
14*f6dc9357SAndroid Build Coastguard Worker   FString FullSystemName;
15*f6dc9357SAndroid Build Coastguard Worker   UInt64 DriveSize;
16*f6dc9357SAndroid Build Coastguard Worker   UInt64 FreeSpace;
17*f6dc9357SAndroid Build Coastguard Worker   UInt64 ClusterSize;
18*f6dc9357SAndroid Build Coastguard Worker   // UString Type;
19*f6dc9357SAndroid Build Coastguard Worker   UString VolumeName;
20*f6dc9357SAndroid Build Coastguard Worker   UString FileSystemName;
21*f6dc9357SAndroid Build Coastguard Worker   UINT DriveType;
22*f6dc9357SAndroid Build Coastguard Worker 
23*f6dc9357SAndroid Build Coastguard Worker   bool KnownSize;
24*f6dc9357SAndroid Build Coastguard Worker   bool KnownSizes;
25*f6dc9357SAndroid Build Coastguard Worker   bool IsPhysicalDrive;
26*f6dc9357SAndroid Build Coastguard Worker 
27*f6dc9357SAndroid Build Coastguard Worker   FString GetDeviceFileIoName() const;
CDriveInfoCDriveInfo28*f6dc9357SAndroid Build Coastguard Worker   CDriveInfo(): KnownSize(false), KnownSizes(false), IsPhysicalDrive(false) {}
29*f6dc9357SAndroid Build Coastguard Worker };
30*f6dc9357SAndroid Build Coastguard Worker 
31*f6dc9357SAndroid Build Coastguard Worker Z7_CLASS_IMP_NOQIB_3(
32*f6dc9357SAndroid Build Coastguard Worker   CFSDrives
33*f6dc9357SAndroid Build Coastguard Worker   , IFolderFolder
34*f6dc9357SAndroid Build Coastguard Worker   , IFolderOperations
35*f6dc9357SAndroid Build Coastguard Worker   , IFolderGetSystemIconIndex
36*f6dc9357SAndroid Build Coastguard Worker )
37*f6dc9357SAndroid Build Coastguard Worker   CObjectVector<CDriveInfo> _drives;
38*f6dc9357SAndroid Build Coastguard Worker   bool _volumeMode;
39*f6dc9357SAndroid Build Coastguard Worker   bool _superMode;
40*f6dc9357SAndroid Build Coastguard Worker 
41*f6dc9357SAndroid Build Coastguard Worker   HRESULT BindToFolderSpec(CFSTR name, IFolderFolder **resultFolder);
42*f6dc9357SAndroid Build Coastguard Worker   void AddExt(FString &s, unsigned index) const;
43*f6dc9357SAndroid Build Coastguard Worker   HRESULT GetFileSize(unsigned index, UInt64 &fileSize) const;
44*f6dc9357SAndroid Build Coastguard Worker public:
45*f6dc9357SAndroid Build Coastguard Worker   void Init(bool volMode = false, bool superMode = false)
46*f6dc9357SAndroid Build Coastguard Worker   {
47*f6dc9357SAndroid Build Coastguard Worker     _volumeMode = volMode;
48*f6dc9357SAndroid Build Coastguard Worker     _superMode = superMode;
49*f6dc9357SAndroid Build Coastguard Worker   }
50*f6dc9357SAndroid Build Coastguard Worker };
51*f6dc9357SAndroid Build Coastguard Worker 
52*f6dc9357SAndroid Build Coastguard Worker #endif
53