summaryrefslogtreecommitdiff
path: root/include/lldb/Target/UnixSignals.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Target/UnixSignals.h')
-rw-r--r--include/lldb/Target/UnixSignals.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/include/lldb/Target/UnixSignals.h b/include/lldb/Target/UnixSignals.h
index f47a90bbf545..76955deabc78 100644
--- a/include/lldb/Target/UnixSignals.h
+++ b/include/lldb/Target/UnixSignals.h
@@ -26,6 +26,9 @@ namespace lldb_private
class UnixSignals
{
public:
+ static lldb::UnixSignalsSP
+ Create(const ArchSpec &arch);
+
//------------------------------------------------------------------
// Constructors and Destructors
//------------------------------------------------------------------
@@ -89,6 +92,12 @@ public:
int32_t
GetNextSignalNumber (int32_t current_signal) const;
+ int32_t
+ GetNumSignals() const;
+
+ int32_t
+ GetSignalAtIndex(int32_t index) const;
+
// We assume that the elements of this object are constant once it is constructed,
// since a process should never need to add or remove symbols as it runs. So don't
// call these functions anywhere but the constructor of your subclass of UnixSignals or in
@@ -130,14 +139,18 @@ protected:
~Signal () {}
};
- void
+ virtual void
Reset ();
typedef std::map <int32_t, Signal> collection;
collection m_signals;
- DISALLOW_COPY_AND_ASSIGN (UnixSignals);
+ // GDBRemote signals need to be copyable.
+ UnixSignals(const UnixSignals &rhs);
+
+ const UnixSignals &
+ operator=(const UnixSignals &rhs) = delete;
};
} // Namespace lldb