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 // base class for the parser
32 {
33  public:
34  RosMessageParser(const std::string& topic_name, PJ::PlotDataMapRef& plot_data);
35 
36  const RosParserConfig& getConfig() const;
37 
38  void setConfig(const RosParserConfig& config);
39 
40  PJ::PlotData& getSeries(const std::string& key);
41 
42  PJ::StringSeries& getStringSeries(const std::string &key);
43 
44  protected:
45 
47 };
48 
49 // aggregator front-end to many parsers
51 {
52  public:
53  CompositeParser(PlotDataMapRef& plot_data);
54 
55  const RosParserConfig& getConfig();
56 
57  void setConfig(const RosParserConfig& config);
58 
59  bool parseMessage(const std::string& topic_name, MessageRef serialized_msg, double& timestamp);
60 
61  protected:
62 
63  std::map<std::string, std::shared_ptr<RosMessageParser>> _parsers;
66 };
67 
68 bool ParseDouble(const std::string& str, double& value, bool remover_suffix, bool parse_boolean);
69 
70 
71 }
72 
73 #endif // PARSER_CONFIGURATION_H
void xmlLoadState(const QDomElement &parent_element)
void xmlSaveState(QDomDocument &doc, QDomElement &plugin_elem) const
std::map< std::string, std::shared_ptr< RosMessageParser > > _parsers
bool ParseDouble(const std::string &str, double &value, bool remover_suffix, bool parse_boolean)
void saveToSettings(QSettings &setting, QString prefix) const
PJ::PlotDataMapRef & _plot_data
void loadFromSettings(const QSettings &settings, QString prefix)


plotjuggler_ros
Author(s): Davide Faconti
autogenerated on Fri Jun 23 2023 02:28:03