xentara-plugin v1.2.1
The Xentara Plugin Framework
|
A class of I/O component that a driver supports. More...
#include <io/ComponentClass.hpp>
Public Member Functions | |
virtual internal | ~ComponentClass ()=0 |
Virtual destructor. | |
virtual auto | name () const -> std::string_view=0 |
Gets the name of the component class. | |
virtual auto | uuid () const -> utils::core::Uuid=0 |
Gets the UUID of the component class. | |
auto | nameHandle () const noexcept -> memory::Array::ObjectHandle< std::string > |
Gets an array handle to the name of a component. | |
auto | primaryKeyHandle () const noexcept -> memory::Array::ObjectHandle< std::string > |
Gets an array handle to the primary key of a component. | |
auto | uuidHandle () const noexcept -> memory::Array::ObjectHandle< utils::core::Uuid > |
Gets an array handle to the UUID of a component. | |
Static Public Attributes | |
Standard Names | |
static const std::string_view | kDevice |
The standard name for generic devices. | |
static const std::string_view | kSubDevice |
The standard name for generic sub devices. | |
static const std::string_view | kBus |
The standard name for a bus. | |
static const std::string_view | kPort |
The standard name for a port. | |
static const std::string_view | kPlc |
The standard name for a PLC. | |
static const std::string_view | kCpu |
The standard name for a single CPU within a redundant PLC. | |
static const std::string_view | kController |
The standard name for a bus controller. | |
static const std::string_view | kCoupler |
The standard name for a bus coupler. | |
static const std::string_view | kBoard |
The standard name for an I/O board. | |
static const std::string_view | kModule |
The standard name for a module for a board, PLC, controller, coupler etc. | |
static const std::string_view | kIoGroup |
The standard name for a group of generic I/O point on a board. | |
static const std::string_view | kInputGroup |
The standard name for a group of generic inputs on a board. | |
static const std::string_view | kOutputGroup |
The standard name for a group of generic outputs on a board. | |
static const std::string_view | kChannelGroup |
The standard name for a group of channels on a board. | |
static const std::string_view | kInterface |
The standard name for a generic interface. | |
static const std::string_view | kTerminal |
The standard name for a terminal with multiple I/Os. | |
static const std::string_view | kConnector |
The standard name for a connector with multiple I/Os. | |
static const std::string_view | kRack |
The standard name for a rack of I/Os. | |
static const std::string_view | kSlot |
The standard name for a slot in a module, terminal, rack, board etc. | |
static const std::string_view | kServer |
The standard name for the server in a client/server architecture. | |
static const std::string_view | kClient |
The standard name for the client in a client/server architecture. | |
static const std::string_view | kMaster |
The standard name for the master in a master/slave architecture. | |
static const std::string_view | kSlave |
The standard name for the slave in a master/slave architecture. | |
static const std::string_view | kNode |
The standard name for a generic node. | |
Protected Member Functions | |
auto | config () -> memory::Array & |
Gets the array object used for the configuration attributes. | |
A class of I/O component that a driver supports.
|
pure virtualdefault |
Virtual destructor.
|
protected |
Gets the array object used for the configuration attributes.
This function returns the object that the framework will be using to allocate the memory block that contains the configuration attributes. You can call this function in the constructor to add confioguration attributes of your own.
You do not need to add the entire configuration of the components to this array, only the configuration parameters you intend to publish as Xentara attributes.
|
pure virtual |
Gets the name of the component class.
To keep naming conventions as consistent as possible between drivers, Xentara provides a set of predefined type names. All things being equal, you should prefer using one of the predefines names. If the documentation, the specification, or common usage for your I/O method use different nomenclature, however, you should prefer that over the standard names.
|
noexcept |
Gets an array handle to the name of a component.
|
noexcept |
Gets an array handle to the primary key of a component.
|
pure virtual |
Gets the UUID of the component class.
|
noexcept |
Gets an array handle to the UUID of a component.
|
static |
The standard name for an I/O board.
|
static |
The standard name for a bus.
|
static |
The standard name for a group of channels on a board.
|
static |
The standard name for the client in a client/server architecture.
|
static |
The standard name for a connector with multiple I/Os.
|
static |
The standard name for a bus controller.
|
static |
The standard name for a bus coupler.
|
static |
The standard name for a single CPU within a redundant PLC.
|
static |
The standard name for generic devices.
|
static |
The standard name for a group of generic inputs on a board.
|
static |
The standard name for a generic interface.
|
static |
The standard name for a group of generic I/O point on a board.
|
static |
The standard name for the master in a master/slave architecture.
|
static |
The standard name for a module for a board, PLC, controller, coupler etc.
|
static |
The standard name for a generic node.
|
static |
The standard name for a group of generic outputs on a board.
|
static |
The standard name for a PLC.
|
static |
The standard name for a port.
|
static |
The standard name for a rack of I/Os.
|
static |
The standard name for the server in a client/server architecture.
|
static |
The standard name for the slave in a master/slave architecture.
|
static |
The standard name for a slot in a module, terminal, rack, board etc.
|
static |
The standard name for generic sub devices.
|
static |
The standard name for a terminal with multiple I/Os.