DumpDVD/DumpDVD/Gui/DumpDVD.hpp

57 lines
1005 B
C++

#ifndef _LI_DUMP_DVD_H
#define _LI_DUMP_DVD_H 1
#include <iostream>
#include <string>
#include <vector>
#include <thread>
#include <mutex>
#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<Li::Scsi::OpticalDrive*>* 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