summaryrefslogtreecommitdiff
path: root/include/lldb/Target/ProcessLaunchInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Target/ProcessLaunchInfo.h')
-rw-r--r--include/lldb/Target/ProcessLaunchInfo.h43
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;
};
}