// senf::console::Executor
prefix_ senf::console::Executor::Executor()
+ : root_(senf::console::root().thisptr()), cwd_ (root_), oldCwd_ (cwd_),
+ autocd_ (false), autocomplete_ (false)
+{}
+
+prefix_ void senf::console::Executor::operator()(std::ostream & output,
+ ParseCommandInfo const & command)
{
- oldCwd_ = cwd_ = boost::static_pointer_cast<DirectoryNode>(
- root().shared_from_this());
+ return execute(output, command);
}
prefix_ senf::console::DirectoryNode & senf::console::Executor::cwd()
return cwd_.expired() ? root() : *cwd_.lock();
}
+prefix_ bool senf::console::Executor::autocd()
+ const
+{
+ return autocd_;
+}
+
+prefix_ senf::console::Executor & senf::console::Executor::autocd(bool v)
+{
+ autocd_ = v;
+ return *this;
+}
+
+prefix_ bool senf::console::Executor::autocomplete()
+ const
+{
+ return autocomplete_;
+}
+
+prefix_ senf::console::Executor & senf::console::Executor::autocomplete(bool v)
+{
+ autocomplete_ = true;
+ return *this;
+}
+
+prefix_ senf::console::DirectoryNode & senf::console::Executor::chroot()
+ const
+{
+ return *root_;
+}
+
+prefix_ senf::console::Executor & senf::console::Executor::chroot(DirectoryNode & node)
+{
+ root_ = node.thisptr();
+ cwd_ = root_;
+ oldCwd_ = root_;
+ return *this;
+}
+
+prefix_ senf::console::Executor & senf::console::Executor::policy(SecurityPolicy policy)
+{
+ policy_ = policy;
+ return *this;
+}
+
///////////////////////////////cci.e///////////////////////////////////////
#undef prefix_