00001 /* 00002 * Copyright (c) 2010 Ferruccio Vitale <unixo@devzero.it> 00003 * All rights reserved. 00004 * 00005 * $Id: CommandLine.h 75 2010-09-13 09:25:53Z unixo $ 00006 */ 00007 00008 #ifndef __COMMANDLINE_H__ 00009 #define __COMMANDLINE_H__ 00010 00011 #include <string> 00012 #include <iostream> 00013 00014 using namespace std; 00015 00032 class CommandLine 00033 { 00034 private: 00035 bool _fault; 00036 int _argc; 00037 char * const* _argv; 00038 const char *_opts; 00039 const char *_password; 00040 const char *_user; 00041 const char *_server; 00042 int _debug; 00043 00044 protected: 00045 const char * optionArgument() const; 00046 int parseNext() const; 00047 void parseError(); 00048 00049 public: 00050 CommandLine(int argc, char * const argv[]); 00051 00052 void printUsage() const; 00053 const char * dbUser() const; 00054 const char * dbPasswd() const; 00055 const char * dbServer() const; 00056 int debugLevel(); 00057 bool isFault(); 00058 00059 }; 00060 00061 #endif /* __COMMANDLINE_H__ */