PLCnext API Documentation 23.6.0.37
ChangeDataInfoProvider.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/System/Core/Enumerator.hxx"
9#include "Arp/Plc/Commons/Meta/IDataInfoProvider.hpp"
10#include <map>
11
12namespace Arp { namespace Plc { namespace Commons { namespace Meta
13{
14
15// forwards
16class DataInfoProvider;
17
22{
23private: // nested types
25 class RootsEnumerator : public Enumerator<const DataInfo&>
26 {
27 public: // construcion
28 RootsEnumerator(DataInfoProvider& dataInfoProvider);
29
30 public: // Enumerator<DataInfo> operations
31 bool MoveNext(void)override;
32
33 private:
35 };
36
37public: // construction/destruction
49 ~ChangeDataInfoProvider(void) override = default;
50
51public: // IDataInfoProvider operations
53 DataInfo GetRoot(const String& name)override;
54
55private: // fields
56 DataInfoProvider& foregroundProvider;
57};
58
60// inline methods of class ChangeDataInfoProvider
61
62}}}} // end of namespace Arp::Plc::Commons::Meta
This class defines a base class for all enumerator implementations and some predefined enumerators as...
Definition: Enumerator.hxx:22
Declares the interface of the enumerator pattern, which is leaned on .NET enumerator idiom.
Definition: IEnumerator.hxx:48
Decorator for DataInfoProvider to set IsBackgroundDomain = true
Definition: ChangeDataInfoProvider.hpp:22
ChangeDataInfoProvider & operator=(ChangeDataInfoProvider &&arg)=default
Move assignment operator
DataInfo GetRoot(const String &name) override
Returns the requested root variable of the component
IEnumerator< constDataInfo & >::Ptr GetRoots(void) override
Returns an IEnumerator to enumerate all root variables of the component
ChangeDataInfoProvider(DataInfoProvider &foregroundProvider)
Constructs an ChangeDataInfoProvider instance.
ChangeDataInfoProvider(const ChangeDataInfoProvider &arg)=delete
Copy constructor.
~ChangeDataInfoProvider(void) override=default
Destructs this instance and frees all resources.
ChangeDataInfoProvider(ChangeDataInfoProvider &&arg)=default
Move constructor
ChangeDataInfoProvider & operator=(const ChangeDataInfoProvider &arg)=delete
Copy assignment operator.
Provides information of component root variables
Definition: DataInfoProvider.hpp:36
Provides detailed informations for the respective data object.
Definition: DataInfo.hpp:32
Interface to provide information about component roots
Definition: IDataInfoProvider.hpp:18
Root namespace for the PLCnext API