#ifndef _LI_OPTICAL_DRIVE_H #define _LI_OPTICAL_DRIVE_H 1 #include #include #include "../Gui/DvdSpin/CdType.hpp" namespace Li::Scsi { class OpticalDrive { private: std::string drivePath; std::string volumeName; bool hasCss; std::byte discKey[5]; Li::Gui::DvdSpin::CdType mediaType; bool discInDrive; std::vector* supportedSpeeds; uint32_t sectors; void getDriveInformation(std::string drv); public: OpticalDrive(std::string drv); ~OpticalDrive(); std::vector* SupportedSpeeds(); std::string DrivePath(); std::string VolumeName(); uint32_t Sectors(); std::byte* DiscKey(); Li::Gui::DvdSpin::CdType MediaType(); bool HasCss(); bool DiscInDrive(); static std::vector* ListOpticalDrives(); }; } #endif