Console: More documentation and cleanup
[senf.git] / Console / ParsedCommand.cc
index 3a62096..0ef2347 100644 (file)
 ///////////////////////////////////////////////////////////////////////////
 // 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;
+    doc.defaultValue = arg.defaultValueStr();
+    doc.doc = arg.doc;
+}
+
+prefix_ std::string senf::console::ParsedCommandOverloadBase::v_doc()
+    const
+{
+    return doc_;
+}
 
 ///////////////////////////////cc.e////////////////////////////////////////
 #undef prefix_