21 #ifndef DATATOOLS_UI_BASIC_SHELL_H 22 #define DATATOOLS_UI_BASIC_SHELL_H 35 #include <boost/optional.hpp> 36 #include <boost/utility.hpp> 55 class shell_command_interface;
60 ,
private boost::noncopyable
104 const std::string &
get_name()
const;
122 const ::datatools::version_id &
get_version()
const;
161 const std::string &
get_user()
const;
170 const std::string &
get_host()
const;
242 const ::datatools::service_manager &
get_services()
const;
281 int run(std::istream * in_ =
nullptr);
285 std::string & upper_);
300 void load_macro(
const std::string & macro_, uint32_t flags_ = 0);
305 std::size_t depth_ = 0)
const;
324 virtual void print_tree(std::ostream & out_ = std::clog,
379 boost::optional<version_id> _version_;
380 std::string _prompt_;
381 std::string _continuation_prompt_;
382 std::string _default_path_;
385 bool _exit_on_error_;
387 bool _using_readline_;
388 bool _using_history_;
389 bool _history_add_only_on_success_;
390 std::string _history_filename_;
391 unsigned int _history_truncate_;
396 std::string _current_working_path_;
397 std::unique_ptr<shell_command_interface_type> _system_interface_;
402 std::unique_ptr<pimpl_type> _pimpl_;
405 pimpl_type & _grab_pimpl();
408 const pimpl_type & _get_pimpl()
const;
419 #endif // DATATOOLS_UI_BASIC_SHELL_H
Target command interface.
The interface hierachical system.
Utilities for logging information.