00001 /* 00002 * Copyright (c) 2010 Ferruccio Vitale <unixo@devzero.it> 00003 * All rights reserved. 00004 * 00005 * $Id: CommandLine.h 72 2010-08-03 16:43:52Z unixo $ 00006 */ 00007 00008 #ifndef __COMMANDLINE_H__ 00009 #define __COMMANDLINE_H__ 00010 00011 #include <string> 00012 #include <iostream> 00013 00014 using namespace std; 00015 00016 class CommandLine 00017 { 00018 private: 00019 const char *_opts; 00020 bool _fault; 00021 int _argc; 00022 char * const* _argv; 00023 const char *_password; 00024 const char *_user; 00025 const char *_server; 00026 int _debug; 00027 00028 protected: 00029 const char * optionArgument() const; 00030 int parseNext() const; 00031 void parseError(); 00032 00033 public: 00034 CommandLine(int argc, char * const argv[]); 00035 00036 void printUsage() const; 00037 const char * dbUser() const; 00038 const char * dbPasswd() const; 00039 const char * dbServer() const; 00040 int debugLevel(); 00041 bool isFault(); 00042 00043 }; 00044 00045 #endif /* __COMMANDLINE_H__ */