37 lines
798 B
C++
37 lines
798 B
C++
#ifndef OPTS_H
|
|
#define OPTS_H
|
|
|
|
#include <vector>
|
|
#include <string>
|
|
#include <getopt.h>
|
|
|
|
// Define a class to hold the options and parse arguments
|
|
class OptionParser
|
|
{
|
|
public:
|
|
OptionParser() : verbose(false), printUsage(false) {}
|
|
~OptionParser() = default;
|
|
|
|
void parseArguments(int argc, char *argv[], char **envp);
|
|
std::string stringifyOptions(void) const;
|
|
std::string getUsage() const;
|
|
|
|
static OptionParser &getOptions(void)
|
|
{
|
|
static OptionParser options;
|
|
return options;
|
|
}
|
|
|
|
public:
|
|
std::string argv0;
|
|
std::string senseApiLibPath;
|
|
std::vector<std::string> senseApiLibs;
|
|
std::string deviceSpecs;
|
|
std::vector<std::string> deviceSpecFiles;
|
|
bool verbose, printUsage;
|
|
|
|
static struct option longOptions[];
|
|
};
|
|
|
|
#endif // OPTS_H
|