// $Id$
//
-// Copyright (C) 2008
+// Copyright (C) 2008
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
#include "LazyDirectory.hh" // For ScopedDirectory template default arg
//#include "ScopedDirectory.mpp"
-///////////////////////////////hh.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
namespace senf {
namespace console {
DirectoryNode & node() const; ///< Access the proxied DirectoryNode
operator DirectoryNode & () const; ///< Access the proxied DirectoryNode
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
///\name Proxied members (see DirectoryNode)
- ///\{
+ //\{
GenericNode::ptr remove(std::string const & name);
bool hasChild(std::string const & name) const;
CommandNode & getCommand(std::string const & name) const;
CommandNode & operator()(std::string const & name) const;
GenericNode & get(std::string const & name) const;
- DirectoryNode & mkdir(std::string const & name);
- void link(std::string const & name, GenericNode & node);
DirectoryNode::ChildrenRange children() const;
DirectoryNode & doc(std::string const & doc);
+ std::string const & name() const;
+ bool active() const;
+ std::string path() const;
+ std::string path(DirectoryNode const & root) const;
+ boost::shared_ptr<DirectoryNode> parent() const;
+ GenericNode::ptr unlink();
+ void help(std::ostream & output) const;
+ std::string shorthelp() const;
- ///\}
+ //\}
protected:
ScopedDirectoryBase();
public:
ScopedDirectory<MyClass> configDir;
- MyClass() : configDir(this)
+ MyClass() : configDir(this)
{
- configDIr.add(...);
+ configDir.add(...);
}
};
\endcode
class ScopedDirectory : public ScopedDirectoryBase
{
public:
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
// Types
-
+
typedef Owner owner;
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
///\name Structors and default members
- ///@{
+ //\{
explicit ScopedDirectory(Owner * owner);
- ///@}
- ///////////////////////////////////////////////////////////////////////////
+ //\}
+ //-////////////////////////////////////////////////////////////////////////
template <class NodeType>
NodeType & add(std::string const & name, boost::shared_ptr<NodeType> node);
}}
-///////////////////////////////hh.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#include "ScopedDirectory.cci"
//#include "ScopedDirectory.ct"
#include "ScopedDirectory.cti"