ddt  0.1
commandLineParser.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file commandLineParser.hpp
8 // @brief Class for parsing command line arguments.
9 //
10 //
11 // @author Monika Pfeil, CGI
12 // @since 2020/08/13
13 
14 #ifndef DDT_UTILS_COMMANDLINELIB_COMMANDLINEPARSER
15 #define DDT_UTILS_COMMANDLINELIB_COMMANDLINEPARSER
16 
17 #include <boost/program_options.hpp>
18 #include <iostream>
19 #include <memory>
20 #include <string>
21 
22 namespace po = boost::program_options;
23 
24 namespace ddt {
25 
30  public:
34  CommandLineParser() = default;
38  virtual ~CommandLineParser();
44  void setOptions(std::string &uri);
54  void setOptions(std::string &filename, std::string &data_stream);
65  void setOptions(std::string &broker, std::string &data_stream,
66  int &frequency);
81  void setOptions(std::string &broker, std::string &data_stream, int &frequency,
82  std::string &remote_broker, int &mode, bool &statistics);
98  void setOptions(std::string &broker, std::string &data_stream, int &frequency,
99  int &buffer_size, std::string &image_folder, int &mode,
100  bool &checksum);
110  int parse(int argc, char *argv[]);
111 
112  protected:
119  void setOptions();
120 
124  po::options_description options;
128  po::positional_options_description positional_options;
129 };
130 } // namespace ddt
131 
132 #endif // DDT_UTILS_COMMANDLINELIB_COMMANDLINEPARSER
ddt::CommandLineParser::~CommandLineParser
virtual ~CommandLineParser()
ddt::CommandLineParser::setOptions
void setOptions()
Set standard command line options.
Definition: commandLineParser.cpp:21
ddt
Definition: ddtClient.hpp:36
ddt::CommandLineParser::options
po::options_description options
Definition: commandLineParser.hpp:124
ddt::CommandLineParser
Definition: commandLineParser.hpp:29
ddt::CommandLineParser::parse
int parse(int argc, char *argv[])
Parse the given commandline input.
Definition: commandLineParser.cpp:145
ddt::CommandLineParser::CommandLineParser
CommandLineParser()=default
ddt::CommandLineParser::setOptions
void setOptions(std::string &broker, std::string &data_stream, int &frequency)
Set the options for a data transfer application.
ddt::CommandLineParser::positional_options
po::positional_options_description positional_options
Definition: commandLineParser.hpp:128