43 return "HotPlugCapableDevice";
57 virtual std::shared_ptr<DefaultDevice>
createDevice(
const std::string& identifier) = 0;
69 virtual const std::map<std::string, std::shared_ptr<DefaultDevice>>&
getManagedDevices()
const = 0;
virtual void destroyDevice(std::shared_ptr< DefaultDevice > device)=0
Destroys a device instance and performs driver-specific cleanup.
virtual std::shared_ptr< DefaultDevice > createDevice(const std::string &identifier)=0
Factory method to create a new device instance.
virtual ~HotPlugCapableDevice()=default
HotPlugCapableDevice()=default
static const char * getDeviceName()
Static name used for LOGGING purposes.
virtual const std::map< std::string, std::shared_ptr< DefaultDevice > > & getManagedDevices() const =0
Provides a unified map view of currently managed devices.
virtual std::vector< std::string > discoverConnectedDeviceIdentifiers()=0
Discovers currently connected devices of this driver's type.
Namespace to encapsulate INDI client, drivers, and mediator classes.