1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-07-25 13:24:23 +00:00

Adds multiple target versions of all the DynamicMachine-vended types.

This commit is contained in:
Thomas Harte
2018-02-09 16:31:05 -05:00
parent 043fd5d404
commit 43b682a5af
22 changed files with 304 additions and 32 deletions

View File

@@ -12,8 +12,11 @@ using namespace Analyser::Dynamic;
MultiMachine::MultiMachine(std::vector<std::unique_ptr<DynamicMachine>> &&machines) :
machines_(std::move(machines)),
configurable_(machines_),
configuration_target_(machines_),
crt_machine_(machines_) {
crt_machine_(machines_),
joystick_machine_(machines),
keyboard_machine_(machines_) {
crt_machine_.set_delegate(this);
}
@@ -26,19 +29,15 @@ CRTMachine::Machine *MultiMachine::crt_machine() {
}
JoystickMachine::Machine *MultiMachine::joystick_machine() {
return nullptr;
return &joystick_machine_;
}
KeyboardMachine::Machine *MultiMachine::keyboard_machine() {
return nullptr;
return &keyboard_machine_;
}
Configurable::Device *MultiMachine::configurable_device() {
return nullptr;
}
Utility::TypeRecipient *MultiMachine::type_recipient() {
return nullptr;
return &configurable_;
}
void MultiMachine::multi_crt_did_run_machines() {