PLCnext API Documentation 25.0.2.69
TypeInfoProvider.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Plc/Commons/Meta/ITypeInfoProvider.hpp"
9#include "Arp/Plc/Commons/Meta/TypeSystem/TypeDomain.hpp"
10
11namespace Arp { namespace Plc { namespace Commons { namespace Meta
12{
13
14
16
17
20{
21public: // construction/destruction
22
23 TypeInfoProvider(TypeDomain& typeDomain);
25 TypeInfoProvider(const TypeInfoProvider& arg) = default;
33 ~TypeInfoProvider(void) override = default;
34
35public: // setter/getter operations
36 TypeDomain& GetTypeDomain(void);
37
38public: // ITypeInfoProvider operations
41 TypeInfo GetTypeInfo(const TypeIdentifier& typeId)override;
42 ChildTypeInfo GetChildTypeInfo(const TypeIdentifier& type, const String& childName)override;
43
44private: // fields
45 TypeDomain& typeDomain;
46};
47
48}}}} // end of namespace Arp::Plc::Commons::Meta
Declares the interface of the enumerator pattern, which is leaned on .NET enumerator idiom.
Definition: IEnumerator.hxx:49
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Provides detailed type information of a child within TypeBrowser interface.
Definition: ChildTypeInfo.hpp:27
Interface to type information of a library
Definition: ITypeInfoProvider.hpp:24
Identifies a type descriptions
Definition: TypeIdentifier.hpp:25
Provides type information of one library
Definition: TypeInfoProvider.hpp:20
TypeInfoProvider(TypeDomain &typeDomain)
Constructs an TypeInfoProvider instance.
Definition: TypeInfoProvider.cpp:12
~TypeInfoProvider(void) override=default
Destructs this instance and frees all resources.
IEnumerator< TypeInfo >::Ptr GetTypes(void) override
Gets a IEnumerator over all TypeInfos of this library
Definition: TypeInfoProvider.cpp:17
TypeInfoProvider(const TypeInfoProvider &arg)=default
Copy constructor.
TypeInfoProvider & operator=(const TypeInfoProvider &arg)=default
Copy assignment operator.
TypeInfoProvider & operator=(TypeInfoProvider &&arg)=default
Move assignment operator.
IEnumerator< ChildTypeInfo >::Ptr GetChilds(const TypeIdentifier &type) override
Gets a IEnumerator over all ChildTypeInfos of the type
Definition: TypeInfoProvider.cpp:22
ChildTypeInfo GetChildTypeInfo(const TypeIdentifier &type, const String &childName) override
Gets the ChildTypeInfo of a type's child
Definition: TypeInfoProvider.cpp:52
TypeInfo GetTypeInfo(const TypeIdentifier &typeId) override
Gets the TypeInfo of a type
Definition: TypeInfoProvider.cpp:37
TypeInfoProvider(TypeInfoProvider &&arg)=default
Move constructor.
Provides detailed type information within TypeBrowser interface.
Definition: TypeInfo.hpp:28
Container for the type information of a library
Definition: TypeDomain.hpp:26
Namespace for the type information of the Meta component
Root namespace for the PLCnext API