summaryrefslogtreecommitdiff
path: root/libzeitgeist/log.vala
diff options
context:
space:
mode:
authorSiegfried-Angel Gevatter Pujals <siegfried@gevatter.com>2012-09-08 19:00:36 +0200
committerSiegfried-Angel Gevatter Pujals <siegfried@gevatter.com>2012-09-08 19:00:36 +0200
commit1543988402a80c1b70652dd73bdb60b756c6bf08 (patch)
treeb573fc37be21432744792ec691994643e470f11b /libzeitgeist/log.vala
parentd921c1df1b9561e96ae7bf333141431b7d4c303b (diff)
downloadzeitgeist-1543988402a80c1b70652dd73bdb60b756c6bf08.tar.gz
libzeitgeist: add "null event" handling
GetEvents returns null-events when a requested ID doesn't exist. This commit fixes libzeitgeist to properly support this, by changing zeitgeist_log_get_events to return GenericArray<Event?>. https://bugs.freedesktop.org/show_bug.cgi?id=53016
Diffstat (limited to 'libzeitgeist/log.vala')
-rw-r--r--libzeitgeist/log.vala13
1 files changed, 7 insertions, 6 deletions
diff --git a/libzeitgeist/log.vala b/libzeitgeist/log.vala
index 47e33114..0460a5f2 100644
--- a/libzeitgeist/log.vala
+++ b/libzeitgeist/log.vala
@@ -154,16 +154,16 @@ public class Log : QueuedProxyWrapper
num_events, result_type, cancellable);
}
- public async ResultSet get_events (
- Array<uint32> event_ids,
- Cancellable? cancellable=null) throws Error
+ public async GenericArray<Event> get_events (
+ Array<uint32> event_ids,
+ Cancellable? cancellable=null) throws Error
{
yield wait_for_proxy ();
uint32[] simple_event_ids = new uint32[event_ids.length];
- for (int i=0; i<event_ids.length; i++)
- simple_event_ids[i] = event_ids.index(i);
+ for (int i = 0; i < event_ids.length; i++)
+ simple_event_ids[i] = event_ids.index (i);
var result = yield proxy.get_events (simple_event_ids, cancellable);
- return new SimpleResultSet (Events.from_variant (result));
+ return Events.from_variant (result);
}
public async string[] find_related_uris (
@@ -218,6 +218,7 @@ public class Log : QueuedProxyWrapper
{
DBusConnection conn = ((DBusProxy) proxy).get_connection ();
+ // FIXME: check exception
uint registration_id = conn.register_object<RemoteMonitor> (
monitor.get_path (), monitor);
monitors.insert (monitor, registration_id);