35 lines
687 B
C++
35 lines
687 B
C++
#ifndef _LI_OPTICAL_DRIVE_H
|
|
#define _LI_OPTICAL_DRIVE_H 1
|
|
#include <vector>
|
|
#include <iostream>
|
|
namespace Li::Scsi {
|
|
class OpticalDrive {
|
|
private:
|
|
std::string drivePath;
|
|
std::string volumeName;
|
|
|
|
bool hasCss;
|
|
std::byte discKey[5];
|
|
|
|
bool discInDrive;
|
|
std::vector<uint32_t>* supportedSpeeds;
|
|
uint32_t sectors;
|
|
|
|
void getDriveInformation(std::string drv);
|
|
public:
|
|
OpticalDrive(std::string drv);
|
|
~OpticalDrive();
|
|
|
|
std::vector<uint32_t>* SupportedSpeeds();
|
|
std::string DrivePath();
|
|
std::string VolumeName();
|
|
uint32_t Sectors();
|
|
std::byte* DiscKey();
|
|
bool HasCss();
|
|
bool DiscInDrive();
|
|
|
|
static std::vector<OpticalDrive*>* ListOpticalDrives();
|
|
};
|
|
|
|
}
|
|
#endif |