diff --git a/glib.cc b/glib.cc
index 95980c3..2b64ed3 100644
--- a/glib.cc
+++ b/glib.cc
@@ -28,6 +28,26 @@
   return g_base64_encode(data, len);
 }
 
+void GLib::BusUnwatchName(guint watcher_id) {
+  g_bus_unwatch_name(watcher_id);
+}
+
+guint GLib::BusWatchName(GBusType bus_type,
+                         const gchar *name,
+                         GBusNameWatcherFlags flags,
+                         GBusNameAppearedCallback name_appeared_handler,
+                         GBusNameVanishedCallback name_vanished_handler,
+                         gpointer user_data,
+                         GDestroyNotify user_data_free_func) {
+  return g_bus_watch_name(bus_type,
+                          name,
+                          flags,
+                          name_appeared_handler,
+                          name_vanished_handler,
+                          user_data,
+                          user_data_free_func);
+}
+
 guint GLib::ChildWatchAdd(GPid pid,
                           GChildWatchFunc function,
                           gpointer data) {
@@ -170,4 +190,8 @@
   g_strfreev(str_array);
 }
 
+void GLib::TypeInit() {
+  g_type_init();
+}
+
 }  // namespace shill
