Console: Add console logging documentation
[senf.git] / Console / ScopedDirectory.cti
index 87ce190..d2ab881 100644 (file)
 // senf::console::OwnerNodeCreateTraits<Owner,Object>::Creator
 
 template <class Owner, class Object>
-prefix_ typename senf::console::OwnerNodeCreateTraits<Owner,Object>::NodeType &
+prefix_ typename senf::console::OwnerNodeCreateTraits<Owner,Object>::result_type
 senf::console::OwnerNodeCreateTraits<Owner,Object>::Creator::create(DirectoryNode & node,
                                                                     Owner & owner,
                                                                     std::string const & name,
-                                                                    Object const & ob)
+                                                                    Object & ob)
 {
-    return senf_console_add_node(node, owner, name, ob);
+    return senf_console_add_node(node, owner, name, ob, 0);
 }
 
 ///////////////////////////////////////////////////////////////////////////
@@ -56,16 +56,24 @@ prefix_ senf::console::ScopedDirectory<Owner>::ScopedDirectory(Owner * owner)
 
 template <class Owner>
 template <class Object>
-prefix_ typename senf::console::OwnerNodeCreateTraits<Owner, Object>::NodeType &
+prefix_ typename senf::console::OwnerNodeCreateTraits<Owner, Object>::result_type
 senf::console::ScopedDirectory<Owner>::add(std::string const & name, Object const & ob)
 {
+    return OwnerNodeCreateTraits<Owner, Object const>::Creator::create(node(), *owner_, name, ob);
+}
+
+template <class Owner>
+template <class Object>
+prefix_ typename senf::console::OwnerNodeCreateTraits<Owner, Object>::result_type
+senf::console::ScopedDirectory<Owner>::add(std::string const & name, Object & ob)
+{
     return OwnerNodeCreateTraits<Owner, Object>::Creator::create(node(), *owner_, name, ob);
 }
 
 template <class Owner, class Function>
 prefix_ senf::console::SimpleCommandNode & senf::console::
 senf_console_add_node(DirectoryNode & node, Owner & , std::string const & name,
-                      Function const & fn)
+                      Function const & fn, ...)
 {
     return node.add(name,fn);
 }
@@ -73,8 +81,7 @@ senf_console_add_node(DirectoryNode & node, Owner & , std::string const & name,
 template <class Owner>
 prefix_ senf::console::SimpleCommandNode & senf::console::
 senf_console_add_node(DirectoryNode & node, Owner & owner, std::string const & name,
-                      void (Owner::*fn)(std::ostream & output, 
-                                        CommandNode::Arguments const & arguments))
+                      void (Owner::*fn)(std::ostream &, ParseCommandInfo const &), int)
 {
     return node.add(name, boost::bind(fn,boost::ref(owner),_1,_2));
 }
@@ -91,12 +98,19 @@ senf_console_add_node(DirectoryNode & dir, std::string const & name, Node const
 // senf::console::ScopedDirectory<void>
 
 template <class Object>
-prefix_ typename senf::console::NodeCreateTraits<Object>::NodeType &
+prefix_ typename senf::console::NodeCreateTraits<Object>::result_type
 senf::console::ScopedDirectory<void>::add(std::string const & name, Object const & ob)
 {
     return node().add(name, ob);
 }
 
+template <class Object>
+prefix_ typename senf::console::NodeCreateTraits<Object>::result_type
+senf::console::ScopedDirectory<void>::add(std::string const & name, Object & ob)
+{
+    return node().add(name, ob);
+}
+
 ///////////////////////////////cti.e///////////////////////////////////////
 #undef prefix_