PLCnext API Documentation 25.0.2.69
Public Member Functions | List of all members
Arp::Plc::Commons::Meta::MetaLibraryBase Class Reference

Base class for libraries providing meta data More...

#include <MetaLibraryBase.hpp>

Inheritance diagram for Arp::Plc::Commons::Meta::MetaLibraryBase:
Inheritance graph

Public Member Functions

 MetaLibraryBase (TypeDomain &typeDomain)
 DEPRECATED! Constructs an MetaLibraryBase instance. More...
 
 MetaLibraryBase (const ArpVersion &libraryVersion, TypeDomain &typeDomain)
 Constructs an MetaLibraryBase instance. More...
 
 MetaLibraryBase (const MetaLibraryBase &arg)=default
 Copy constructor.
 
MetaLibraryBaseoperator= (const MetaLibraryBase &arg)=default
 Assignment operator.
 
 ~MetaLibraryBase (void) override=default
 Destructs this instance and frees all resources.
 
TypeDomainGetTypeDomain ()
 
const char * GetNamespace (void) override
 Gets the namespace of this library. More...
 
ITypeInfoProviderGetTypeInfoProvider (bool useBackgroundDomain) override
 Gets the ITypeInfoProvider of this library. More...
 
IChangeNavigatorGetChangeNavigator (void) override
 Gets the specialized IChangeNavigator of this component. More...
 
- Public Member Functions inherited from Arp::Base::Acf::Commons::LibraryBase
 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...
 
virtual const char * GetNamespace (void)=0
 Gets the namespace of this library. More...
 
virtual ITypeInfoProviderGetTypeInfoProvider (bool useBackgroundDomain)=0
 Gets the ITypeInfoProvider of this library. More...
 
virtual IChangeNavigatorGetChangeNavigator (void)=0
 Gets the specialized IChangeNavigator of this component. More...
 

Additional Inherited Members

- Public Types inherited from Arp::Base::Acf::Commons::LibraryBase
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 Types inherited from Arp::Plc::Commons::Meta::IMetaLibrary
using Ptr = std::shared_ptr< IMetaLibrary >
 std::shared_ptr to IMetaLibrary
 
- Protected Member Functions inherited from Arp::Plc::Commons::Meta::IMetaLibrary
 IMetaLibrary (void)=default
 Constructs an IMetaLibrary instance.
 
virtual ~IMetaLibrary (void)=default
 Destructs this instance and frees all resources.
 

Detailed Description

Base class for libraries providing meta data

Constructor & Destructor Documentation

◆ MetaLibraryBase() [1/2]

Arp::Plc::Commons::Meta::MetaLibraryBase::MetaLibraryBase ( TypeDomain typeDomain)
explicit

DEPRECATED! Constructs an MetaLibraryBase instance.

Parameters
typeDomainRefrence to this library's TypeDomain

Use overload with additional libraryVersion instead.

◆ MetaLibraryBase() [2/2]

Arp::Plc::Commons::Meta::MetaLibraryBase::MetaLibraryBase ( const ArpVersion libraryVersion,
TypeDomain typeDomain 
)

Constructs an MetaLibraryBase instance.

Parameters
buildVersionVersion of the SDK used to build this library
libraryVersionVersion of this libraryTypeDomain
typeDomainRefrence to this library's TypeDomain

Member Function Documentation

◆ GetChangeNavigator()

IChangeNavigator * Arp::Plc::Commons::Meta::MetaLibraryBase::GetChangeNavigator ( void  )
overridevirtual

Gets the specialized IChangeNavigator of this component.

Returns
The change navigator of this component or nullptr if it's not provided.

Implements Arp::Plc::Commons::Meta::IMetaLibrary.

◆ GetNamespace()

const char * Arp::Plc::Commons::Meta::MetaLibraryBase::GetNamespace ( void  )
overridevirtual

Gets the namespace of this library.

Returns
The namespace of this library.

Implements Arp::Plc::Commons::Meta::IMetaLibrary.

◆ GetTypeInfoProvider()

ITypeInfoProvider & Arp::Plc::Commons::Meta::MetaLibraryBase::GetTypeInfoProvider ( bool  useBackgroundDomain)
overridevirtual

Gets the ITypeInfoProvider of this library.

Returns
The type info provider of this library.
Parameters
useBackgroundDomaintrue if the provider of the background domain should be returned, otherwise false.

Implements Arp::Plc::Commons::Meta::IMetaLibrary.


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