Any Acf Library shall derive from this base class.
More...
#include <LibraryBase.hpp>
|
| LibraryBase (AppDomain &appDomain, const Version &buildVersion) |
| Constructs an isntance of class LibraryBase. More...
|
|
virtual | ~LibraryBase (void) |
| The default destructor.
|
|
IComponentFactory & | GetComponentFactory (void) override |
| Gets the component factory of this library to create instances of its provided components. More...
|
|
const Version & | GetBuildVersion (void) const override |
| Gets the build version of the SDK/Firmware which was used to build this library. More...
|
|
template<class T > |
void | RegisterComponentType (void) |
| This template operation registers the as template parameter passed component type, using the C++ typename and the static Create</> of the component type, which creates an instance of the component type. More...
|
|
template<class T > |
void | RegisterComponentType (const String &typeName) |
| This template operation registers the as template parameter passed component type, using the C++ typename and the static Create</> of the component type, which creates an instance of the component type. More...
|
|
| ILibrary (void)=default |
| The default constructor.
|
|
virtual | ~ILibrary (void)=default |
| The default destructor.
|
|
virtual IComponentFactory & | GetComponentFactory (void)=0 |
| Gets the component factory of this library to create instances of its provided components. More...
|
|
virtual const Version & | GetBuildVersion (void) const =0 |
| Gets the SDK version of the SDK used to build the shared library. More...
|
|
|
ComponentFactory | componentFactory |
| This field is used to register library specific component factory methods.
|
|
|
typedef ILibrary * | Ptr |
| The pointer type of this interface.
|
|
typedef ILibrary &(* | MainEntry) (AppDomain &appDomain) |
| This is the prototype of the main entry point of any library which shall be loaded dynamically by the Acf. More...
|
|
typedef void(* | Main) (AppDomain &appDomain) |
| This is the prototype of the (static) entry point or auxiliary operation of any library class. More...
|
|
Any Acf Library shall derive from this base class.
Any dynamic shared library which might be loaded by the Acf infrastructure should derive from this base class for easily provide the required functionality. /remarks>
◆ LibraryBase()
Arp::System::Acf::LibraryBase::LibraryBase |
( |
AppDomain & |
appDomain, |
|
|
const Version & |
buildVersion |
|
) |
| |
Constructs an isntance of class LibraryBase.
- Parameters
-
appDomain | The actual AppDomain of the application loading this library. |
buildVersion | The current build version, this should always be set to ARP_VERSION_CURRENT. |
◆ GetBuildVersion()
const Version & Arp::System::Acf::LibraryBase::GetBuildVersion |
( |
void |
| ) |
const |
|
inlineoverridevirtual |
Gets the build version of the SDK/Firmware which was used to build this library.
- Returns
- The build version of the SDK/Firmware which was used to build this library.
Implements Arp::System::Acf::ILibrary.
◆ GetComponentFactory()
Gets the component factory of this library to create instances of its provided components.
Any dynamic shared library has a component factory to create component instances dynmically configured by Acf configuration.
Implements Arp::System::Acf::ILibrary.
◆ RegisterComponentType() [1/2]
template<class T >
void Arp::System::Acf::LibraryBase::RegisterComponentType |
( |
const String & |
typeName | ) |
|
|
inline |
This template operation registers the as template parameter passed component type, using the C++ typename and the static Create</> of the component type, which creates an instance of the component type.
- Template Parameters
-
T | The component type to register for creation. |
- Parameters
-
typeName | The custom typename of the component used in .acf.config files to create an instance of this component. |
◆ RegisterComponentType() [2/2]
template<class T >
void Arp::System::Acf::LibraryBase::RegisterComponentType |
( |
void |
| ) |
|
|
inline |
This template operation registers the as template parameter passed component type, using the C++ typename and the static Create</> of the component type, which creates an instance of the component type.
- Template Parameters
-
T | The component type to register for creation. |
The documentation for this class was generated from the following file: