X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FNode.hh;h=6a2732c4ba8b4f80718b3bf5f41f9af76000dce2;hb=f9d24df84e9dd01127ebeabef977a22e379cb41d;hp=71c66f7b572f2652e314b2f7eaf4f78d1916af54;hpb=63c40810b93b4d8f3d6dad5f987adc5f2bf5b5ed;p=senf.git diff --git a/Console/Node.hh b/Console/Node.hh index 71c66f7..6a2732c 100644 --- a/Console/Node.hh +++ b/Console/Node.hh @@ -307,7 +307,7 @@ namespace console { typedef BOOST_TYPEOF_TPL( senf_console_add_node( * static_cast(0), * static_cast(0), - * static_cast(0), + * static_cast(0), 0) ) base_type; typedef typename senf::remove_cvref::type value_type; @@ -317,7 +317,7 @@ namespace console { /// Internal struct Creator { static result_type create(DirectoryNode & node, std::string const & name, - Object const & ob); + Object & ob); }; }; @@ -383,8 +383,8 @@ namespace console { \a name is empty, it is set to 'unnamed'. */ template - typename NodeCreateTraits::result_type add (std::string const & name, - Object const & ob); + typename NodeCreateTraits::result_type add(std::string const & name, + Object const & ob); ///< Generic child node factory /**< This member is used to create a new child node of the current directory. The type of node created depends on @@ -409,6 +409,12 @@ namespace console { is not used but serves to disambiguate the overloads). */ + template + typename NodeCreateTraits::result_type add(std::string const & name, + Object & ob); + ///< Generic child node factory + /**< \see add() */ + GenericNode::ptr remove(std::string const & name); ///< Remove node \a name from the tree /**< The returned pointer may either be discarded, which @@ -634,9 +640,10 @@ namespace console { }; #ifndef DOXYGEN - template + SimpleCommandNode & senf_console_add_node(DirectoryNode & node, std::string const & name, - Function const & fn, ...); + SimpleCommandNode::Function fn, int); + #endif DirectoryNode & root();