shill: Remove GLibInterface and mock out GLib directly.

The interface didn't provide any useful abstraction in this case.

BUG=chromium-os:16899
TEST=unit tests

Change-Id: I76fcdd757ab7c20e1904ac025dcf218f6eba50cc
Reviewed-on: http://gerrit.chromium.org/gerrit/3104
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
diff --git a/glib.h b/glib.h
index 8aa4da3..fea6056 100644
--- a/glib.h
+++ b/glib.h
@@ -5,17 +5,22 @@
 #ifndef SHILL_GLIB_H_
 #define SHILL_GLIB_H_
 
-#include "shill/glib_interface.h"
+#include <glib.h>
 
 namespace shill {
 
-// A concrete implementation of the GLib interface.
-class GLib : public GLibInterface {
+// A GLib abstraction allowing GLib mocking in tests.
+class GLib {
  public:
+  virtual ~GLib();
+
+  // g_child_watch_add
   virtual guint ChildWatchAdd(GPid pid,
                               GChildWatchFunc function,
                               gpointer data);
+  // g_source_remove
   virtual gboolean SourceRemove(guint tag);
+  // g_spawn_async
   virtual gboolean SpawnAsync(const gchar *working_directory,
                               gchar **argv,
                               gchar **envp,
@@ -24,6 +29,7 @@
                               gpointer user_data,
                               GPid *child_pid,
                               GError **error);
+  // g_spawn_close_pid
   virtual void SpawnClosePID(GPid pid);
 };