13 class CLASS_DECL_ACME shell :
14 virtual public ::object
19 shell* m_pshellComposite;
25 virtual bool has_command(const ::scoped_string& scopedstrCommand);
26 virtual bool has_posix_shell_command(const ::scoped_string& scopedstrCommand, enum_posix_shell eposixshell = e_posix_shell_system_default);
28 virtual ::i32
posix_shell_command(const ::scoped_string& scopedstrCommand, enum_posix_shell eposixshell = e_posix_shell_system_default,
const trace_function& tracefunction =
nullptr);
30 virtual ::i32
posix_shell_command_memory(const ::scoped_string& scopedstrCommand,
bool bInteractive =
false, enum_posix_shell eposixshell = e_posix_shell_system_default,
const memory_dump_function& memorydumpfunction =
nullptr);
36 virtual bool posix_shell_protocol_begins_eat(enum_posix_shell& eposixshell, ::string& str);
38 virtual void defer_install_posix_shell_command(const ::scoped_string& scopedstr, enum_posix_shell eposixshell = e_posix_shell_system_default,
const trace_function& tracefunction =
nullptr);
40 virtual void install_posix_shell_command(const ::scoped_string& scopedstr, enum_posix_shell eposixshell = e_posix_shell_system_default,
const trace_function& tracefunction =
nullptr);
42 virtual ::string posix_shell_command_install_package(const ::scoped_string& scopedstr, enum_posix_shell eposixshell = e_posix_shell_system_default);
44 virtual ::i32 synchronous_posix_terminal(const ::scoped_string& scopedstrCommand, enum_posix_shell eposixshell = e_posix_shell_system_default,
const trace_function& tracefunction =
nullptr);
46 virtual void prepare_argc_argv(::i32& argc, char_pointer * argv, char_pointer cmd_line);
47 virtual ::i32 command(const ::scoped_string& scopedstr,
const trace_function& tracefunction =
nullptr);
48 virtual ::i32 command_memory(const ::scoped_string& scopedstr,
bool bInteractive,
const memory_dump_function & memorydumpfunction);
54 virtual ::i32 command_system(const ::scoped_string& scopedstr,
const trace_function& tracefunction =
nullptr, const ::file::path& pathWorkingDirectory = {}, ::e_display edisplay = e_display_none);
55 virtual ::i32 command_system_memory(const ::scoped_string& scopedstr,
bool bInteractive =
false,
const memory_dump_function & memorydumpfunction =
nullptr, const ::file::path& pathWorkingDirectory = {}, ::e_display edisplay = e_display_none);
56 virtual ::i32 pty2(const ::string_array_base & stra);
63 virtual ::i32 command_system(const ::scoped_string& scopedstr,
const class ::time& timeOut = 15_min, const ::file::path& pathWorkingDirectory = {}, ::e_display edisplay = e_display_none);
64 virtual ::string get_output(const ::scoped_string& scopedstr,
const class ::time& timeOut = 15_min);
66 virtual ::string get_command_output(const ::scoped_string& scopedstr,
const class ::time& timeOut = 15_min, ::string * pstrError =
nullptr, ::i32 * piExitCode =
nullptr);
68 virtual ::memory get_command_output_memory(const ::scoped_string& scopedstr,
bool bInteractive,
const class ::time& timeOut = 15_min,
::memory * pmemoryError =
nullptr, ::i32 * piExitCode =
nullptr);
70 virtual ::i32 get_command_output(::string& strOutput, ::string & strError, const ::scoped_string& scopedstr,
const class ::time& timeOut = 15_min);
72 virtual ::i32 get_command_output_memory(
::memory & memoryOutput,
::memory & memoryError, const ::scoped_string& scopedstr,
bool bInteractive =
false,
const class ::time& timeOut = 15_min);
74 virtual ::string get_posix_shell_command_output(const ::scoped_string& scopedstr, enum_posix_shell eposixshell = e_posix_shell_system_default, ::string * pstrError =
nullptr, ::i32 * piExitCode =
nullptr,
const class ::time& timeOut = 15_min);
76 virtual ::i32 get_posix_shell_command_output(::string& strOutput, ::string & strError, const ::scoped_string& scopedstr, enum_posix_shell eposixshell = e_posix_shell_system_default,
const class ::time& timeOut = 15_min);
80 virtual bool is_executable_in_path(const ::scoped_string& scopedstr);
82 virtual void launch_command_system(const ::scoped_string& scopedstr, const ::file::path& pathWorkingDirectory = {}, ::e_display edisplay = e_display_none);
86 virtual ::file::path _get_power_shell_path();
88 virtual ::file::path _get_cmd_path();
94 virtual void launch_process(const ::scoped_string & scopedstr);