PLCnext API Documentation 25.0.2.69
MetaLibraryBase.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Acf/LibraryBase.hpp"
9#include "Arp/Plc/Commons/Meta/IMetaLibrary.hpp"
10#include "Arp/Plc/Commons/Meta/TypeInfoProvider.hpp"
11namespace Arp { namespace Plc { namespace Commons { namespace Meta
12{
13
14using namespace Arp::System::Acf;
16
19{
20public: // construction/destruction
21 ARP_DEPRECATED("Use overload with additional libraryVersion instead.")
22 explicit MetaLibraryBase(TypeDomain& typeDomain);
23 MetaLibraryBase(const ArpVersion& libraryVersion, TypeDomain& typeDomain);
25 MetaLibraryBase(const MetaLibraryBase& arg) = default;
29 ~MetaLibraryBase(void) override = default;
30
31public: // setter/getter operations
32 TypeDomain& GetTypeDomain();
33
34public: // IMetaLibrary operations
35 const char* GetNamespace(void)override;
36 ITypeInfoProvider& GetTypeInfoProvider(bool useBackgroundDomain)override;
38
39private: // fields
40 TypeInfoProvider typeInfoProvider;
41};
42
43}}}} // end of namespace Arp::Plc::Commons::Meta
This class serves as base class of all Library classes in Arp component projects.
Definition: LibraryBase.hpp:18
This class compounds Arp build version and infos.
Definition: ArpVersion.hpp:21
Enables switching of counterparts during download change
Definition: IChangeNavigator.hpp:17
Interface for all libraries providing meta data
Definition: IMetaLibrary.hpp:19
Interface to type information of a library
Definition: ITypeInfoProvider.hpp:24
Base class for libraries providing meta data
Definition: MetaLibraryBase.hpp:19
MetaLibraryBase(TypeDomain &typeDomain)
DEPRECATED! Constructs an MetaLibraryBase instance.
Definition: MetaLibraryBase.cpp:14
IChangeNavigator * GetChangeNavigator(void) override
Gets the specialized IChangeNavigator of this component.
Definition: MetaLibraryBase.cpp:44
MetaLibraryBase & operator=(const MetaLibraryBase &arg)=default
Assignment operator.
ITypeInfoProvider & GetTypeInfoProvider(bool useBackgroundDomain) override
Gets the ITypeInfoProvider of this library.
Definition: MetaLibraryBase.cpp:39
const char * GetNamespace(void) override
Gets the namespace of this library.
Definition: MetaLibraryBase.cpp:34
MetaLibraryBase(const MetaLibraryBase &arg)=default
Copy constructor.
~MetaLibraryBase(void) override=default
Destructs this instance and frees all resources.
Provides type information of one library
Definition: TypeInfoProvider.hpp:20
Container for the type information of a library
Definition: TypeDomain.hpp:26
Namespace for the type information of the Meta component
This is the namespace of the Application Component Framework.
Definition: ComponentBase.hpp:72
Root namespace for the PLCnext API
class ARP_DEPRECATED("Use Arp::Enum<T> instead.") EnumStrings
Deprecated! The class implements an adapter for enums to define the string literals of the enum entri...
Definition: EnumStrings.hxx:38