HOPS
HOPS class reference
MHO_ControlTokenProcessor.hh
Go to the documentation of this file.
1 #ifndef MHO_ControlTokenProcessor_HH__
2 #define MHO_ControlTokenProcessor_HH__
3 
6 #include "MHO_Message.hh"
7 
8 #include <cstdlib>
9 #include <limits>
10 #include <string>
11 #include <vector>
12 
13 namespace hops
14 {
15 
28 {
29  public:
32 
39  mho_json ProcessInt(const MHO_Token& token);
40 
47  mho_json ProcessString(const MHO_Token& token);
48 
55  mho_json ProcessReal(const MHO_Token& token);
56 
63  mho_json ProcessListInt(const std::vector< MHO_Token >& tokens);
64 
71  mho_json ProcessListString(const std::vector< MHO_Token >& tokens);
72 
79  mho_json ProcessFixedLengthListString(const std::vector< MHO_Token >& tokens);
80 
87  mho_json ProcessListReal(const std::vector< MHO_Token >& tokens);
88 
95  mho_json ProcessBool(const MHO_Token& token);
96 
97  private:
105  bool ConvertFloat(const MHO_Token& token, double& val);
106 
114  bool ConvertInteger(const MHO_Token& token, int& val);
115 
123  bool ConvertBool(const MHO_Token& token, bool& val);
124 };
125 
126 } // namespace hops
127 
128 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_ControlTokenProcessor.
Definition: MHO_ControlTokenProcessor.hh:28
mho_json ProcessBool(const MHO_Token &token)
Processes a boolean token and returns its value as mho_json.
Definition: MHO_ControlTokenProcessor.cc:124
MHO_ControlTokenProcessor()
Definition: MHO_ControlTokenProcessor.cc:6
mho_json ProcessListReal(const std::vector< MHO_Token > &tokens)
Processes a list of tokens as real numbers and returns them as JSON.
Definition: MHO_ControlTokenProcessor.cc:103
mho_json ProcessReal(const MHO_Token &token)
Processes a real (number) token and converts it to an mho_json value.
Definition: MHO_ControlTokenProcessor.cc:27
mho_json ProcessListInt(const std::vector< MHO_Token > &tokens)
Processes a list of tokens as integers and returns them as an mho_json object.
Definition: MHO_ControlTokenProcessor.cc:39
mho_json ProcessListString(const std::vector< MHO_Token > &tokens)
Processes a list of (string) tokens and converts them into an mho_json object.
Definition: MHO_ControlTokenProcessor.cc:60
mho_json ProcessString(const MHO_Token &token)
Processes a given MHO_Token and returns its associated JSON data.
Definition: MHO_ControlTokenProcessor.cc:21
virtual ~MHO_ControlTokenProcessor()
Definition: MHO_ControlTokenProcessor.cc:7
mho_json ProcessInt(const MHO_Token &token)
Processes an integer token and converts it to a json value.
Definition: MHO_ControlTokenProcessor.cc:9
mho_json ProcessFixedLengthListString(const std::vector< MHO_Token > &tokens)
Process a fixed-length list string from tokens and return as mho_json.
Definition: MHO_ControlTokenProcessor.cc:72
Definition: MHO_ChannelLabeler.hh:17
Class MHO_Token.
Definition: MHO_ControlDefinitions.hh:25
struct token_struct * tokens
Definition: parse_control_file.c:26