DumpDVD/DumpDVD/Scsi/OpticalDrive.hpp

37 lines
801 B
C++
Raw Normal View History

2023-03-15 06:59:59 +00:00
#ifndef _LI_OPTICAL_DRIVE_H
#define _LI_OPTICAL_DRIVE_H 1
#include <vector>
#include <iostream>
2023-03-27 15:57:30 +00:00
#include "../Gui/DvdSpin/CdType.hpp"
2023-03-15 06:59:59 +00:00
namespace Li::Scsi {
class OpticalDrive {
private:
std::string drivePath;
std::string volumeName;
2023-03-17 08:23:19 +00:00
bool hasCss;
2023-03-21 10:12:28 +00:00
std::byte discKey[5];
2023-03-27 15:57:30 +00:00
Li::Gui::DvdSpin::CdType mediaType;
2023-03-15 06:59:59 +00:00
bool discInDrive;
std::vector<uint32_t>* supportedSpeeds;
2023-03-16 19:26:43 +00:00
uint32_t sectors;
2023-03-15 06:59:59 +00:00
void getDriveInformation(std::string drv);
public:
OpticalDrive(std::string drv);
~OpticalDrive();
std::vector<uint32_t>* SupportedSpeeds();
std::string DrivePath();
std::string VolumeName();
2023-03-16 19:26:43 +00:00
uint32_t Sectors();
2023-03-17 08:23:19 +00:00
std::byte* DiscKey();
2023-03-27 15:57:30 +00:00
Li::Gui::DvdSpin::CdType MediaType();
2023-03-17 08:23:19 +00:00
bool HasCss();
2023-03-15 06:59:59 +00:00
bool DiscInDrive();
static std::vector<OpticalDrive*>* ListOpticalDrives();
};
}
#endif