#ifndef _LI_DUMP_DVD_H #define _LI_DUMP_DVD_H 1 #include #include #include #include #include #include "../Scsi/OpticalDrive.hpp" #include "../Dvd/DvdRipper.hpp" namespace Li::Gui { class DumpDVD { private: bool keepPolling; bool showDemoWindow; bool imRippinIt; // dodododo do do! std::mutex* lock; int sectorsAtOnce; bool decrypt; bool discInserted; int selectedDrive; int selectedDriveSpeed; char outputFile[0x8000]; std::vector* drivesList; std::thread* pollDrives; Li::Dvd::DvdRipper* dvdRipper; void pollDrivesThread(); void freeOldDriveList(); void refreshDriveList(); std::string getDrivesStr(); void reset(); void startRip(); void endRipNow(); void endRipAndGoBackToMenu(); void showRipMenu(); void showStarting(); void showRippingStatus(); public: Li::Scsi::OpticalDrive* GetCurrentSelectedDrive(); DumpDVD(); ~DumpDVD(); void RenderUI(); }; } #endif