// senf::console::Executor
prefix_ senf::console::Executor::Executor()
+ : root_(senf::console::root().thisptr()), cwd_ (), oldCwd_ (),
+ autocd_ (false), autocomplete_ (false)
{
- cwd_ = boost::static_pointer_cast<DirectoryNode>(
- root().shared_from_this());
+ cwd_.push_back(root_);
}
-prefix_ senf::console::DirectoryNode & senf::console::Executor::cwd()
+prefix_ void senf::console::Executor::operator()(std::ostream & output,
+ ParseCommandInfo const & command)
+{
+ return execute(output, command);
+}
+
+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_.clear();
+ cwd_.push_back(root_);
+ oldCwd_ = cwd_;
+ return *this;
+}
+
+prefix_ senf::console::Executor & senf::console::Executor::policy(SecurityPolicy policy)
+{
+ policy_ = policy;
+ return *this;
+}
+
+prefix_ bool senf::console::Executor::skipping()
const
{
- return cwd_.expired() ? root() : *cwd_.lock();
+ return cwd_.empty();
}
///////////////////////////////cci.e///////////////////////////////////////