From 5aaec825872ac6ce88c2aede40d263229976ba30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alburquerque?= Date: Sun, 14 Nov 2010 23:50:36 -0500 Subject: 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(). --- 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 ++++- 5 files changed, 22 insertions(+), 6 deletions(-) (limited to 'gio') diff --git a/gio/src/dbusconnection.ccg b/gio/src/dbusconnection.ccg index bdb98ff5..64cb6d9f 100644 --- a/gio/src/dbusconnection.ccg +++ b/gio/src/dbusconnection.ccg @@ -102,7 +102,7 @@ DBusConnection::DBusConnection(const Glib::RefPtr& stream, "flags", static_cast(flags), "authentication-observer", Glib::unwrap(observer)) { - init(Glib::RefPtr(0)); + init(); } DBusConnection::DBusConnection(const Glib::ustring& address, @@ -125,7 +125,7 @@ DBusConnection::DBusConnection(const Glib::ustring& address, "flags", static_cast(flags), "observer", Glib::unwrap(observer)) { - init(Glib::RefPtr(0)); + init(); } void DBusConnection::create(const Glib::RefPtr& stream, diff --git a/gio/src/dbusproxy.ccg b/gio/src/dbusproxy.ccg index 334ea4a1..9799b355 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()); + init(); } DBusProxy::DBusProxy(BusType bus_type, @@ -167,7 +167,7 @@ _CONSTRUCT("g-bus-type", static_cast(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()); + init(); } void DBusProxy::create(const Glib::RefPtr& connection, diff --git a/gio/src/dbusserver.ccg b/gio/src/dbusserver.ccg index 9aa02a16..29076ffb 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(0) : guid.c_str()), "authentication-observer", Glib::unwrap(observer)) { - init(Glib::RefPtr()); + init(); } Glib::RefPtr DBusServer::create_sync(const Glib::ustring& address, diff --git a/gio/src/initable.ccg b/gio/src/initable.ccg index 7140b0f2..173a7099 100644 --- a/gio/src/initable.ccg +++ b/gio/src/initable.ccg @@ -18,3 +18,16 @@ */ #include + +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 5856ff7d..5ab4e9ac 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), - g_initable_init, errthrow) + g_initable_init, errthrow) + + /// Non-cancellable version of init(). + void init(); _WRAP_VFUNC(bool init(const Glib::RefPtr& cancellable, GError** error), "init") }; -- cgit v1.2.1