14 class CommandController;
15 class StateChangeDistributor;
28 std::string driveName,
29 bool createCmd =
true,
30 bool doubleSidedDrive =
true,
31 std::function<
void()> preChangeCallback = {});
33 std::string driveName);
38 [[nodiscard]]
const std::string&
getDriveName()
const {
return driveName; }
51 void changeDisk(std::unique_ptr<Disk> newDisk);
57 template<
typename Archive>
58 void serialize(Archive& ar,
unsigned version);
61 void init(std::string_view prefix,
bool createCmd);
67 void signalStateChange(
const std::shared_ptr<StateChange>& event)
override;
68 void stopReplay(EmuTime::param time) noexcept
override;
75 std::function<void()> preChangeCallback;
77 const std::string driveName;
78 std::unique_ptr<Disk> disk;
81 std::unique_ptr<DiskCommand> diskCommand;
82 const bool doubleSidedDrive;
bool peekDiskChanged() const
Scheduler * getScheduler() const
const DiskName & getDiskName() const
int insertDisk(const std::string &filename) override
const std::string & getDriveName() const
std::string_view getContainerName() const override
void serialize(Archive &ar, unsigned version)
DiskChanger(MSXMotherBoard &board, std::string driveName, bool createCmd=true, bool doubleSidedDrive=true, std::function< void()> preChangeCallback={})
bool isDoubleSidedDrive() const
void changeDisk(std::unique_ptr< Disk > newDisk)
SectorAccessibleDisk * getSectorAccessibleDisk() override
bool diskChanged() override
Contains the main loop of openMSX.
This file implemented 3 utility functions:
constexpr const char *const filename
SERIALIZE_CLASS_VERSION(CassettePlayer, 2)