00001 #ifndef N2NC_UTILS_ARGSARGUMENT_H
00002 #define N2NC_UTILS_ARGSARGUMENT_H
00003
00004 #include "nixsys.h"
00005 #include "validargument.h"
00006
00007 namespace n2nc {
00008 namespace utils {
00009 namespace args {
00010
00011 using namespace std ;
00017 class Argument{
00018 public:
00020 Argument(string name,string param);
00021 ~Argument();
00023 bool validate(std::vector<ValidArgument>& validargs) throw() ;
00025 bool checkForDependecies(vector<Argument>& args);
00027 bool checkForConflicts(vector<Argument>& args);
00029
00030
00031
00032
00033
00034 string toString();
00036 string param();
00037
00038 private:
00039 ValidArgument *m_validarg ;
00040 std::string m_name ;
00041 std::string m_param ;
00042
00043 friend class ArgumentsHelper ;
00044 };
00045
00046 }
00047 }
00048 }
00049
00050 #endif