diff options
author | Seif Lotfy <seif@lotfy.com> | 2012-11-04 19:18:20 +0100 |
---|---|---|
committer | Seif Lotfy <seif@lotfy.com> | 2012-11-04 19:18:20 +0100 |
commit | 04f47d1494289959b856003c0a1f632b2b33b693 (patch) | |
tree | ef7ca20606eddffe891117528ded6b58a154db2d /examples | |
parent | b69ed8d06681f833cda092f427bb29172a0d1ab7 (diff) | |
download | zeitgeist-04f47d1494289959b856003c0a1f632b2b33b693.tar.gz |
Add insert events example
Diffstat (limited to 'examples')
-rw-r--r-- | examples/Makefile.am | 4 | ||||
-rw-r--r-- | examples/insert-events.vala | 39 |
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; +} |