summaryrefslogtreecommitdiff
path: root/gio
diff options
context:
space:
mode:
authorJosé Alburquerque <jaalburqu@svn.gnome.org>2010-11-14 23:50:36 -0500
committerJosé Alburquerque <jaalburqu@svn.gnome.org>2010-11-14 23:50:36 -0500
commit5aaec825872ac6ce88c2aede40d263229976ba30 (patch)
tree607bc6f39a6678bfb5b0b0388a54de02ec4f8c0b /gio
parent14eaf3223fa42bab37fc70112030f76b5f49e46c (diff)
downloadglibmm-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.ccg4
-rw-r--r--gio/src/dbusproxy.ccg4
-rw-r--r--gio/src/dbusserver.ccg2
-rw-r--r--gio/src/initable.ccg13
-rw-r--r--gio/src/initable.hg5
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")
};