}
}
-prefix_ void senf::console::OverloadedCommandNode::v_execute(std::ostream & output,
+prefix_ std::string senf::console::OverloadedCommandNode::v_shorthelp()
+ const
+{
+ if (!shortdoc_.empty())
+ return shortdoc_;
+ if (!doc_.empty())
+ return doc_.substr(0,doc_.find('\n'));
+ Overloads::const_iterator i (overloads_.begin());
+ Overloads::const_iterator const i_end (overloads_.end());
+ for (; i != i_end; ++i) {
+ std::string overloadDoc ((*i)->doc());
+ if (! overloadDoc.empty())
+ return overloadDoc.substr(0,doc_.find('\n'));
+ }
+ return "";
+}
+
+prefix_ void senf::console::OverloadedCommandNode::v_execute(boost::any & rv,
+ std::ostream & os,
ParseCommandInfo const & command)
const
{
SyntaxErrorException err;
for (; i != i_end; ++i) {
try {
- (**i)(output, command);
+ (**i)(rv, os, command);
return;
}
catch (SyntaxErrorException & ex) {
return doc_;
}
-prefix_ void senf::console::SimpleCommandOverload::v_execute(std::ostream & os,
+prefix_ void senf::console::SimpleCommandOverload::v_execute(boost::any & rv,
+ std::ostream & os,
ParseCommandInfo const & command)
const
{