12class PluggingController;
29 [[nodiscard]]
const std::string&
getName()
const {
return name; }
40 [[nodiscard]]
virtual std::string_view
getClass()
const = 0;
54 virtual void unplug(EmuTime::param time);
62 return pluggingController;
65 template<
typename Archive>
66 void serialize(Archive& ar,
unsigned version);
76 std::string name, std::unique_ptr<Pluggable> dummy);
82 const std::string name;
83 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.
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 & operator=(const Connector &)=delete
Connector(const Connector &)=delete
Central administration of Connectors and Pluggables.
This file implemented 3 utility functions:
REGISTER_BASE_CLASS(Connector, "Connector")