Add a “debug” command to folks-inspect to print status information
authorPhilip Withnall <philip@tecnocode.co.uk>
Tue, 26 Apr 2011 22:56:41 +0000 (23:56 +0100)
committerPhilip Withnall <philip@tecnocode.co.uk>
Mon, 2 May 2011 20:25:43 +0000 (21:25 +0100)
When executed, it simply calls Folks.Debug.emit_print_status().

Closes: bgo#648533

NEWS
tools/inspect/Makefile.am
tools/inspect/command-debug.vala [new file with mode: 0644]
tools/inspect/inspect.vala

diff --git a/NEWS b/NEWS
index ec27064..36bec67 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ Bugs fixed:
 * Bug 640092 — Folks should minimize use of GLib.List (including its public API)
 * Bug 648161 — Add GObject Introspection Support
 * Bug 645186 — Make sure all connect() calls have appropriate disconnect() calls
+* Bug 648533 — Add runtime debug signalling
 
 API changes:
 * LinkedHashSet.list_iterator() is now disallowed (causes an assertion failure)
index bb815b5..fd935df 100644 (file)
@@ -11,6 +11,7 @@ bin_PROGRAMS = folks-inspect
 
 folks_inspect_SOURCES = \
        command-backends.vala \
+       command-debug.vala \
        command-help.vala \
        command-individuals.vala \
        command-persona-stores.vala \
diff --git a/tools/inspect/command-debug.vala b/tools/inspect/command-debug.vala
new file mode 100644 (file)
index 0000000..86de9c2
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2011 Philip Withnall
+ *
+ * This library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ *       Philip Withnall <philip@tecnocode.co.uk>
+ */
+
+using Folks;
+using GLib;
+
+private class Folks.Inspect.Commands.Debug : Folks.Inspect.Command
+{
+  public override string name
+    {
+      get { return "debug"; }
+    }
+
+  public override string description
+    {
+      get { return "Print debugging output from libfolks."; }
+    }
+
+  public override string help
+    {
+      get
+        {
+          return "debug    Print status information from libfolks.";
+        }
+    }
+
+  public Debug (Client client)
+    {
+      base (client);
+    }
+
+  public override void run (string? command_string)
+    {
+      var debug = Folks.Debug.dup ();
+      debug.emit_print_status ();
+    }
+}
index 5240717..db11141 100644 (file)
@@ -95,6 +95,7 @@ public class Folks.Inspect.Client : Object
       this.commands.set ("backends", new Commands.Backends (this));
       this.commands.set ("persona-stores", new Commands.PersonaStores (this));
       this.commands.set ("signals", new Commands.Signals (this));
+      this.commands.set ("debug", new Commands.Debug (this));
 
       try
         {