IO::Device::Factory Class Referenceabstract

Abstract class which allows device instances to be created. More...

#include <Device.h>

Inheritance diagram for IO::Device::Factory:

Public Member Functions

virtual DevicecreateDevice (IO::Controller &controller, const char *id) const =0
 Create a new device instance. More...
 
virtual const FlashStringcontrollerClass () const =0
 Return the expected controller type for this device class, e.g. 'rs485'. More...
 
virtual const FlashStringdeviceClass () const =0
 Return the Device class name, e.g. 'r421a'. More...
 
bool operator== (const String &className) const
 

Detailed Description

Abstract class which allows device instances to be created.

Member Function Documentation

◆ controllerClass()

virtual const FlashString& IO::Device::Factory::controllerClass ( ) const
pure virtual

Return the expected controller type for this device class, e.g. 'rs485'.

The Device Manager uses this value to verify that devices are constructed using the correct controller.

Implemented in IO::RFSwitch::Device::Factory, and IO::Custom::Device::FactoryTemplate< DeviceClass >.

◆ createDevice()

virtual Device* IO::Device::Factory::createDevice ( IO::Controller controller,
const char *  id 
) const
pure virtual

Create a new device instance.

Parameters
controllerThe owning controller
idUnique identifier for the device
Return values
Device*The constructed instance

Called by DeviceManager::createDevice()

Implemented in IO::RFSwitch::Device::Factory, and IO::Custom::Device::FactoryTemplate< DeviceClass >.

◆ deviceClass()

virtual const FlashString& IO::Device::Factory::deviceClass ( ) const
pure virtual

Return the Device class name, e.g. 'r421a'.

Implemented in IO::RFSwitch::Device::Factory.

◆ operator==()

bool IO::Device::Factory::operator== ( const String className) const
inline

The documentation for this class was generated from the following file: