Console: Complete 'Variable' command implementation
[senf.git] / Console / ScopedDirectory.cti
index 2a3664f..d2ab881 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,6 +59,14 @@ 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);
 }
 
@@ -96,6 +104,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_