12class PluggingController;
31 [[nodiscard]]
const std::string&
getName()
const {
return name; }
42 [[nodiscard]]
virtual std::string_view
getClass()
const = 0;
56 virtual void unplug(EmuTime::param time);
64 return pluggingController;
67 template<
typename Archive>
68 void serialize(Archive& ar,
unsigned version);
78 std::string name, std::unique_ptr<Pluggable> dummy);
84 const std::string name;
85 const std::unique_ptr<Pluggable> dummy;
Represents something you can plug devices into.
const std::string & getName() const
Name that identifies this connector.
virtual std::string_view getClass() const =0
A Connector belong to a certain class.
Connector & operator=(Connector &&)=delete
Pluggable & getPlugged() const
Returns the Pluggable currently plugged in.
virtual std::string_view getDescription() const =0
Get a description for this connector.
void serialize(Archive &ar, unsigned version)
virtual void unplug(EmuTime::param time)
This unplugs the currently inserted Pluggable from this Connector.
PluggingController & getPluggingController() const
virtual void plug(Pluggable &device, EmuTime::param time)
This plugs a Pluggable in this Connector.
Connector(Connector &&)=delete
Connector & operator=(const Connector &)=delete
Connector(const Connector &)=delete
Central administration of Connectors and Pluggables.
This file implemented 3 utility functions: