PLCnext API Documentation  22.6.0.43
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Protected Types | List of all members
Arp::System::Acf::ILibrary Class Referenceabstract

Any Acf Library shall implement this interface. More...

#include <ILibrary.hpp>

Inheritance diagram for Arp::System::Acf::ILibrary:
Inheritance graph

Public Types

typedef ILibraryPtr
 The pointer type of this interface. More...
 
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 Member Functions

 ILibrary (void)=default
 The default constructor. More...
 
virtual ~ILibrary (void)=default
 The default destructor. More...
 
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...
 

Protected Types

typedef void(* Main) (AppDomain &appDomain)
 This is the prototype of the (static) entry point or auxiliary operation of any library class. More...
 

Detailed Description

Any Acf Library shall implement this interface.

Any dynamic shared library which might be loaded by the Acf infrastructure must provide a library instance implementing this interface, which serves as entry point to the shared library code. /remarks>

Member Typedef Documentation

◆ Main

typedef void(* Arp::System::Acf::ILibrary::Main) (AppDomain &appDomain)
protected

This is the prototype of the (static) entry point or auxiliary operation of any library class.

Create the library singleton inside this operation and call it from exported entry point of any dynamic shared library MainEntry.

◆ MainEntry

typedef ILibrary&(* Arp::System::Acf::ILibrary::MainEntry) (AppDomain &appDomain)

This is the prototype of the main entry point of any library which shall be loaded dynamically by the Acf.

Any Acf library must export a function called ArpDynamicLibraryMain complying to this prototype, which is declared as extern "C" to avoid name mangling. The appDomain parameter shall be passed the the base class LibrarayBase.

◆ Ptr

The pointer type of this interface.

Constructor & Destructor Documentation

◆ ILibrary()

Arp::System::Acf::ILibrary::ILibrary ( void  )
default

The default constructor.

◆ ~ILibrary()

virtual Arp::System::Acf::ILibrary::~ILibrary ( void  )
virtualdefault

The default destructor.

Member Function Documentation

◆ GetBuildVersion()

virtual const Version& Arp::System::Acf::ILibrary::GetBuildVersion ( void  ) const
pure virtual

Gets the SDK version of the SDK used to build the shared library.

Implemented in Arp::System::Acf::LibraryBase.

◆ GetComponentFactory()

virtual IComponentFactory& Arp::System::Acf::ILibrary::GetComponentFactory ( void  )
pure virtual

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.

Implemented in Arp::System::Acf::LibraryBase.


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