xentara-plugin v2.0.3
The Xentara Plugin Framework
Loading...
Searching...
No Matches
xentara::skill::Element::ConcreteClass< kName, kUuid, kDisplayName > Class Template Reference

Convenience subclass of Class that implements all callbacks. More...

#include <xentara/skill/Element.hpp>

+ Inheritance diagram for xentara::skill::Element::ConcreteClass< kName, kUuid, kDisplayName >:

Static Public Member Functions

static auto instance () -> ConcreteClass &
 Gets the global instance.
 

Private Member Functions

Virtual Overrides for Class


auto name () const -> std::string_view final
 Virtual override for Class::name()
 
auto uuid () const -> utils::core::Uuid final
 Virtual override for Class::uuid()
 
auto displayName () const -> std::string_view final
 Virtual override for Class::displayName()
 

Additional Inherited Members

- Public Member Functions inherited from xentara::skill::Element::Class
virtual ~Class ()=0
 Virtual destructor.
 
- Static Public Attributes inherited from xentara::skill::Element::Class
static const std::string_view kIo
 The standard name for a generic I/O.
 
static const std::string_view kInput
 The standard name for a generic input.
 
static const std::string_view kOutput
 The standard name for a generic output.
 
static const std::string_view kDigitalIo
 The standard name for a digital I/O.
 
static const std::string_view kDigitalInput
 The standard name for a digital input.
 
static const std::string_view kDigitalOutput
 The standard name for a digital output.
 
static const std::string_view kAnalogIo
 The standard name for an analog I/O.
 
static const std::string_view kAnalogInput
 The standard name for an analog input.
 
static const std::string_view kAnalogOutput
 The standard name for an analog output.
 
static const std::string_view kVariable
 The standard name for a variable.
 
static const std::string_view kRegister
 The standard name for a register.
 
static const std::string_view kChannel
 The standard name for a channel.
 
static const std::string_view kPin
 The standard name for a pin.
 
static const std::string_view kBit
 The standard name for a bit.
 
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 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.
 
static const std::string_view kBatch
 The standard name for a generic batch.
 
static const std::string_view kGroup
 The standard name for a generic group.
 
static const std::string_view kQuery
 The standard name for a query.
 
static const std::string_view kPoll
 The standard name for a poll.
 
static const std::string_view kCommand
 The standard name for a command.
 
static const std::string_view kBatchCommand
 The standard name for a batch command.
 
static const std::string_view kTransaction
 The standard name for a transaction.
 
static const std::string_view kAcquisition
 The standard name for an acquisition.
 

Detailed Description

template<utils::tparam::String kName, utils::tparam::Uuid kUuid, utils::tparam::String kDisplayName>
class xentara::skill::Element::ConcreteClass< kName, kUuid, kDisplayName >

Convenience subclass of Class that implements all callbacks.

This class is a convenience class that implements all the virtual member functions of Class using the given template parameters. Instead of implementing your own subclass of Class, you can use a specialization of this template:

class MyElement final : public skill::Element
{
public:
using Class = ConcreteClass<"MyElement", "6f9181ce-c052-4dd6-8a54-5ae32e859527"_uuid, "my element">;
};
Meta-Information about an element class.
Definition Element.hpp:894
Convenience subclass of Class that implements all callbacks.
Definition Element.hpp:1032
Base class for elements provided by a Xentara skill.
Definition Element.hpp:82

The class provides a single global instance that can be retreived using the static member function instance(). The class has a private constructor, so you cannot instantiate you own objects.

Template Parameters
kNameA string literal containing the name of the class, in UTF-8 encoding. This name will be returned by the name() callback.
kUuidA UUID literal containing the UUID of the class. This UUID will be returned by the uuid() callback.
kDisplayNameA string literal containing the display name of the class, in UTF-8 encoding. This name will be returned by the displayName() callback.
Examples
LoadingElementConfig.cpp, and PublishingConfigAttributes.cpp.

Member Function Documentation

◆ displayName()

template<utils::tparam::String kName, utils::tparam::Uuid kUuid, utils::tparam::String kDisplayName>
auto xentara::skill::Element::ConcreteClass< kName, kUuid, kDisplayName >::displayName ( ) const -> std::string_view
finalprivatevirtual

Virtual override for Class::displayName()

This function returns the kDisplayName template parameter.

Implements xentara::skill::Element::Class.

◆ instance()

template<utils::tparam::String kName, utils::tparam::Uuid kUuid, utils::tparam::String kDisplayName>
static auto xentara::skill::Element::ConcreteClass< kName, kUuid, kDisplayName >::instance ( ) -> ConcreteClass&
static

Gets the global instance.

Returns
The global and only instance of this class

◆ name()

template<utils::tparam::String kName, utils::tparam::Uuid kUuid, utils::tparam::String kDisplayName>
auto xentara::skill::Element::ConcreteClass< kName, kUuid, kDisplayName >::name ( ) const -> std::string_view
finalprivatevirtual

Virtual override for Class::name()

This function returns the kName template parameter.

Implements xentara::skill::Element::Class.

◆ uuid()

template<utils::tparam::String kName, utils::tparam::Uuid kUuid, utils::tparam::String kDisplayName>
auto xentara::skill::Element::ConcreteClass< kName, kUuid, kDisplayName >::uuid ( ) const -> utils::core::Uuid
finalprivatevirtual

Virtual override for Class::uuid()

This function returns the kUuid template parameter.

Implements xentara::skill::Element::Class.