daemon.h
Go to the documentation of this file.
1 /*
2  * Copyright 2022 Technical University of Munich, Chair of Materials Handling,
3  * Material Flow, Logistics – All Rights Reserved
4  *
5  * You may use, distribute and modify this code under the terms of the 3-clause
6  * BSD license. You should have received a copy of that license with this file.
7  * If not, please write to {kontakt.fml@ed.tum.de}.
8  */
9 
10 #ifndef DAEMON_H
11 #define DAEMON_H
12 #include <ros/ros.h>
13 #include <string>
14 #include "boost/date_time/posix_time/posix_time.hpp"
15 #include <ros/console.h>
16 #include "std_msgs/String.h"
17 #include "vda5050_msgs/Header.h"
18 #include <sstream>
19 #include <tf/tf.h>
20 
21 
22 #define DEFAULT_ERROR_TOPIC "/internal_errors"
23 
29 class Daemon
30 {
31  private:
32  vda5050_msgs::Header messageHeader;
35  std::map<std::string,std::string> topicPublisherList;
40  std::map<std::string,std::string> topicSubscriberList;
49  bool testMode;
53  protected:
54  std::map<std::string,ros::Publisher> messagePublisher;
59  std::map<std::string,ros::Subscriber> subscribers;
71  public:
72 
76  Daemon();
77 
84  Daemon(ros::NodeHandle *nh, std::string daemonName);
85 
90  void PublishState();
91 
96  void UpdateState();
97 
104  bool CheckPassedTime();
105 
111  std::map<std::string,std::string> GetTopicPublisherList();
112 
118  std::map<std::string,std::string> GetTopicSubscriberList();
119 
128  std::vector<std::string> GetMsgList(
129  std::map<std::string,std::string> topicList);
130 
138  std::string GetParameter(std::string param);
139 
145  std::string CreateTimestamp();
146 
151 
157  std::string getTopicStructurePrefix();
158 
166  bool CheckTopic(std::string str1,std::string str2);
167 
171  std::string GetTopic(std::string hierarchical_topic);
172 
179  bool CompareStrings(std::string str1, std::string str2);
180 
185  void InitHeaderInfo();
186 
193 
198  void UpdateHeader();
199 
211  std::map<std::string,std::string> ReadTopicParams(ros::NodeHandle *nh,
212  std::string paramTopicName);
213 
219  vda5050_msgs::Header GetHeader();
220 
229  bool CheckRange(double lowerRange, double upperRange, double value,
230  std::string msg_name);
231 };
232 
233 #endif
234 
Daemon::GetHeader
vda5050_msgs::Header GetHeader()
Definition: src/daemon.cpp:106
Daemon::GetTopicPublisherList
std::map< std::string, std::string > GetTopicPublisherList()
Definition: src/daemon.cpp:46
ros::Publisher
Daemon::InitHeaderInfo
void InitHeaderInfo()
Definition: src/daemon.cpp:79
Daemon::CheckPassedTime
bool CheckPassedTime()
Daemon::createTopicStructurePrefix
void createTopicStructurePrefix()
Definition: src/daemon.cpp:87
Daemon::PublishState
void PublishState()
ros.h
Daemon::errorPublisher
ros::Publisher errorPublisher
Definition: daemon.h:64
Daemon::GetParameter
std::string GetParameter(std::string param)
Definition: src/daemon.cpp:64
Daemon::subscribers
std::map< std::string, ros::Subscriber > subscribers
Definition: daemon.h:59
Daemon::CompareStrings
bool CompareStrings(std::string str1, std::string str2)
Definition: src/daemon.cpp:112
Daemon::testMode
bool testMode
Definition: daemon.h:49
Daemon::Daemon
Daemon()
Definition: src/daemon.cpp:30
Daemon::CreateTimestamp
std::string CreateTimestamp()
Definition: src/daemon.cpp:204
Daemon::getTopicStructurePrefix
std::string getTopicStructurePrefix()
Definition: src/daemon.cpp:95
console.h
Daemon::GetTopicSubscriberList
std::map< std::string, std::string > GetTopicSubscriberList()
Definition: src/daemon.cpp:51
Daemon::CheckRange
bool CheckRange(double lowerRange, double upperRange, double value, std::string msg_name)
Definition: src/daemon.cpp:134
Daemon::GetTopic
std::string GetTopic(std::string hierarchical_topic)
Definition: src/daemon.cpp:128
Daemon::LinkErrorTopics
void LinkErrorTopics(ros::NodeHandle *nh)
Definition: src/daemon.cpp:196
Daemon::messageHeader
vda5050_msgs::Header messageHeader
Definition: daemon.h:32
Daemon::GetMsgList
std::vector< std::string > GetMsgList(std::map< std::string, std::string > topicList)
Definition: src/daemon.cpp:56
Daemon::messagePublisher
std::map< std::string, ros::Publisher > messagePublisher
Definition: daemon.h:54
Daemon::nh
ros::NodeHandle nh
Definition: daemon.h:67
Daemon
Definition: daemon.h:29
Daemon::topicPublisherList
std::map< std::string, std::string > topicPublisherList
Definition: daemon.h:35
Daemon::ReadTopicParams
std::map< std::string, std::string > ReadTopicParams(ros::NodeHandle *nh, std::string paramTopicName)
Definition: src/daemon.cpp:164
Daemon::topicSubscriberList
std::map< std::string, std::string > topicSubscriberList
Definition: daemon.h:40
Daemon::UpdateHeader
void UpdateHeader()
Definition: src/daemon.cpp:100
Daemon::mqttTopicStructurePrefix
std::string mqttTopicStructurePrefix
Definition: daemon.h:45
Daemon::UpdateState
void UpdateState()
ros::NodeHandle
Daemon::CheckTopic
bool CheckTopic(std::string str1, std::string str2)
Definition: src/daemon.cpp:117


vda5050_connector
Author(s): Florian Rothmeyer , Florian Spiegel
autogenerated on Wed Mar 22 2023 02:38:56