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