summaryrefslogtreecommitdiff
path: root/include/lldb/Host/HostNativeProcessBase.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Host/HostNativeProcessBase.h')
-rw-r--r--include/lldb/Host/HostNativeProcessBase.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/include/lldb/Host/HostNativeProcessBase.h b/include/lldb/Host/HostNativeProcessBase.h
new file mode 100644
index 000000000000..ba16bf2b876f
--- /dev/null
+++ b/include/lldb/Host/HostNativeProcessBase.h
@@ -0,0 +1,57 @@
+//===-- HostNativeProcessBase.h ---------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef lldb_Host_HostNativeProcessBase_h_
+#define lldb_Host_HostNativeProcessBase_h_
+
+#include "lldb/Core/Error.h"
+#include "lldb/Host/HostProcess.h"
+#include "lldb/lldb-defines.h"
+#include "lldb/lldb-types.h"
+
+namespace lldb_private
+{
+
+class HostThread;
+
+class HostNativeProcessBase
+{
+ DISALLOW_COPY_AND_ASSIGN(HostNativeProcessBase);
+
+ public:
+ HostNativeProcessBase()
+ : m_process(LLDB_INVALID_PROCESS)
+ {
+ }
+ explicit HostNativeProcessBase(lldb::process_t process)
+ : m_process(process)
+ {}
+ virtual ~HostNativeProcessBase() {}
+
+ virtual Error Terminate() = 0;
+ virtual Error GetMainModule(FileSpec &file_spec) const = 0;
+
+ virtual lldb::pid_t GetProcessId() const = 0;
+ virtual bool IsRunning() const = 0;
+
+ lldb::process_t
+ GetSystemHandle() const
+ {
+ return m_process;
+ }
+
+ virtual HostThread StartMonitoring(HostProcess::MonitorCallback callback, void *callback_baton, bool monitor_signals) = 0;
+
+ protected:
+ lldb::process_t m_process;
+};
+
+}
+
+#endif