diff options
Diffstat (limited to 'include/lldb/Target/ProcessLaunchInfo.h')
-rw-r--r-- | include/lldb/Target/ProcessLaunchInfo.h | 43 |
1 files changed, 33 insertions, 10 deletions
diff --git a/include/lldb/Target/ProcessLaunchInfo.h b/include/lldb/Target/ProcessLaunchInfo.h index 77d829a7e476..897704488e5f 100644 --- a/include/lldb/Target/ProcessLaunchInfo.h +++ b/include/lldb/Target/ProcessLaunchInfo.h @@ -15,6 +15,7 @@ // LLDB Headers #include "lldb/Core/Flags.h" +#include "lldb/Host/FileSpec.h" #include "lldb/Host/Host.h" #include "lldb/Target/FileAction.h" #include "lldb/Target/ProcessInfo.h" @@ -105,11 +106,11 @@ namespace lldb_private void SetProcessPluginName (const char *plugin); - const char * + const FileSpec & GetShell () const; void - SetShell (const char * path); + SetShell (const FileSpec &shell); uint32_t GetResumeCount () const @@ -124,7 +125,7 @@ namespace lldb_private } bool - GetLaunchInSeparateProcessGroup () + GetLaunchInSeparateProcessGroup() const { return m_flags.Test(lldb::eLaunchFlagLaunchInSeparateProcessGroup); } @@ -148,17 +149,23 @@ namespace lldb_private bool monitor_signals); Host::MonitorChildProcessCallback - GetMonitorProcessCallback () + GetMonitorProcessCallback() const { return m_monitor_callback; } - const void* - GetMonitorProcessBaton () const + void * + GetMonitorProcessBaton() const { return m_monitor_callback_baton; } + bool + GetMonitorSignals() const + { + return m_monitor_signals; + } + // If the LaunchInfo has a monitor callback, then arrange to monitor the process. // Return true if the LaunchInfo has taken care of monitoring the process, and false if the // caller might want to monitor the process themselves. @@ -169,9 +176,25 @@ namespace lldb_private lldb_utility::PseudoTerminal & GetPTY () { - return m_pty; + return *m_pty; } + // Get and set the actual listener that will be used for the process events + lldb::ListenerSP + GetListener () const + { + return m_listener_sp; + } + + void + SetListener (const lldb::ListenerSP &listener_sp) + { + m_listener_sp = listener_sp; + } + + Listener & + GetListenerForProcess (Debugger &debugger); + lldb::ListenerSP GetHijackListener () const { @@ -184,7 +207,6 @@ namespace lldb_private m_hijack_listener_sp = listener_sp; } - void SetLaunchEventData (const char *data) { @@ -209,15 +231,16 @@ namespace lldb_private protected: std::string m_working_dir; std::string m_plugin_name; - std::string m_shell; + FileSpec m_shell; Flags m_flags; // Bitwise OR of bits from lldb::LaunchFlags std::vector<FileAction> m_file_actions; // File actions for any other files - lldb_utility::PseudoTerminal m_pty; + std::shared_ptr<lldb_utility::PseudoTerminal> m_pty; uint32_t m_resume_count; // How many times do we resume after launching Host::MonitorChildProcessCallback m_monitor_callback; void *m_monitor_callback_baton; bool m_monitor_signals; std::string m_event_data; // A string passed to the plugin launch, having no meaning to the upper levels of lldb. + lldb::ListenerSP m_listener_sp; lldb::ListenerSP m_hijack_listener_sp; }; } |