parser_configuration.h
Go to the documentation of this file.
1 #ifndef PJ_PARSER_CONFIGURATION_H
2 #define PJ_PARSER_CONFIGURATION_H
3 
4 #include <QStringList>
5 #include <QSettings>
6 #include <QDomDocument>
7 
8 #include <PlotJuggler/plotdata.h>
10 
11 namespace PJ
12 {
13 
15 {
16  QStringList topics;
17  unsigned max_array_size = 999;
18  bool use_header_stamp = false;
19  bool discard_large_arrays = false;
22 
23  void xmlSaveState(QDomDocument& doc, QDomElement& plugin_elem) const;
24  void xmlLoadState(const QDomElement& parent_element);
25 
26  void saveToSettings(QSettings& setting, QString prefix) const;
27  void loadFromSettings(const QSettings& settings, QString prefix);
28 };
29 
30 
31 // aggregator front-end to many parsers
33 {
34  public:
35 
36  void addParser(const std::string& topic_name, std::shared_ptr<PJ::MessageParser> parser);
37 
38  const RosParserConfig& getConfig();
39 
40  void setConfig(const RosParserConfig& config);
41 
42  bool parseMessage(const std::string& topic_name, MessageRef serialized_msg, double& timestamp);
43 
44  void clear() { _parsers.clear(); }
45 
46  bool hasParser(const std::string& topic_name) { return _parsers.count(topic_name) != 0; }
47 
48  protected:
49 
50  std::unordered_map<std::string, std::shared_ptr<PJ::MessageParser>> _parsers;
52 };
53 
54 bool ParseDouble(const std::string& str, double& value, bool remover_suffix, bool parse_boolean);
55 
56 
57 }
58 
59 #endif // PARSER_CONFIGURATION_H
PJ::RosParserConfig::use_header_stamp
bool use_header_stamp
Definition: parser_configuration.h:18
PJ::RosParserConfig::saveToSettings
void saveToSettings(QSettings &setting, QString prefix) const
Definition: parser_configuration.cpp:58
value
PJ::CompositeParser::setConfig
void setConfig(const RosParserConfig &config)
Definition: parser_configuration.cpp:90
PJ::RosParserConfig
Definition: parser_configuration.h:14
parser
parser
messageparser_base.h
PJ::CompositeParser::_config
RosParserConfig _config
Definition: parser_configuration.h:51
PJ::RosParserConfig::loadFromSettings
void loadFromSettings(const QSettings &settings, QString prefix)
Definition: parser_configuration.cpp:68
PJ::RosParserConfig::xmlLoadState
void xmlLoadState(const QDomElement &parent_element)
Definition: parser_configuration.cpp:35
PJ::RosParserConfig::xmlSaveState
void xmlSaveState(QDomDocument &doc, QDomElement &plugin_elem) const
Definition: parser_configuration.cpp:8
PJ::CompositeParser::hasParser
bool hasParser(const std::string &topic_name)
Definition: parser_configuration.h:46
PJ::RosParserConfig::discard_large_arrays
bool discard_large_arrays
Definition: parser_configuration.h:19
PJ::CompositeParser
Definition: parser_configuration.h:32
PJ::RosParserConfig::boolean_strings_to_number
bool boolean_strings_to_number
Definition: parser_configuration.h:20
PJ::CompositeParser::clear
void clear()
Definition: parser_configuration.h:44
PJ::CompositeParser::parseMessage
bool parseMessage(const std::string &topic_name, MessageRef serialized_msg, double &timestamp)
Definition: parser_configuration.cpp:102
PJ::CompositeParser::_parsers
std::unordered_map< std::string, std::shared_ptr< PJ::MessageParser > > _parsers
Definition: parser_configuration.h:50
PJ::RosParserConfig::max_array_size
unsigned max_array_size
Definition: parser_configuration.h:17
PJ::CompositeParser::getConfig
const RosParserConfig & getConfig()
Definition: parser_configuration.cpp:85
PJ::MessageRef
PJ::ParseDouble
bool ParseDouble(const std::string &str, double &value, bool remover_suffix, bool parse_boolean)
Definition: parser_configuration.cpp:115
PJ
PJ::RosParserConfig::topics
QStringList topics
Definition: parser_configuration.h:16
PJ::RosParserConfig::remove_suffix_from_strings
bool remove_suffix_from_strings
Definition: parser_configuration.h:21
plotdata.h
PJ::CompositeParser::addParser
void addParser(const std::string &topic_name, std::shared_ptr< PJ::MessageParser > parser)
Definition: parser_configuration.cpp:78


plotjuggler_ros
Author(s): Davide Faconti
autogenerated on Wed Feb 21 2024 03:22:56