PLCnext API Documentation 25.0.2.69
Public Types | Public Member Functions | List of all members
Arp::Base::Acf::Commons::LibraryBase Class Reference

This class serves as base class of all Library classes in Arp component projects. More...

#include <LibraryBase.hpp>

Inheritance diagram for Arp::Base::Acf::Commons::LibraryBase:
Inheritance graph

Public Types

using FactoryMethod = IComponentFactory::FactoryMethod
 The prototype of the component factory method.
 
using FactoryMethodCompat = IComponentFactory::FactoryMethodCompat
 The deprecated prototype of the component factory method.
 
- Public Types inherited from Arp::Base::Acf::Commons::ILibrary
using MainEntry = ILibrary &(*)(void)
 This is the prototype of the main entry point of any Arp library which shall be loaded dynamically by the Acf. More...
 

Public Member Functions

 LibraryBase (const ArpVersion &libraryVersion=ArpVersion{})
 Constructs a LibraryBase instance. More...
 
 LibraryBase (const LibraryBase &arg)=delete
 
 LibraryBase (LibraryBase &&arg) noexcept
 The default move constructor. More...
 
LibraryBaseoperator= (const LibraryBase &arg)=delete
 
LibraryBaseoperator= (LibraryBase &&arg) noexcept
 The default move-assignment operator. More...
 
 ~LibraryBase (void) override
 The default destructor.
 
void Initialize (void) override
 Initializes this library. More...
 
void Dispose (void) override
 Disposes this library. More...
 
IComponentFactoryGetComponentFactory (void) override
 Gets the component factory of this library to create instances of its provided components. More...
 
const ArpVersionGetBuildVersion (void) const override
 Gets the version of the firmware or SDK which was used to build the shared library. More...
 
const ArpVersionGetLibraryVersion (void) const override
 Gets the version of the library provided by its author. More...
 
String GetLibraryInfoItem (LibraryInfoKind kind) const override
 Gets additional information about the library More...
 
template<class T >
void AddComponentType (void)
 Registers a type of a component of this library. More...
 
template<class T >
void RegisterComponentType (void)
 Registers a type of a component of this library. More...
 
template<class T >
void RegisterComponentType (const String &typeName)
 Registers a type of a component of this library. More...
 
Impl & GetImpl (void)
 For internal use only. More...
 
const Impl & GetImpl (void) const
 
- Public Member Functions inherited from Arp::Base::Acf::Commons::ILibrary
 ILibrary (void)=default
 The default constructor.
 
 ILibrary (ILibrary &&arg) noexcept=default
 The move constructor. More...
 
 ILibrary (const ILibrary &arg)=delete
 The copy constructor is deleted. More...
 
ILibraryoperator= (ILibrary &&arg) noexcept=default
 The move assignment operator. More...
 
ILibraryoperator= (const ILibrary &arg)=delete
 The copy assignment operator is deleted. More...
 
virtual ~ILibrary (void)=default
 The virtual default destructor.
 
virtual void Initialize (void)=0
 Initializes this library. More...
 
virtual void Dispose (void)=0
 Disposes this library. More...
 
virtual IComponentFactoryGetComponentFactory (void)=0
 Gets the component factory of this library to create instances of its provided components. More...
 
virtual const ArpVersionGetBuildVersion (void) const =0
 Gets the version of the firmware or SDK which was used to build the shared library. More...
 
virtual const ArpVersionGetLibraryVersion (void) const =0
 Gets the version of the library provided by its author. More...
 
virtual String GetLibraryInfoItem (LibraryInfoKind kind) const =0
 Gets additional information about the library More...
 

Detailed Description

This class serves as base class of all Library classes in Arp component projects.

Constructor & Destructor Documentation

◆ LibraryBase() [1/2]

Arp::Base::Acf::Commons::LibraryBase::LibraryBase ( const ArpVersion libraryVersion = ArpVersion{})
explicit

Constructs a LibraryBase instance.

Parameters
libraryVersionThe version of this library.

◆ LibraryBase() [2/2]

Arp::Base::Acf::Commons::LibraryBase::LibraryBase ( LibraryBase &&  arg)
defaultnoexcept

The default move constructor.

Parameters
argThe argument to move.

Member Function Documentation

◆ AddComponentType()

template<class T >
void Arp::Base::Acf::Commons::LibraryBase::AddComponentType ( void  )
inline

Registers a type of a component of this library.

Template Parameters
TThe type of the component to register.

◆ Dispose()

void Arp::Base::Acf::Commons::LibraryBase::Dispose ( void  )
overridevirtual

Disposes this library.

Implements Arp::Base::Acf::Commons::ILibrary.

◆ GetBuildVersion()

const ArpVersion & Arp::Base::Acf::Commons::LibraryBase::GetBuildVersion ( void  ) const
overridevirtual

Gets the version of the firmware or SDK which was used to build the shared library.

Implements Arp::Base::Acf::Commons::ILibrary.

◆ GetComponentFactory()

IComponentFactory & Arp::System::Acf::LibraryBase::GetComponentFactory ( void  )
overridevirtual

Gets the component factory of this library to create instances of its provided components.

Implements Arp::Base::Acf::Commons::ILibrary.

◆ GetImpl()

const LibraryBase::Impl & Arp::Base::Acf::Commons::LibraryBase::GetImpl ( void  )

For internal use only.

Returns
The implementation instance of this class.

◆ GetLibraryInfoItem()

String Arp::Base::Acf::Commons::LibraryBase::GetLibraryInfoItem ( LibraryInfoKind  kind) const
overridevirtual

Gets additional information about the library

Implements Arp::Base::Acf::Commons::ILibrary.

◆ GetLibraryVersion()

const ArpVersion & Arp::Base::Acf::Commons::LibraryBase::GetLibraryVersion ( void  ) const
overridevirtual

Gets the version of the library provided by its author.

Implements Arp::Base::Acf::Commons::ILibrary.

◆ Initialize()

void Arp::Base::Acf::Commons::LibraryBase::Initialize ( void  )
overridevirtual

Initializes this library.

Implements Arp::Base::Acf::Commons::ILibrary.

◆ operator=()

LibraryBase & Arp::Base::Acf::Commons::LibraryBase::operator= ( LibraryBase &&  arg)
defaultnoexcept

The default move-assignment operator.

Parameters
argThe argument to move.
Returns
This instance.

◆ RegisterComponentType() [1/2]

template<class T >
void Arp::Base::Acf::Commons::LibraryBase::RegisterComponentType ( const String typeName)
inline

Registers a type of a component of this library.

DEPRECATED.

Template Parameters
TThe type of the component to register.
Parameters
typeNameThe explicit given type name of the component to register.

◆ RegisterComponentType() [2/2]

template<class T >
void Arp::Base::Acf::Commons::LibraryBase::RegisterComponentType ( void  )
inline

Registers a type of a component of this library.

DEPRECATED.

Template Parameters
TThe type of the component to register.

The documentation for this class was generated from the following files: