openMSX
|
#include <DiskChanger.hh>
Public Member Functions | |
DiskChanger (MSXMotherBoard &board, std::string driveName, bool createCmd=true, bool doubleSidedDrive=true, std::function< void()> preChangeCallback={}) | |
DiskChanger (Reactor &reactor, std::string driveName) | |
~DiskChanger () override | |
void | createCommand () |
const std::string & | getDriveName () const |
const DiskName & | getDiskName () const |
bool | peekDiskChanged () const |
void | forceDiskChange () |
Disk & | getDisk () |
const Disk & | getDisk () const |
SectorAccessibleDisk * | getSectorAccessibleDisk () override |
std::string_view | getContainerName () const override |
bool | diskChanged () override |
int | insertDisk (const std::string &filename) override |
void | changeDisk (std::unique_ptr< Disk > newDisk) |
Scheduler * | getScheduler () const |
bool | isDoubleSidedDrive () const |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
![]() | |
DiskContainer (const DiskContainer &)=delete | |
DiskContainer & | operator= (const DiskContainer &)=delete |
DiskContainer ()=default | |
virtual | ~DiskContainer ()=default |
bool | isRomdisk () const |
template<typename Archive > | |
void | serialize (Archive &, unsigned) |
Friends | |
class | DiskCommand |
Definition at line 40 of file DiskChanger.hh.
openmsx::DiskChanger::DiskChanger | ( | MSXMotherBoard & | board, |
std::string | driveName, | ||
bool | createCmd = true , |
||
bool | doubleSidedDrive = true , |
||
std::function< void()> | preChangeCallback = {} |
||
) |
Definition at line 34 of file DiskChanger.cc.
References openmsx::MSXMotherBoard::getMachineID(), and tmpStrCat().
openmsx::DiskChanger::DiskChanger | ( | Reactor & | reactor, |
std::string | driveName | ||
) |
Definition at line 50 of file DiskChanger.cc.
|
override |
Definition at line 78 of file DiskChanger.cc.
References openmsx::Reactor::getDiskManipulator(), openmsx::DiskManipulator::unregisterDrive(), and openmsx::StateChangeDistributor::unregisterListener().
void openmsx::DiskChanger::changeDisk | ( | std::unique_ptr< Disk > | newDisk | ) |
Definition at line 177 of file DiskChanger.cc.
References openmsx::CommandController::getCliComm(), getDiskName(), getDriveName(), openmsx::CliComm::MEDIA, and openmsx::CliComm::update().
void openmsx::DiskChanger::createCommand | ( | ) |
Definition at line 72 of file DiskChanger.cc.
|
overridevirtual |
Implements openmsx::DiskContainer.
Definition at line 92 of file DiskChanger.cc.
|
inline |
Definition at line 57 of file DiskChanger.hh.
Referenced by openmsx::DirAsDSK::readSectorImpl().
|
overridevirtual |
Implements openmsx::DiskContainer.
Definition at line 107 of file DiskChanger.cc.
References getDriveName().
|
inline |
Definition at line 58 of file DiskChanger.hh.
|
inline |
Definition at line 59 of file DiskChanger.hh.
const DiskName & openmsx::DiskChanger::getDiskName | ( | ) | const |
Definition at line 87 of file DiskChanger.cc.
Referenced by changeDisk(), and openmsx::DiskCommand::execute().
|
inline |
Definition at line 54 of file DiskChanger.hh.
Referenced by changeDisk(), openmsx::DiskCommand::execute(), getContainerName(), openmsx::DiskCommand::help(), and openmsx::SerializeConstructorArgs< DiskChanger >::save().
|
inline |
Definition at line 71 of file DiskChanger.hh.
Referenced by openmsx::DirAsDSK::checkCaches(), openmsx::DirAsDSK::readSectorImpl(), and openmsx::DirAsDSK::writeSectorImpl().
|
overridevirtual |
Implements openmsx::DiskContainer.
Definition at line 99 of file DiskChanger.cc.
|
overridevirtual |
Implements openmsx::DiskContainer.
Definition at line 147 of file DiskChanger.cc.
References openmsx::filename.
|
inline |
Definition at line 72 of file DiskChanger.hh.
Referenced by openmsx::DirAsDSK::DirAsDSK().
|
inline |
Definition at line 56 of file DiskChanger.hh.
void openmsx::DiskChanger::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 301 of file DiskChanger.cc.
References openmsx::DISK, openmsx::DiskName, Math::e, openmsx::FileOperations::exists(), openmsx::Filename, openmsx::filename, openmsx::SectorAccessibleDisk::forceWriteProtect(), openmsx::FilePool::getFile(), openmsx::SectorAccessibleDisk::getPatches(), openmsx::DiskName::getResolved(), openmsx::File::getURL(), and openmsx::DiskName::updateAfterLoadState().
|
friend |
Definition at line 98 of file DiskChanger.hh.