[glibmm] Initable: Add a non-cancellable overload of the init() method.



commit 5aaec825872ac6ce88c2aede40d263229976ba30
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Sun Nov 14 23:50:36 2010 -0500

    	Initable: Add a non-cancellable overload of the init() method.
    
    	* gio/src/initable.{ccg,hg} (init): Add a non-cancellable overload.
    	* gio/src/dbusconnection.ccg:
    	* gio/src/dbusproxy.ccg:
    	* gio/src/dbusserver.ccg: Adapt API to use non-cancellable version of
    	Gio::Initable::init().

 ChangeLog                  |   10 ++++++++++
 gio/src/dbusconnection.ccg |    4 ++--
 gio/src/dbusproxy.ccg      |    4 ++--
 gio/src/dbusserver.ccg     |    2 +-
 gio/src/initable.ccg       |   13 +++++++++++++
 gio/src/initable.hg        |    5 ++++-
 6 files changed, 32 insertions(+), 6 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 8a13304..ff244bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2010-11-14  José Alburquerque  <jaalburqu svn gnome org>
 
+	Initable: Add a non-cancellable overload of the init() method.
+
+	* gio/src/initable.{ccg,hg} (init): Add a non-cancellable overload.
+	* gio/src/dbusconnection.ccg:
+	* gio/src/dbusproxy.ccg:
+	* gio/src/dbusserver.ccg: Adapt API to use non-cancellable version of
+	Gio::Initable::init().
+
+2010-11-14  José Alburquerque  <jaalburqu svn gnome org>
+
 	giomm: Provide non-cancellable overloads for newly added API.
 
 	* gio/src/application.hg: Completed a TODO.
diff --git a/gio/src/dbusconnection.ccg b/gio/src/dbusconnection.ccg
index bdb98ff..64cb6d9 100644
--- a/gio/src/dbusconnection.ccg
+++ b/gio/src/dbusconnection.ccg
@@ -102,7 +102,7 @@ DBusConnection::DBusConnection(const Glib::RefPtr<IOStream>& stream,
     "flags", static_cast<GDBusConnectionFlags>(flags),
     "authentication-observer", Glib::unwrap(observer))
 {
-  init(Glib::RefPtr<Cancellable>(0));
+  init();
 }
 
 DBusConnection::DBusConnection(const Glib::ustring& address,
@@ -125,7 +125,7 @@ DBusConnection::DBusConnection(const Glib::ustring& address,
     "flags", static_cast<GDBusConnectionFlags>(flags),
     "observer", Glib::unwrap(observer))
 {
-  init(Glib::RefPtr<Cancellable>(0));
+  init();
 }
 
 void DBusConnection::create(const Glib::RefPtr<IOStream>& stream,
diff --git a/gio/src/dbusproxy.ccg b/gio/src/dbusproxy.ccg
index 334ea4a..9799b35 100644
--- a/gio/src/dbusproxy.ccg
+++ b/gio/src/dbusproxy.ccg
@@ -95,7 +95,7 @@ _CONSTRUCT("g-connection", Glib::unwrap(connection),
   "g-object-path", (object_path.empty() ? 0 : object_path.c_str()),
   "g-interface-name", (interface_name.empty() ? 0 : interface_name.c_str()))
 {
-  init(Glib::RefPtr<Cancellable>());
+  init();
 }
 
 DBusProxy::DBusProxy(BusType bus_type,
@@ -167,7 +167,7 @@ _CONSTRUCT("g-bus-type", static_cast<GBusType>(bus_type),
   "g-object-path", (object_path.empty() ? 0 : object_path.c_str()),
   "g-interface-name", (interface_name.empty() ? 0 : interface_name.c_str()))
 {
-  init(Glib::RefPtr<Cancellable>());
+  init();
 }
 
 void DBusProxy::create(const Glib::RefPtr<DBusConnection>& connection,
diff --git a/gio/src/dbusserver.ccg b/gio/src/dbusserver.ccg
index 9aa02a1..29076ff 100644
--- a/gio/src/dbusserver.ccg
+++ b/gio/src/dbusserver.ccg
@@ -48,7 +48,7 @@ DBusServer::DBusServer(const Glib::ustring& address,
     "guid", (guid.empty() ? static_cast<char*>(0) : guid.c_str()),
     "authentication-observer", Glib::unwrap(observer))
 {
-  init(Glib::RefPtr<Cancellable>());
+  init();
 }
 
 Glib::RefPtr<DBusServer> DBusServer::create_sync(const Glib::ustring& address,
diff --git a/gio/src/initable.ccg b/gio/src/initable.ccg
index 7140b0f..173a709 100644
--- a/gio/src/initable.ccg
+++ b/gio/src/initable.ccg
@@ -18,3 +18,16 @@
  */
 
 #include <gio/gio.h>
+
+namespace Gio
+{
+
+void Initable::init()
+{
+  GError *gerror = 0;
+  g_initable_init(gobj(), 0, &gerror);
+  if (gerror)
+    ::Glib::Error::throw_exception(gerror);
+}
+
+} // namespace Gio
diff --git a/gio/src/initable.hg b/gio/src/initable.hg
index 5856ff7..5ab4e9a 100644
--- a/gio/src/initable.hg
+++ b/gio/src/initable.hg
@@ -57,7 +57,10 @@ class Initable : public Glib::Interface
 
 protected:
   _WRAP_METHOD(void init(const Glib::RefPtr<Cancellable>& cancellable),
-               g_initable_init, errthrow)
+    g_initable_init, errthrow)
+
+   /// Non-cancellable version of init().
+   void init();
 
   _WRAP_VFUNC(bool init(const Glib::RefPtr<Cancellable>& cancellable, GError** error), "init")
 };



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]