node.h
Go to the documentation of this file.
1 // Launch configuration for a single Node
2 // Author: Max Schwarz <max.schwarz@uni-bonn.de>
3 
4 #ifndef ROSMON_LAUNCH_NODE_H
5 #define ROSMON_LAUNCH_NODE_H
6 
7 #include <string>
8 #include <map>
9 #include <memory>
10 #include <vector>
11 
12 #include <ros/time.h>
13 
14 namespace rosmon
15 {
16 
17 namespace launch
18 {
19 
20 class Node
21 {
22 public:
23  typedef std::shared_ptr<Node> Ptr;
24  typedef std::shared_ptr<const Node> ConstPtr;
25 
26  Node(std::string name, std::string package, std::string type);
27 
28  void setRemappings(const std::map<std::string, std::string>& remappings);
29  void addExtraArguments(const std::string& argString);
30  void setNamespace(const std::string& ns);
31  void setExtraEnvironment(const std::map<std::string, std::string>& env);
32  void setCoredumpsEnabled(bool on);
33 
34  void setRespawn(bool respawn);
36 
37  void setLaunchPrefix(const std::string& launchPrefix);
38 
39  void setWorkingDirectory(const std::string& workingDirectory);
40 
41  void setClearParams(bool on);
42 
43  void setStopTimeout(double timeout);
44 
45  void setMemoryLimit(uint64_t memoryLimitByte);
46 
47  void setCPULimit(double cpuLimit);
48 
49  void setMuted(bool muted);
50  void setStdoutDisplayed(bool showStdout);
51 
52  std::string name() const
53  { return m_name; }
54 
55  std::string package() const
56  { return m_package; }
57 
58  std::string type() const
59  { return m_type; }
60 
61  std::string executable() const
62  { return m_executable; }
63 
64  std::string namespaceString() const
65  { return m_namespace; }
66 
67  std::map<std::string, std::string> remappings() const
68  { return m_remappings; }
69 
70  std::vector<std::string> extraArguments() const
71  { return m_extraArgs; }
72 
73  std::map<std::string, std::string> extraEnvironment() const
74  { return m_extraEnvironment; }
75 
76  bool respawn() const
77  { return m_respawn; }
78 
80  { return m_respawnDelay; }
81 
82  void setRequired(bool required);
83 
84  bool required() const
85  { return m_required; }
86 
87  std::vector<std::string> launchPrefix() const
88  { return m_launchPrefix; }
89 
90  bool coredumpsEnabled() const
91  { return m_coredumpsEnabled; }
92 
93  std::string workingDirectory() const
94  { return m_workingDirectory; }
95 
96  bool clearParams() const
97  { return m_clearParams; }
98 
99  double stopTimeout() const
100  { return m_stopTimeout; }
101 
102  uint64_t memoryLimitByte() const
103  { return m_memoryLimitByte;}
104 
105  double cpuLimit() const
106  { return m_cpuLimit; }
107 
108  bool isMuted() const
109  { return m_muted; }
110 
111  bool stdoutDisplayed() const
112  { return m_stdoutDisplayed; }
113 private:
114  std::string m_name;
115  std::string m_package;
116  std::string m_type;
117 
118  std::string m_executable;
119 
120  std::string m_namespace;
121 
122  std::map<std::string, std::string> m_remappings;
123  std::vector<std::string> m_extraArgs;
124 
125  std::map<std::string, std::string> m_extraEnvironment;
126 
127  bool m_respawn;
129 
131 
132  std::vector<std::string> m_launchPrefix;
133 
135 
136  std::string m_workingDirectory;
137 
139 
141 
143  double m_cpuLimit;
144 
145  bool m_muted;
147 };
148 
149 }
150 
151 }
152 
153 #endif
Node(std::string name, std::string package, std::string type)
Definition: node.cpp:28
std::shared_ptr< const Node > ConstPtr
Definition: node.h:24
std::string namespaceString() const
Definition: node.h:64
std::string m_name
Definition: node.h:114
void setCPULimit(double cpuLimit)
Definition: node.cpp:155
bool isMuted() const
Definition: node.h:108
double stopTimeout() const
Definition: node.h:99
bool respawn() const
Definition: node.h:76
std::string m_type
Definition: node.h:116
void setCoredumpsEnabled(bool on)
Definition: node.cpp:130
std::string executable() const
Definition: node.h:61
std::string m_namespace
Definition: node.h:120
std::map< std::string, std::string > m_remappings
Definition: node.h:122
ros::WallDuration respawnDelay() const
Definition: node.h:79
uint64_t memoryLimitByte() const
Definition: node.h:102
std::shared_ptr< Node > Ptr
Definition: node.h:23
std::string m_executable
Definition: node.h:118
void setStopTimeout(double timeout)
Definition: node.cpp:145
std::map< std::string, std::string > m_extraEnvironment
Definition: node.h:125
bool clearParams() const
Definition: node.h:96
void setMemoryLimit(uint64_t memoryLimitByte)
Definition: node.cpp:150
std::string package() const
Definition: node.h:55
std::string name() const
Definition: node.h:52
std::string m_workingDirectory
Definition: node.h:136
ros::WallDuration m_respawnDelay
Definition: node.h:128
void setLaunchPrefix(const std::string &launchPrefix)
Definition: node.cpp:105
void setMuted(bool muted)
Definition: node.cpp:160
std::string workingDirectory() const
Definition: node.h:93
bool m_clearParams
Definition: node.h:138
void setRemappings(const std::map< std::string, std::string > &remappings)
Definition: node.cpp:50
std::string type() const
Definition: node.h:58
void setRequired(bool required)
Definition: node.cpp:90
bool m_stdoutDisplayed
Definition: node.h:146
void setStdoutDisplayed(bool showStdout)
Definition: node.cpp:165
bool m_coredumpsEnabled
Definition: node.h:134
double cpuLimit() const
Definition: node.h:105
std::string env(const std::string &name)
void setClearParams(bool on)
Definition: node.cpp:140
std::map< std::string, std::string > extraEnvironment() const
Definition: node.h:73
bool required() const
Definition: node.h:84
std::vector< std::string > m_extraArgs
Definition: node.h:123
bool coredumpsEnabled() const
Definition: node.h:90
bool stdoutDisplayed() const
Definition: node.h:111
void addExtraArguments(const std::string &argString)
Definition: node.cpp:55
std::string m_package
Definition: node.h:115
std::vector< std::string > extraArguments() const
Definition: node.h:70
double m_cpuLimit
Definition: node.h:143
std::map< std::string, std::string > remappings() const
Definition: node.h:67
uint64_t m_memoryLimitByte
Definition: node.h:142
void setExtraEnvironment(const std::map< std::string, std::string > &env)
Definition: node.cpp:85
void setWorkingDirectory(const std::string &workingDirectory)
Definition: node.cpp:135
void setNamespace(const std::string &ns)
Definition: node.cpp:80
void setRespawn(bool respawn)
Definition: node.cpp:95
std::vector< std::string > launchPrefix() const
Definition: node.h:87
std::vector< std::string > m_launchPrefix
Definition: node.h:132
double m_stopTimeout
Definition: node.h:140
void setRespawnDelay(const ros::WallDuration &respawnDelay)
Definition: node.cpp:100


rosmon_core
Author(s): Max Schwarz
autogenerated on Sat Jan 9 2021 03:35:43