X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FParsedCommand.cc;h=d593eb11812db2cfe0cff9e1b5cf1cde48f12158;hb=80c6cb7ba9ad7776824c84809f422209adf27331;hp=3a62096529737311916d598e4b6c8a8cc48b3ec3;hpb=bf1d8ba5ce6fc6a169a938183f8d01c8bdbccf32;p=senf.git diff --git a/Console/ParsedCommand.cc b/Console/ParsedCommand.cc index 3a62096..d593eb1 100644 --- a/Console/ParsedCommand.cc +++ b/Console/ParsedCommand.cc @@ -35,9 +35,37 @@ /////////////////////////////////////////////////////////////////////////// // senf::console::ParsedCommandOverloadBase -prefix_ void senf::console::ParsedCommandOverloadBase::v_help(std::ostream & os) +prefix_ unsigned senf::console::ParsedCommandOverloadBase::v_numArguments() const -{} +{ + return parameters_.size(); +} + +prefix_ void senf::console::ParsedCommandOverloadBase::v_argumentDoc(unsigned index, + ArgumentDoc & doc) + const +{ + BOOST_ASSERT( index < parameters_.size() ); + detail::ArgumentInfoBase & arg (*parameters_[index]); + doc.name = arg.name.empty() + ? (boost::format("arg%d%d") % overloadIndex() % (index+1)).str() + : arg.name; + doc.type = arg.type; + if (arg.hasDefault) { + doc.defaultValue = arg.defaultDoc.empty() + ? arg.defaultValueStr() + : arg.defaultDoc; + if (doc.defaultValue.empty()) + doc.defaultValue = "(empty)"; + } + doc.doc = arg.doc; +} + +prefix_ std::string senf::console::ParsedCommandOverloadBase::v_doc() + const +{ + return doc_; +} ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_