DDS  ver. 3.4
Topology.h
Go to the documentation of this file.
1 // Copyright 2014 GSI, Inc. All rights reserved.
2 //
3 //
4 //
5 
6 #ifndef DDS_TOPOLOGY_H
7 #define DDS_TOPOLOGY_H
8 
9 // STD
10 #include <memory>
11 // DDS
12 #include "TopoCollection.h"
13 #include "TopoGroup.h"
14 #include "TopoTask.h"
15 
16 namespace dds
17 {
18  namespace topology_api
19  {
20  class CTopoCore;
21 
22  class CTopology
23  {
24  public:
26  CTopology();
27 
29  ~CTopology();
30 
34  CTopology(const std::string& _fileName);
35 
39  CTopology(const std::string& _fileName, const std::string& _schemaFileName);
40 
43  std::string getName() const;
44 
46  std::string getFilepath() const;
47 
50  uint32_t getHash() const;
51 
54 
57  const STopoRuntimeTask& getRuntimeTaskById(Id_t _id) const;
58 
62 
65  const STopoRuntimeTask& getRuntimeTaskByIdPath(const std::string& _idPath) const;
66 
69  const STopoRuntimeCollection& getRuntimeCollectionByIdPath(const std::string& _idPath) const;
70 
74  STopoRuntimeTask::Condition_t _condition = nullptr) const;
75 
79  STopoRuntimeCollection::Condition_t _condition = nullptr) const;
80 
84  const std::string& _pathPattern) const;
85 
89  const std::string& _pathPattern) const;
90 
96  std::pair<size_t, size_t> getRequiredNofAgents(size_t _defaultNumSlots) const;
97 
101  size_t getRequiredNofAgents() const;
102 
104  size_t getTotalNofTasks() const;
105 
106  private:
107  std::shared_ptr<CTopoCore> m_topo;
108  };
109  } // namespace topology_api
110 } // namespace dds
111 
112 #endif /* DDS_TOPOLOGY_H */
~CTopology()
Destructor.
Definition: Topology.cpp:30
uint32_t getHash() const
Returns topology hash.
Definition: Topology.cpp:49
std::function< bool(std::pair< Id_t, const STopoRuntimeTask & >)> Condition_t
Definition: TopoTask.h:104
const STopoRuntimeCollection & getRuntimeCollectionByIdPath(const std::string &_idPath) const
Returns runtime collection by path.
Definition: Topology.cpp:69
const STopoRuntimeTask & getRuntimeTaskById(Id_t _id) const
Returns runtime task by ID.
Definition: Topology.cpp:54
std::pair< STopoRuntimeCollection::FilterIterator_t, STopoRuntimeCollection::FilterIterator_t > FilterIteratorPair_t
Definition: TopoCollection.h:65
std::shared_ptr< CTopoGroup > Ptr_t
Definition: TopoGroup.h:18
Definition: TopoTask.h:101
size_t getTotalNofTasks() const
Returns total number of tasks in the topology.
Definition: Topology.cpp:107
const STopoRuntimeTask & getRuntimeTaskByIdPath(const std::string &_idPath) const
Returns runtime task by path.
Definition: Topology.cpp:64
uint64_t Id_t
Definition: TopoDef.h:15
STopoRuntimeCollection::FilterIteratorPair_t getRuntimeCollectionIteratorMatchingPath(const std::string &_pathPattern) const
Returns runtime collection filter iterator matching the collection path in the topology.
Definition: Topology.cpp:91
std::string getFilepath() const
Returns topology filepath or empty string if topology is not initialized.
Definition: Topology.cpp:44
Definition: AgentConnectionManager.h:13
std::string getName() const
Returns topology name.
Definition: Topology.cpp:39
CTopoGroup::Ptr_t getMainGroup() const
Returns shared pointer to the main group of the topology.
Definition: Topology.cpp:34
STopoRuntimeTask::FilterIteratorPair_t getRuntimeTaskIteratorMatchingPath(const std::string &_pathPattern) const
Returns runtime task filter iterator matching the task path in the topology.
Definition: Topology.cpp:85
Definition: Topology.h:22
const STopoRuntimeCollection & getRuntimeCollectionById(Id_t _id) const
Returns runtime collection by ID.
Definition: Topology.cpp:59
STopoRuntimeCollection::FilterIteratorPair_t getRuntimeCollectionIterator(STopoRuntimeCollection::Condition_t _condition=nullptr) const
Returns runtime collection filter iterator.
Definition: Topology.cpp:79
size_t getRequiredNofAgents() const
Returns required number of agents and slots for the topology as std::pair.
Definition: Topology.cpp:102
std::pair< STopoRuntimeTask::FilterIterator_t, STopoRuntimeTask::FilterIterator_t > FilterIteratorPair_t
Definition: TopoTask.h:108
CTopology()
Default constructor.
Definition: Topology.cpp:13
std::function< bool(std::pair< Id_t, const STopoRuntimeCollection & >)> Condition_t
Definition: TopoCollection.h:60
STopoRuntimeTask::FilterIteratorPair_t getRuntimeTaskIterator(STopoRuntimeTask::Condition_t _condition=nullptr) const
Returns runtime task filter iterator.
Definition: Topology.cpp:74
Definition: TopoCollection.h:57