X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=pc-tools%2Fldc2%2Fsrc%2Fconfiguration_manager.cpp;h=dea8710bd3d7d5e67efebcd9df3e7b2d8a102ba4;hb=HEAD;hp=3ca21020a70c0f237d502c686e200e76da15702d;hpb=ea4c19a49ff6621c58e0c4bba5ab5d271a3604c8;p=h316.git diff --git a/pc-tools/ldc2/src/configuration_manager.cpp b/pc-tools/ldc2/src/configuration_manager.cpp index 3ca2102..dea8710 100644 --- a/pc-tools/ldc2/src/configuration_manager.cpp +++ b/pc-tools/ldc2/src/configuration_manager.cpp @@ -1,7 +1,36 @@ +/****************************************************************************** + * + * LDC2 source code + * + * $Date: 2008/10/01 13:30:14 $ + * $Author: hachti $ + * + * $Log: configuration_manager.cpp,v $ + * Revision 2.4 2008/10/01 13:30:14 hachti + * Added some includes + * + * Revision 2.3 2008-08-25 21:02:24 hachti + * *** empty log message *** + * + * Revision 2.2 2007-06-15 12:46:04 hachti + * Some small changes in configuration_manager output - added (c/f) info. + * Changed order in tool.hh:add_unique.... + * + * Revision 2.1 2007-03-26 04:05:37 hachti + * *** empty log message *** + * + * Revision 2.0 2007-03-26 01:00:38 hachti + * *** empty log message *** + * + * + ******************************************************************************/ + #include "configuration_manager.hh" #include +#include #include #include +#include #define MAX_LINE_LENGTH 80 @@ -28,6 +57,11 @@ configuration_manager::configuration_manager(string name){ *\param target Pointer to string to put the value in. *\param placeholder A placeholder for the documentation. * For example in -f + *\param allow_cmdline Specifies if this value may be specified on the + * command line. + *\param allow_conffile Specifies if this value may be specified in a + * configuration file. + * */ void configuration_manager::add_option_value (const string & shortname, const string & longname, @@ -115,7 +149,7 @@ void configuration_manager::add_argument(const string & description, /*! - *\Read in the args passed to main(). + *\brief Read in the args passed to main(). *\returns empty vector on success or the error messages to be output. */ vector configuration_manager::read_args(int argc, char ** args){ @@ -135,7 +169,8 @@ vector configuration_manager::read_args(int argc, char ** args){ string argstring; // Look for long parameters. - if ((argv[arg_no].substr(0,2)=="--")&&(free_parms_count==0)){ + // if ((argv[arg_no].substr(0,2)=="--")&&(free_parms_count==0)){ + if ((argv[arg_no].substr(0,2)=="--")){ // Changed for comfort. argstring=argv[arg_no].substr(2); // Look for long switches. @@ -180,7 +215,8 @@ vector configuration_manager::read_args(int argc, char ** args){ } // Look for short parameters - if ((argv[arg_no].substr(0,1)=="-")&&(free_parms_count==0)&&(!found)){ // Short parameters + // if ((argv[arg_no].substr(0,1)=="-")&&(free_parms_count==0)&&(!found)){ // Short parameters + if ((argv[arg_no].substr(0,1)=="-")&&(!found)){ // Changed for comfort. found=true; argstring=argv[arg_no].substr(1); // Reassign, with one more character now for (unsigned int pos=0;pos < argstring.length();pos++){ @@ -433,7 +469,12 @@ void configuration_manager::get_help(vector & target){ /* Now lets insert switches into left and right */ for (unsigned int sw=0; sw & target){ string nl(max_width,' '); nl.replace(0,left[c].length(),left[c]); nl+=" "+right[c]; - while (nl.length()>80){ // Too long??? - int limit=nl.find_last_of(' ',MAX_LINE_LENGTH+1); + while (nl.length()>MAX_LINE_LENGTH){ // Too long??? + int limit=nl.find_last_of(' ',MAX_LINE_LENGTH); target.insert(target.end(),nl.substr(0,limit)); - nl=string(max_width+2,' ')+nl.substr(limit+1); + nl=string(max_width+2+6,' ')+nl.substr(limit+1); } target.insert(target.end(),nl); } @@ -469,8 +510,14 @@ void configuration_manager::get_help(vector & target){ for (unsigned int val=0; val80){ // Too long??? - int limit=nl.find_last_of(' ',MAX_LINE_LENGTH+1); + string nl(max_width,' '); // Empty left side. + nl.replace(0,left[c].length(),left[c]); // Print in left side. + nl+=" "+right[c]; // Add right side. + + while (nl.length()>MAX_LINE_LENGTH){ // Too long??? + int limit=nl.find_last_of(' ',MAX_LINE_LENGTH); target.insert(target.end(),nl.substr(0,limit)); - nl=string(max_width+2,' ')+nl.substr(limit+1); + nl=string(max_width+2+6,' ')+nl.substr(limit+1); } target.insert(target.end(),nl); } } + target.insert(target.end(),""); + target.insert(target.end(),"Legend (c/f):"); + target.insert(target.end()," c: Allowed on command line."); + target.insert(target.end()," f: Allowed in configuration file."); + /* Output the Arguments */ if (cmd_args.size()){ target.insert(target.end(),""); @@ -519,7 +572,6 @@ void configuration_manager::get_help(vector & target){ nl+=" "+right[c]; while (nl.length()>MAX_LINE_LENGTH){ // Too long??? int limit=nl.find_last_of(' ',MAX_LINE_LENGTH+1); - // printf("limit:%i\n",limit); target.insert(target.end(),nl.substr(0,limit)); nl=string(max_width+2,' ')+nl.substr(limit+1); }