ddt 1.2.1
Loading...
Searching...
No Matches
commandLineParser.hpp
Go to the documentation of this file.
1
22#ifndef DDT_UTILS_COMMANDLINELIB_COMMANDLINEPARSER
23#define DDT_UTILS_COMMANDLINELIB_COMMANDLINEPARSER
24
25#include <boost/program_options.hpp>
26#include <memory>
27#include <string>
28#include "ddt/ddtConstants.hpp"
29
30namespace po = boost::program_options;
31
32namespace ddt {
33
44
49 public:
53 CommandLineParser() = default;
54
58 virtual ~CommandLineParser() = default;
59
67 void SetBrokerOptions(std::string &uri, std::string &config_file, bool &datastreams_list);
68
85 void SetViewerOptions(std::string &filename, std::string &local_broker_uri,
86 std::string &remote_broker_uri, std::string &data_stream,
87 std::string &server_uri, std::string &default_image_scale,
88 bool &timestamp, std::string &overlay_file);
89
100 void SetOptions(std::string &broker, std::string &data_stream,
101 int &frequency);
102
115 void SetSubscriberOptions(std::string &broker, std::string &data_stream, int &interval,
116 std::string &remote_broker, int &mode, bool &statistics,
117 bool &dump_data, std::string &dump_folder);
118
130 void SetPublisherOptions(std::string &broker, std::string &data_stream, int &interval,
131 int &buffer_size, std::string &image_folder, int &mode,
132 bool &checksum);
133
145 void SetRemoteClientOptions(std::string &server_uri, std::string &image_widget,
146 std::string &command, std::vector<std::string> &arguments,
147 int32_t &timeout, bool &infinite);
148
158 CommandLineParserResult Parse(int argc, char *argv[]);
159
160 protected:
164 void SetGeneralOptions();
165
169 po::options_description options;
170
174 po::positional_options_description positional_options;
175};
176} // namespace ddt
177
178#endif // DDT_UTILS_COMMANDLINELIB_COMMANDLINEPARSER
179
Definition commandLineParser.hpp:48
void SetBrokerOptions(std::string &uri, std::string &config_file, bool &datastreams_list)
Set the options for a data broker application.
Definition commandLineParser.cpp:38
void SetPublisherOptions(std::string &broker, std::string &data_stream, int &interval, int &buffer_size, std::string &image_folder, int &mode, bool &checksum)
Set the options for a publisher application with image folder.
Definition commandLineParser.cpp:123
virtual ~CommandLineParser()=default
po::options_description options
Definition commandLineParser.hpp:169
void SetViewerOptions(std::string &filename, std::string &local_broker_uri, std::string &remote_broker_uri, std::string &data_stream, std::string &server_uri, std::string &default_image_scale, bool &timestamp, std::string &overlay_file)
Set the command line options for viewer applications.
Definition commandLineParser.cpp:60
void SetGeneralOptions()
Set general command line options.
Definition commandLineParser.cpp:28
void SetOptions(std::string &broker, std::string &data_stream, int &frequency)
Set the options for a data transfer application.
CommandLineParserResult Parse(int argc, char *argv[])
Parse the given commandline input.
Definition commandLineParser.cpp:193
void SetSubscriberOptions(std::string &broker, std::string &data_stream, int &interval, std::string &remote_broker, int &mode, bool &statistics, bool &dump_data, std::string &dump_folder)
Set the options for a subscriber application.
Definition commandLineParser.cpp:87
po::positional_options_description positional_options
Definition commandLineParser.hpp:174
void SetRemoteClientOptions(std::string &server_uri, std::string &image_widget, std::string &command, std::vector< std::string > &arguments, int32_t &timeout, bool &infinite)
Set the options for a remote client application.
Definition commandLineParser.cpp:161
Contains common used constants. This file shall contain constants that can be used by all application...
Definition ddtClient.hpp:39
CommandLineParserResult
Definition commandLineParser.hpp:38
@ PARSE_HELP
Definition commandLineParser.hpp:41
@ PARSE_OK_WITH_DEBUG
Definition commandLineParser.hpp:40
@ PARSE_ERROR
Definition commandLineParser.hpp:42
@ PARSE_OK
Definition commandLineParser.hpp:39