9#ifndef LLDB_HOST_PROCESSLAUNCHINFO_H
10#define LLDB_HOST_PROCESSLAUNCHINFO_H
37 const FileSpec &working_dir, uint32_t launch_flags);
84 return m_flags.
Test(lldb::eLaunchFlagLaunchInSeparateProcessGroup);
90 return m_flags.
Test(lldb::eLaunchFlagShellExpandArguments);
98 bool first_arg_is_full_shell_command,
99 uint32_t num_resumes);
130 return m_flags.
Test(lldb::eLaunchFlagDetachOnError);
139 std::shared_ptr<PseudoTerminal>
m_pty;
static llvm::raw_ostream & error(Stream &strm)
static bool separate(size_t count)
bool Test(ValueType bit) const
Test a single flag bit.
std::function< void(lldb::pid_t pid, int signal, int status)> MonitorChildProcessCallback
llvm::StringRef GetProcessPluginName() const
const FileSpec & GetShell() const
bool MonitorProcess() const
bool GetDetachOnError() const
std::vector< FileAction > m_file_actions
llvm::Error SetUpPtyRedirection()
const char * GetLaunchEventData() const
bool AppendOpenFileAction(int fd, const FileSpec &file_spec, bool read, bool write)
void SetLaunchEventData(const char *data)
bool AppendSuppressFileAction(int fd, bool read, bool write)
bool AppendCloseFileAction(int fd)
PseudoTerminal & GetPTY()
static void NoOpMonitorCallback(lldb::pid_t pid, int signal, int status)
A Monitor callback which does not take any action on process events.
const FileAction * GetFileActionAtIndex(size_t idx) const
std::string m_plugin_name
std::shared_ptr< PseudoTerminal > m_pty
uint32_t GetResumeCount() const
void SetShell(const FileSpec &shell)
const Host::MonitorChildProcessCallback & GetMonitorProcessCallback() const
const FileAction * GetFileActionForFD(int fd) const
void SetProcessPluginName(llvm::StringRef plugin)
const Flags & GetFlags() const
void SetMonitorProcessCallback(Host::MonitorChildProcessCallback callback)
bool ConvertArgumentsForLaunchingInShell(Status &error, bool will_debug, bool first_arg_is_full_shell_command, uint32_t num_resumes)
bool AppendDuplicateFileAction(int fd, int dup_fd)
void AppendFileAction(const FileAction &info)
void SetLaunchInSeparateProcessGroup(bool separate)
void SetShellExpandArguments(bool expand)
void SetDetachOnError(bool enable)
void SetResumeCount(uint32_t c)
bool GetLaunchInSeparateProcessGroup() const
bool GetShellExpandArguments() const
void SetWorkingDirectory(const FileSpec &working_dir)
Host::MonitorChildProcessCallback m_monitor_callback
const FileSpec & GetWorkingDirectory() const
size_t GetNumFileActions() const
A pseudo terminal helper class.
A class that represents a running process on the host machine.