Erik Fröjdh 788ad8d3b6 Command proxy (#25)
* added cmd proxy

* minor

* minor

* WIP

* clean up

* added comment
2019-05-28 18:01:26 +02:00

31 lines
948 B
C++
Executable File

#ifndef CMD_LINE_PARSER_H
#define CMD_LINE_PARSER_H
#include <stdexcept>
#include <string>
#include <vector>
class CmdLineParser {
public:
void Parse(int argc, const char * const argv[]);
void Parse(const std::string &s);
void Print();
int multi_id() const { return multi_id_; };
int detector_id() const { return detector_id_; };
int n_arguments() const { return arguments_.size(); }
const std::string &command() const { return command_; }
void setCommand(std::string cmd){command_ = cmd;}
const std::string &executable() const { return executable_; }
const std::vector<std::string> &arguments() const { return arguments_; };
std::vector<const char *> argv() const;
private:
void DecodeIdAndPosition(const char *c);
int multi_id_ = 0;
int detector_id_ = -1;
std::string command_;
std::string executable_;
std::vector<std::string> arguments_;
};
#endif // CMD_LINE_PARSER_H