summaryrefslogtreecommitdiff
path: root/src/libtracker-bus
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2010-10-25 14:05:08 +0200
committerMartyn Russell <martyn@lanedo.com>2010-11-10 12:01:27 +0000
commitc3525f5c3329d78f1ca6040cb43aa2cf48628472 (patch)
treefa324a5f51d17eeacfd02235e9b812f0fc3cc4c1 /src/libtracker-bus
parent910389efe8ed93986fd95656685279dd31280bc9 (diff)
downloadtracker-c3525f5c3329d78f1ca6040cb43aa2cf48628472.tar.gz
libtracker-bus: Fix error handling
Diffstat (limited to 'src/libtracker-bus')
-rw-r--r--src/libtracker-bus/tracker-bus.vala42
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;
+ }
}