xentara-plugin v2.0.4
The Xentara Plugin Framework
|
Meta-Information about a skill class. More...
#include <xentara/skill/Skill.hpp>
Classes | |
class | Registry |
A registry for the element classes. More... | |
Public Member Functions | |
virtual | ~Class ()=0 |
Virtual destructor. | |
virtual auto | name () const -> std::string_view=0 |
Gets the name of the skill. | |
virtual auto | uuid () const -> utils::core::Uuid=0 |
Gets the UUID of the skill. | |
virtual auto | registerElements (Registry ®istry) -> void=0 |
Called by the framework to register all element classes and other features the skill provides. | |
virtual auto | createSkill () -> std::unique_ptr< Skill >=0 |
Called by the framework to create the actual skill. | |
Public Member Functions inherited from xentara::utils::tools::DisableCopy | |
constexpr | DisableCopy () noexcept=default |
DisableCopy (const DisableCopy &)=delete | |
DisableCopy & | operator= (const DisableCopy &)=delete |
Meta-Information about a skill class.
Each skill must have a single skill object derived from this class. The object must have static storage duration, meaning it must be a static member variable or a global variable.
|
pure virtualdefault |
Virtual destructor.
|
pure virtual |
Called by the framework to create the actual skill.
std::runtime_exception | Implementations can throw this exception (or a suitable subclass) if an error occurs. |
Implemented in xentara::io::Driver, and xentara::process::ServiceProvider.
|
pure virtual |
Gets the name of the skill.
Implemented in xentara::skill::Skill::ConcreteClass< DerivedSkill, kName, kUuid, ElementClasses >.
|
pure virtual |
Called by the framework to register all element classes and other features the skill provides.
registry | The registry that should be used to register the skill classes |
Implemented in xentara::io::Driver, xentara::process::ServiceProvider, and xentara::skill::Skill::ConcreteClass< DerivedSkill, kName, kUuid, ElementClasses >.
|
pure virtual |
Gets the UUID of the skill.
Implemented in xentara::skill::Skill::ConcreteClass< DerivedSkill, kName, kUuid, ElementClasses >.