19class ActivateMachineCommand;
23class CommandController;
24class CommandLineParser;
26class CreateMachineCommand;
27class DeleteMachineCommand;
32class EventDistributor;
35class GetClipboardCommand;
37class GlobalCommandController;
42class InputEventGenerator;
44class ListMachinesCommand;
52class RestoreMachineCommand;
54class SetClipboardCommand;
57class SoftwareInfoTopic;
58class StoreMachineCommand;
60class TclCallbackMessages;
61class TestMachineCommand;
109 [[nodiscard]]
static std::vector<std::string>
getHwConfigs(std::string_view type);
124 using Board = std::shared_ptr<MSXMotherBoard>;
133 [](
auto& b) -> std::string_view {
return b->getMachineID(); });
136 void createMachineSetting();
137 void switchBoard(
Board newBoard);
138 void deleteBoard(
Board board);
144 bool signalEvent(
const Event& event)
override;
154 std::unique_ptr<Shortcuts> shortcuts;
155 std::unique_ptr<RTScheduler> rtScheduler;
156 std::unique_ptr<EventDistributor> eventDistributor;
157 std::unique_ptr<GlobalCliComm> globalCliComm;
158 std::unique_ptr<GlobalCommandController> globalCommandController;
159 std::unique_ptr<GlobalSettings> globalSettings;
160 std::unique_ptr<InputEventGenerator> inputEventGenerator;
161 std::unique_ptr<SymbolManager> symbolManager;
162 std::unique_ptr<ImGuiManager> imGuiManager;
163 std::unique_ptr<Display> display;
164 std::unique_ptr<Mixer> mixer;
165 std::unique_ptr<DiskFactory> diskFactory;
166 std::unique_ptr<DiskManipulator> diskManipulator;
167 std::unique_ptr<DiskChanger> virtualDrive;
168 std::unique_ptr<FilePool> filePool;
170 std::unique_ptr<EnumSetting<int>> machineSetting;
171 std::unique_ptr<UserSettings> userSettings;
172 std::unique_ptr<RomDatabase> softwareDatabase;
174 std::unique_ptr<AfterCommand> afterCommand;
175 std::unique_ptr<ExitCommand> exitCommand;
176 std::unique_ptr<MessageCommand> messageCommand;
177 std::unique_ptr<MachineCommand> machineCommand;
178 std::unique_ptr<TestMachineCommand> testMachineCommand;
179 std::unique_ptr<CreateMachineCommand> createMachineCommand;
180 std::unique_ptr<DeleteMachineCommand> deleteMachineCommand;
181 std::unique_ptr<ListMachinesCommand> listMachinesCommand;
182 std::unique_ptr<ActivateMachineCommand> activateMachineCommand;
183 std::unique_ptr<StoreMachineCommand> storeMachineCommand;
184 std::unique_ptr<RestoreMachineCommand> restoreMachineCommand;
185 std::unique_ptr<GetClipboardCommand> getClipboardCommand;
186 std::unique_ptr<SetClipboardCommand> setClipboardCommand;
187 std::unique_ptr<AviRecorder> aviRecordCommand;
188 std::unique_ptr<ConfigInfo> extensionInfo;
189 std::unique_ptr<ConfigInfo> machineInfo;
190 std::unique_ptr<RealTimeInfo> realTimeInfo;
191 std::unique_ptr<SoftwareInfoTopic> softwareInfoTopic;
192 std::unique_ptr<TclCallbackMessages> tclCallbackMessages;
201 std::vector<Board> boards;
204 int blockedCounter = 0;
206 bool fullyStarted =
false;
Represents the output window/screen of openMSX.
This class contains settings that are used by several other class (including some singletons).
Generic Gang-of-Four Observer class, templatized edition.
Contains the main loop of openMSX.
GlobalSettings & getGlobalSettings()
ImGuiManager & getImGuiManager()
MSXMotherBoard * getMotherBoard() const
AviRecorder & getRecorder() const
std::shared_ptr< MSXMotherBoard > Board
CommandController & getCommandController()
DiskManipulator & getDiskManipulator()
GlobalCommandController & getGlobalCommandController()
InfoCommand & getOpenMSXInfoCommand()
void switchMachine(const std::string &machine)
bool isFullyStarted() const
EnumSetting< int > & getMachineSetting()
DiskFactory & getDiskFactory()
GlobalCliComm & getGlobalCliComm()
Board createEmptyMotherBoard()
Shortcuts & getShortcuts()
RTScheduler & getRTScheduler()
Interpreter & getInterpreter()
const HotKey & getHotKey() const
void replaceBoard(MSXMotherBoard &oldBoard, Board newBoard)
std::string_view getMachineID() const
EventDistributor & getEventDistributor()
SymbolManager & getSymbolManager() const
const MsxChar2Unicode & getMsxChar2Unicode() const
static std::vector< std::string > getHwConfigs(std::string_view type)
InputEventGenerator & getInputEventGenerator()
void runStartupScripts(const CommandLineParser &parser)
RomDatabase & getSoftwareDatabase()
Board getMachine(std::string_view machineID) const
auto getMachineIDs() const
This file implemented 3 utility functions:
std::variant< KeyUpEvent, KeyDownEvent, MouseMotionEvent, MouseButtonUpEvent, MouseButtonDownEvent, MouseWheelEvent, JoystickAxisMotionEvent, JoystickHatEvent, JoystickButtonUpEvent, JoystickButtonDownEvent, OsdControlReleaseEvent, OsdControlPressEvent, WindowEvent, TextEvent, FileDropEvent, QuitEvent, FinishFrameEvent, CliCommandEvent, GroupEvent, BootEvent, FrameDrawnEvent, BreakEvent, SwitchRendererEvent, TakeReverseSnapshotEvent, AfterTimedEvent, MachineLoadedEvent, MachineActivatedEvent, MachineDeactivatedEvent, MidiInReaderEvent, MidiInWindowsEvent, MidiInCoreMidiEvent, MidiInCoreMidiVirtualEvent, MidiInALSAEvent, Rs232TesterEvent, Rs232NetEvent, ImGuiDelayedActionEvent, ImGuiActiveEvent > Event
constexpr auto transform(Range &&range, UnaryOp op)