hkstreamer/include/cmdlineparser.h

33 lines
674 B
C++

#ifndef CMDLINEPARSER_H
#define CMDLINEPARSER_H
#include <map>
#include <string>
#include <getopt.h>
using namespace std;
typedef struct {
string name;
int shortName;
int needParam;
string desc;
} OptDefine;
class CmdLineParser
{
public:
CmdLineParser(string name,string desc);
void regOpt(OptDefine optdef);
void regOpt(string name,int shorName, int needParam, string desc);
string getOpt(string key);
void parseArgs(int argc, char *argv[]);
private:
string appName;
string appDesc;
map<int, OptDefine> optMap;
map<string, string> paraMap;
bool hasOptSet(string key);
void help();
};
#endif // CMDLINEPARSER_H