summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorSeif Lotfy <seif@lotfy.com>2012-11-04 19:18:20 +0100
committerSeif Lotfy <seif@lotfy.com>2012-11-04 19:18:20 +0100
commit04f47d1494289959b856003c0a1f632b2b33b693 (patch)
treeef7ca20606eddffe891117528ded6b58a154db2d /examples
parentb69ed8d06681f833cda092f427bb29172a0d1ab7 (diff)
downloadzeitgeist-04f47d1494289959b856003c0a1f632b2b33b693.tar.gz
Add insert events example
Diffstat (limited to 'examples')
-rw-r--r--examples/Makefile.am4
-rw-r--r--examples/insert-events.vala39
2 files changed, 43 insertions, 0 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am
index be240cb7..5a6d7138 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -23,6 +23,7 @@ noinst_PROGRAMS = \
get-events-with-id \
monitor-events \
most-recent-events \
+ insert-events \
$(NULL)
data_source_stuff_SOURCES = data-source-stuff.vala
@@ -37,5 +38,8 @@ monitor_events_LDADD = $(zeitgeist_libs)
most_recent_events_SOURCES = most-recent-events.vala
most_recent_events_LDADD = $(zeitgeist_libs)
+insert_events_SOURCES = insert-events.vala
+insert_events_LDADD = $(zeitgeist_libs)
+
distclean-local:
rm -f *.c *.o *.~[0-9]~
diff --git a/examples/insert-events.vala b/examples/insert-events.vala
new file mode 100644
index 00000000..162290d6
--- /dev/null
+++ b/examples/insert-events.vala
@@ -0,0 +1,39 @@
+using Zeitgeist;
+
+int main ()
+{
+ var mainloop = new MainLoop(MainContext.default ());
+ var events = new GenericArray<Event> ();
+ var ev = new Event ();
+ var su = new Subject ();
+ ev.add_subject (su);
+ events.add (ev);
+ ev.interpretation = "foo://Interp";
+ ev.manifestation = "foo://Manif";
+ ev.actor = "app://firefox.desktop";
+
+ su.uri = "file:///tmp/bar.txt";
+ su.interpretation = "foo://TextDoc";
+ su.manifestation = "foo://File";
+ su.mimetype = "text/plain";
+ su.origin = "file:///tmp";
+ su.text = "bar.txt";
+ su.storage = "bfb486f6-f5f8-4296-8871-0cc749cf8ef7";
+
+ /* This method call now owns all events, subjects, and the events array */
+ Zeitgeist.Log.get_default ().insert_events (
+ events, null, (log, res) => {
+ Array<uint32> event_ids;
+ Zeitgeist.Log zg = (Zeitgeist.Log) log;
+ try {
+ event_ids = zg.insert_events.end (res);
+ }
+ catch (Error error) {
+ critical ("Failed to insert events: %s", error.message);
+ return;
+ }
+ mainloop.quit ();
+ });
+ mainloop.run ();
+ return 0;
+}