diff options
author | José Alburquerque <jaalburqu@svn.gnome.org> | 2010-11-14 23:50:36 -0500 |
---|---|---|
committer | José Alburquerque <jaalburqu@svn.gnome.org> | 2010-11-14 23:50:36 -0500 |
commit | 5aaec825872ac6ce88c2aede40d263229976ba30 (patch) | |
tree | 607bc6f39a6678bfb5b0b0388a54de02ec4f8c0b /gio | |
parent | 14eaf3223fa42bab37fc70112030f76b5f49e46c (diff) | |
download | glibmm-5aaec825872ac6ce88c2aede40d263229976ba30.tar.gz |
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().
Diffstat (limited to 'gio')
-rw-r--r-- | gio/src/dbusconnection.ccg | 4 | ||||
-rw-r--r-- | gio/src/dbusproxy.ccg | 4 | ||||
-rw-r--r-- | gio/src/dbusserver.ccg | 2 | ||||
-rw-r--r-- | gio/src/initable.ccg | 13 | ||||
-rw-r--r-- | gio/src/initable.hg | 5 |
5 files changed, 22 insertions, 6 deletions
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<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 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<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 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<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 7140b0f2..173a7099 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 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>& 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") }; |