PLCnext API Documentation 23.6.0.37
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 (AppDomain &appDomain, const Version &buildVersion, 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::System::Acf::LibraryBase
 LibraryBase (AppDomain &appDomain, const Version &buildVersion)
 Constructs an isntance of class LibraryBase. More...
 
virtual ~LibraryBase (void)
 The default destructor.
 
IComponentFactoryGetComponentFactory (void) override
 Gets the component factory of this library to create instances of its provided components. More...
 
const VersionGetBuildVersion (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...
 
- Public Member Functions inherited from Arp::System::Acf::ILibrary
 ILibrary (void)=default
 The default constructor.
 
virtual ~ILibrary (void)=default
 The default destructor.
 
virtual IComponentFactoryGetComponentFactory (void)=0
 Gets the component factory of this library to create instances of its provided components. More...
 
virtual const VersionGetBuildVersion (void) const =0
 Gets the SDK version of the SDK used to build the shared 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::System::Acf::ILibrary
typedef ILibraryPtr
 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...
 
- Public Types inherited from Arp::Plc::Commons::Meta::IMetaLibrary
using Ptr = std::shared_ptr< IMetaLibrary >
 std::shared_ptr to IMetaLibrary
 
- Protected Types inherited from Arp::System::Acf::ILibrary
typedef void(* Main) (AppDomain &appDomain)
 This is the prototype of the (static) entry point or auxiliary operation of any library class. More...
 
- 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.
 
- Protected Attributes inherited from Arp::System::Acf::LibraryBase
ComponentFactory componentFactory
 This field is used to register library specific component factory methods.
 

Detailed Description

Base class for libraries providing meta data

Constructor & Destructor Documentation

◆ MetaLibraryBase()

Arp::Plc::Commons::Meta::MetaLibraryBase::MetaLibraryBase ( AppDomain appDomain,
const Version buildVersion,
TypeDomain typeDomain 
)
inline

Constructs an MetaLibraryBase instance.

Parameters
appDomainReference to the current AppDomain
buildVersionVersion of this library
typeDomainRefrence to this library's TypeDomain

Member Function Documentation

◆ GetChangeNavigator()

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

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  )
inlineoverridevirtual

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)
inlineoverridevirtual

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 file: