Socket: Documentation for new addressing classes
[senf.git] / Console / ScopedDirectory.cti
index 2a3664f..40c7e25 100644 (file)
@@ -39,7 +39,7 @@ 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, 0);
 }
@@ -59,9 +59,19 @@ template <class Object>
 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);
 }
 
+#ifndef DOXYGEN
+
 template <class Owner, class Function>
 prefix_ senf::console::SimpleCommandNode & senf::console::
 senf_console_add_node(DirectoryNode & node, Owner & , std::string const & name,
@@ -86,6 +96,8 @@ senf_console_add_node(DirectoryNode & dir, std::string const & name, Node const
     return dir.add(name, node.node().thisptr());
 }
 
+#endif
+
 ///////////////////////////////////////////////////////////////////////////
 // senf::console::ScopedDirectory<void>
 
@@ -96,6 +108,13 @@ senf::console::ScopedDirectory<void>::add(std::string const & name, Object const
     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_