JD2022-TU1/main/extern/ITNetwork/gear/tools/systemdetection/systemdetectiondisk.h

69 lines
2 KiB
C++

////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) Ubisoft Entertainment. All rights reserved.
//
// ProjectFolder: disk
// BelongsToModule: gearsystemdetectionhardware
// ScanFlags: Ignore
//
////////////////////////////////////////////////////////////////////////////////
#pragma once
#ifndef GEAR_SYSTEMDETECTIONDISK__INCLUDED
#define GEAR_SYSTEMDETECTIONDISK__INCLUDED
GEAR_BEGIN_MODULE(systemdetection, gearsystemdetectionhardware)
namespace SystemDetection
{
class GEAR_DLL_ENTRY Disk
{
public:
virtual ~Disk() {}
/// Free space (in bytes) on this disk
unsigned long long freeSpace;
/// Used space (in bytes) on this disk
unsigned long long usedSpace;
/// Total space (in bytes) available on this disk
unsigned long long totalSpace;
/// Returns the windows drive letter associated with this disk
/*! \return Drive letter
*/
virtual const char* GetDriveLetter() const = 0;
/// Get the device identifier
/*! \return Device identifier
*/
virtual const char* GetDeviceId() const = 0;
/// Get file system type
/*! \return File system
*/
virtual const char* GetFileSystem() const = 0;
};
class GEAR_DLL_ENTRY LogicalDisks
{
public:
virtual ~LogicalDisks() {};
/// Get disk from list of available disks
/*! Available disks are stored in a list, and this method must be
used to retrieve them.
\param index Disk index
\return Pointer to the disk at the specified index. Returns null if
the index is invalid, or greater than the available disk count.
*/
virtual const Disk* GetDisk(unsigned long index) const = 0;
};
}//namespace SystemDetection
GEAR_END_MODULE()
#endif