xentara-plugin v1.2.1
The Xentara Plugin Framework
Loading...
Searching...
No Matches
xentara::io::Driver Class Referenceabstract

A Xentara I/O driver. More...

#include <io/Driver.hpp>

+ Inheritance diagram for xentara::io::Driver:

Classes

class  Environment
 
class  Registry
 

Public Member Functions

virtual ~Driver ()=0
 Virtual destructor.
 
virtual auto name () const -> std::string_view=0
 Gets the name of the driver.
 
virtual auto uuid () const -> utils::core::Uuid=0
 Gets the UUID of the driver.
 
virtual auto registerObjects (Registry &registry) -> void=0
 Called by the framework to regiter all driver objects.
 
virtual auto createEnvironment () -> std::unique_ptr< Environment >=0
 Called by the framework to create the runtime environment for the driver.
 
- Public Member Functions inherited from xentara::utils::tools::DisableCopy
constexpr DisableCopy () noexcept=default
 
 DisableCopy (const DisableCopy &)=delete
 
DisableCopyoperator= (const DisableCopy &)=delete
 

Detailed Description

A Xentara I/O driver.

I/O drivers implement Xentara I/O components.

See also
Writing I/O Drivers
I/O Drivers in the Xentara user manual

Constructor & Destructor Documentation

◆ ~Driver()

xentara::io::Driver::~Driver ( )
pure virtualdefault

Virtual destructor.

Member Function Documentation

◆ createEnvironment()

virtual auto xentara::io::Driver::createEnvironment ( ) -> std::unique_ptr< Environment >
pure virtual

Called by the framework to create the runtime environment for the driver.

The implementation for this method must create the run time environment for the driver.

Returns
The newly created environment. Must never return nullptr.
Exceptions
std::runtime_exception

◆ name()

virtual auto xentara::io::Driver::name ( ) const -> std::string_view
pure virtual

Gets the name of the driver.

Returns
The name of the driver, in UTF-8 encoding.

◆ registerObjects()

virtual auto xentara::io::Driver::registerObjects ( Registry registry) -> void
pure virtual

Called by the framework to regiter all driver objects.

The driver must register all component classes, all I/O batch classes, and all I/O point classes it provides.

Parameters
registryThe registry that should be used to register the classes

◆ uuid()

virtual auto xentara::io::Driver::uuid ( ) const -> utils::core::Uuid
pure virtual

Gets the UUID of the driver.