1 #ifndef BALL_FORMAT_COMMANDLINEPARSER_H
2 #define BALL_FORMAT_COMMANDLINEPARSER_H
4 #ifndef BALL_DATATYPE_OPTIONS_H
8 #ifndef BALL_DATATYPE_STRING_H
12 #ifndef BALL_FORMAT_PARAMFILE_H
48 void setToolManual(
const String& manual);
53 void registerParameter(
String name,
String description, ParameterType type,
bool mandatory =
false,
String default_value =
"",
bool hidden =
false);
55 void registerFlag(
String name,
String description,
bool default_gui_value =
false);
57 void registerAdvancedParameters(
Options& options);
60 void setParameterRestrictions(
String par_name,
double min_value,
double max_value);
63 void setParameterRestrictions(
String par_name, list<String>& allowed_values);
74 void setOutputFormatSource(
String output_parname,
String input_parname);
80 void setSupportedFormats(
String par_name,
String supported_formats);
84 void parse(
int argc,
char* argv[]);
88 void copyAdvancedParametersToOptions(
Options& options);
105 const list<String>& getList(
String name);
111 void printHelp(std::set<String>* parameter_names = 0,
bool show_manual =
true);
113 void printToolInfo();
115 const String& getStartTime();
119 const String& getStartCommand();
123 void replaceExcapedCharacters_(
String& parameter_value);
124 void checkAndRegisterParameter(
String name,
String description, ParameterType type,
bool mandatory =
false,
String default_value =
"",
bool perform_check =
true,
bool hidden=
false);
125 void checkAndRegisterFlag(
String name,
String description,
bool default_gui_value =
false,
bool perform_check =
true);
126 void validateRegisteredFilesHaveFormats();
129 void checkParameterName(
const String& name,
const bool perform_check =
true);
132 std::set<String> reserved_params_;
135 std::list<std::pair<String, String> > excaped_chars_;
136 std::map<String, list<String> > parameter_map_;
137 std::map<String, ParameterDescription> registered_parameters_;
139 std::map<String, ParameterDescription> registered_flags_;
140 typedef std::map<String, ParameterDescription>::iterator MapIterator;
141 std::list<MapIterator> original_parameter_order_;
142 std::list<MapIterator> original_flag_order_;
143 Size max_parname_length_;
144 Size max_flagname_length_;
157 #endif // BALL_FORMAT_COMMANDLINEPARSER_H
static const String NOT_FOUND
static const list< String > EMTPY_LIST