PLCnext API Documentation 23.6.0.37
|
Base class for a library providing extension modules More...
#include <ModuleLibraryBase.hxx>
Public Member Functions | |
const ModuleFactory< TModuleInterface > & | GetFactory () const |
Returns a const reference to the ModuleFactory More... | |
Protected Member Functions | |
ModuleLibraryBase (AppDomain &appDomain) | |
Constructs an ModuleLibraryBase instance. | |
ModuleLibraryBase (const ModuleLibraryBase &arg)=default | |
Copy constructor. | |
ModuleLibraryBase (ModuleLibraryBase &&arg) noexcept=default | |
Move constructor. | |
ModuleLibraryBase & | operator= (const ModuleLibraryBase &arg)=default |
Copy-assignment operator. | |
ModuleLibraryBase & | operator= (ModuleLibraryBase &&arg) noexcept=default |
Move-assignment operator. | |
virtual | ~ModuleLibraryBase (void) noexcept=default |
Destructs this instance and frees all resources. | |
ModuleFactory< TModuleInterface > & | GetFactory () |
Returns a non-const reference to the ModuleFactory More... | |
Base class for a library providing extension modules
TModuleInterface | Type of the base class for the modules |
This class is used as the starting point for the module infrastructure to create module implementations. Additionally this class sets up the AppDomain for this library. If RSC should be used the constructor of the derived class must intialize the AppDomain for RSC. This class knows nothing of RSC.
The library must provide a function that creates an object of a derived class and returns a reference to that object. The library object is intended to be a singleton and using a static class instance in the called function is preferred.
|
protected |
Returns a non-const reference to the ModuleFactory
Use this function to register factory funtions for modules.
const ModuleFactory< TModuleInterface > & Arp::System::Commons::Extensibility::ModuleLibraryBase< TModuleInterface >::GetFactory |
Returns a const reference to the ModuleFactory
Use this function to create modules.