diff options
author | Jürg Billeter <j@bitron.ch> | 2010-10-25 14:05:08 +0200 |
---|---|---|
committer | Martyn Russell <martyn@lanedo.com> | 2010-11-10 12:01:27 +0000 |
commit | c3525f5c3329d78f1ca6040cb43aa2cf48628472 (patch) | |
tree | fa324a5f51d17eeacfd02235e9b812f0fc3cc4c1 /src/libtracker-bus | |
parent | 910389efe8ed93986fd95656685279dd31280bc9 (diff) | |
download | tracker-c3525f5c3329d78f1ca6040cb43aa2cf48628472.tar.gz |
libtracker-bus: Fix error handling
Diffstat (limited to 'src/libtracker-bus')
-rw-r--r-- | src/libtracker-bus/tracker-bus.vala | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/src/libtracker-bus/tracker-bus.vala b/src/libtracker-bus/tracker-bus.vala index fe78190ac..fad74add9 100644 --- a/src/libtracker-bus/tracker-bus.vala +++ b/src/libtracker-bus/tracker-bus.vala @@ -68,30 +68,22 @@ public class Tracker.Bus.Connection : Tracker.Sparql.Connection { static Statistics statistics_object; static bool initialized; - public Connection () + public Connection () throws Sparql.Error, IOError, DBusError requires (!initialized) { - initialized = true; - - try { - // FIXME: Ideally we would just get these as and when we need them - resources_object = GLib.Bus.get_proxy_sync (BusType.SESSION, - TRACKER_DBUS_SERVICE, - TRACKER_DBUS_OBJECT_RESOURCES); - steroids_object = GLib.Bus.get_proxy_sync (BusType.SESSION, - TRACKER_DBUS_SERVICE, - TRACKER_DBUS_OBJECT_STEROIDS); - statistics_object = GLib.Bus.get_proxy_sync (BusType.SESSION, - TRACKER_DBUS_SERVICE, - TRACKER_DBUS_OBJECT_STATISTICS); - } catch (DBusError e) { - warning ("Could not connect to D-Bus service:'%s': %s", TRACKER_DBUS_INTERFACE_RESOURCES, e.message); - initialized = false; - return; - } - + // FIXME: Ideally we would just get these as and when we need them + resources_object = GLib.Bus.get_proxy_sync (BusType.SESSION, + TRACKER_DBUS_SERVICE, + TRACKER_DBUS_OBJECT_RESOURCES); + steroids_object = GLib.Bus.get_proxy_sync (BusType.SESSION, + TRACKER_DBUS_SERVICE, + TRACKER_DBUS_OBJECT_STEROIDS); + statistics_object = GLib.Bus.get_proxy_sync (BusType.SESSION, + TRACKER_DBUS_SERVICE, + TRACKER_DBUS_OBJECT_STATISTICS); + initialized = true; } - + ~Connection () { initialized = false; } @@ -383,6 +375,10 @@ public class Tracker.Bus.Connection : Tracker.Sparql.Connection { } public Tracker.Sparql.Connection module_init () { - Tracker.Sparql.Connection plugin = new Tracker.Bus.Connection (); - return plugin; + try { + Tracker.Sparql.Connection plugin = new Tracker.Bus.Connection (); + return plugin; + } catch { + return null; + } } |