9#ifndef LLDB_HOST_PROCESSLAUNCHINFO_H
10#define LLDB_HOST_PROCESSLAUNCHINFO_H
50 const FileSpec &working_dir, uint32_t launch_flags);
77 llvm::Error SetUpPipeRedirection();
109 return m_flags.Test(lldb::eLaunchFlagLaunchInSeparateProcessGroup);
115 return m_flags.Test(lldb::eLaunchFlagShellExpandArguments);
123 bool first_arg_is_full_shell_command,
124 uint32_t num_resumes);
170 return m_flags.Test(lldb::eLaunchFlagDetachOnError);
178 std::vector<FileActionImpl>
static llvm::raw_ostream & error(Stream &strm)
static bool separate(size_t count)
Represents a file descriptor action to be performed during process launch.
std::function< void(lldb::pid_t pid, int signal, int status)> MonitorChildProcessCallback
llvm::StringRef GetProcessPluginName() const
const FileSpec & GetShell() const
bool MonitorProcess() const
std::shared_ptr< PTY > m_pty
void AppendFileAction(const FileActionImpl &info)
bool GetDetachOnError() const
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)
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::vector< FileActionImpl > m_file_actions
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 SetLaunchInSeparateProcessGroup(bool separate)
std::shared_ptr< PTY > TakePTY()
void SetShellExpandArguments(bool expand)
void SetDetachOnError(bool enable)
bool ShouldUsePTY() const
Returns whether if lldb should read information from the PTY.
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 Windows-specific extension of FileAction that supports HANDLE-based file operations in addition to ...
A class that represents a running process on the host machine.
FileAction FileActionImpl