[gnome-builder/wip/chergert/debugger] debugger: add IdeDebugger::log
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/debugger] debugger: add IdeDebugger::log
- Date: Mon, 27 Mar 2017 00:47:47 +0000 (UTC)
commit 8a1b5fa4a657fbc1778a2682b451603a8b100e52
Author: Christian Hergert <chergert redhat com>
Date: Sun Mar 26 17:46:55 2017 -0700
debugger: add IdeDebugger::log
This signal can be used by debuggers to pass on informative information
from the debugger to the user.
libide/debugger/ide-debugger.c | 27 +++++++++++++++++++++++++++
libide/debugger/ide-debugger.h | 4 ++++
2 files changed, 31 insertions(+), 0 deletions(-)
---
diff --git a/libide/debugger/ide-debugger.c b/libide/debugger/ide-debugger.c
index 81cc880..249d9df 100644
--- a/libide/debugger/ide-debugger.c
+++ b/libide/debugger/ide-debugger.c
@@ -28,6 +28,7 @@
G_DEFINE_INTERFACE (IdeDebugger, ide_debugger, IDE_TYPE_OBJECT)
enum {
+ LOG,
STOPPED,
N_SIGNALS
};
@@ -76,6 +77,22 @@ ide_debugger_default_init (IdeDebuggerInterface *iface)
(G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)));
/**
+ * IdeDebugger:log:
+ * @self: A #IdeDebugger
+ * @message: the log message
+ *
+ * The "log" signal is emitted when the debugger has informative information
+ * to display to the user.
+ */
+ signals [LOG] =
+ g_signal_new ("log",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (IdeDebuggerInterface, log),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+ /**
* IdeDebugger::stopped:
* @self: An #IdeDebugger
* @reason: An #IdeDebuggerStopReason for why the stop occurred
@@ -183,3 +200,13 @@ ide_debugger_run (IdeDebugger *self,
if (IDE_DEBUGGER_GET_IFACE (self)->run)
IDE_DEBUGGER_GET_IFACE (self)->run (self, run_type);
}
+
+void
+ide_debugger_emit_log (IdeDebugger *self,
+ const gchar *message)
+{
+ g_return_if_fail (IDE_IS_DEBUGGER (self));
+
+ if (message != NULL)
+ g_signal_emit (self, signals [LOG], 0, message);
+}
diff --git a/libide/debugger/ide-debugger.h b/libide/debugger/ide-debugger.h
index ac103ba..843920a 100644
--- a/libide/debugger/ide-debugger.h
+++ b/libide/debugger/ide-debugger.h
@@ -59,6 +59,8 @@ struct _IdeDebuggerInterface
IdeRunner *runner);
void (*run) (IdeDebugger *self,
IdeDebuggerRunType run_type);
+ void (*log) (IdeDebugger *self,
+ const gchar *message);
};
gchar *ide_debugger_get_name (IdeDebugger *self);
@@ -69,6 +71,8 @@ void ide_debugger_prepare (IdeDebugger *self,
IdeRunner *runner);
void ide_debugger_run (IdeDebugger *self,
IdeDebuggerRunType run_type);
+void ide_debugger_emit_log (IdeDebugger *self,
+ const gchar *message);
void ide_debugger_emit_stopped (IdeDebugger *self,
IdeDebuggerStopReason reason,
IdeSourceLocation *location);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]