X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FOverloadedCommand.hh;h=fb3c24e6fe5084dba2b8d1007e3909e87e9e1933;hb=7661548b20e6c7627f54bff87e0758396fd523ef;hp=3d6b6fcde8ce0da915694493b5b41c9f333b463d;hpb=21be434729b552e31b856b2f42fc978062d0dd55;p=senf.git diff --git a/senf/Utils/Console/OverloadedCommand.hh b/senf/Utils/Console/OverloadedCommand.hh index 3d6b6fc..fb3c24e 100644 --- a/senf/Utils/Console/OverloadedCommand.hh +++ b/senf/Utils/Console/OverloadedCommand.hh @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -34,7 +34,7 @@ #include //#include "OverloadedCommand.mpp" -///////////////////////////////hh.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { namespace console { @@ -62,28 +62,28 @@ namespace console { : public senf::intrusive_refcount { public: - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// // Types typedef boost::intrusive_ptr ptr; typedef boost::intrusive_ptr cptr; - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// virtual ~CommandOverload(); void execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command); ///< Call the overload /**< If the \a arguments are not acceptable for this - overload, a SyntaxErrorException must be thrown. + overload, a SyntaxErrorException must be thrown. Same as operator()() */ void operator()(boost::any & rv, std::ostream & os, ParseCommandInfo const & command); ///< Call the overload /**< If the \a arguments are not acceptable for this - overload, a SyntaxErrorException must be thrown. + overload, a SyntaxErrorException must be thrown. Same as execute() */ - + unsigned numArguments() const; ///< Number of arguments this overload takes void argumentDoc(unsigned index, ArgumentDoc & doc) const; ///< Get information on argument \a index @@ -94,7 +94,7 @@ namespace console { \param[out] doc Argument documentation */ std::string doc() const; ///< Get overload documentation - + OverloadedCommandNode & node() const; ///< Access owning node /**< \pre The command \e must have been added to an OverloadedCommandNode. */ @@ -142,7 +142,7 @@ namespace console { 'SyntaxErrorException' exception is thrown. This works by first adding an OverloadedCommandNode to the directory in question and then - adding commands to that node. Commands are derived from CommandOverload. + adding commands to that node. Commands are derived from CommandOverload. \code senf::console::DirectoryNode & dir (...); senf::console::OverloadedCommandNode & cmd ( @@ -165,7 +165,7 @@ namespace console { typedef std::vector Overloads; public: - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// // Types typedef boost::shared_ptr ptr; @@ -177,15 +177,15 @@ namespace console { typedef boost::iterator_range OverloadsRange; - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// ///\name Structors and default members - ///@{ + //\{ static ptr create(); - ///@} - /////////////////////////////////////////////////////////////////////////// - + //\} + //-//////////////////////////////////////////////////////////////////////// + template Command & add(boost::intrusive_ptr overload); ///< Add an additional overload @@ -223,29 +223,29 @@ namespace console { /** \brief Basic command overload This is an implementation of CommandOverload which allows to call an arbitrary callback with - the correct signature + the correct signature (void (std::ostream &, senf::console::ParseCommandInfo const &)) */ class SimpleCommandOverload : public CommandOverload { public: - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// // Types typedef boost::intrusive_ptr ptr; typedef boost::function Function; - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// ///\name Structors and default members - ///@{ + //\{ static SimpleCommandOverload::ptr create(Function fn); ///< Create new SimpleCommandOverload /**< \param[in] fn callback to call */ - ///@} - /////////////////////////////////////////////////////////////////////////// + //\} + //-//////////////////////////////////////////////////////////////////////// SimpleCommandOverload & doc(std::string const & doc); ///< Assign overload specific documentation @@ -277,7 +277,7 @@ namespace console { SimpleOverloadAttributor const & overloadDoc(std::string const & doc) const; OverloadedCommandNode & create(DirectoryNode & dir, std::string const & name) const; - + private: SimpleCommandOverload::ptr overload_; mutable boost::optional doc_; @@ -286,7 +286,7 @@ namespace console { }} -///////////////////////////////hh.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #include "OverloadedCommand.cci" //#include "OverloadedCommand.ct" #include "OverloadedCommand.cti"