------------------------------------------------------------
revno: 348
committer: Seif Lotfy <s...@lotfy.com>
branch nick: zeitgeist
timestamp: Wed 2011-12-21 21:34:22 +0100
message:
  Added missing files
added:
  extensions/benchmark.vala
  src/ext-benchmark.vala@


--
lp:zeitgeist
https://code.launchpad.net/~zeitgeist/zeitgeist/bluebird

Your team Zeitgeist Framework Team is subscribed to branch lp:zeitgeist.
To unsubscribe from this branch go to 
https://code.launchpad.net/~zeitgeist/zeitgeist/bluebird/+edit-subscription
=== added file 'extensions/benchmark.vala'
--- extensions/benchmark.vala	1970-01-01 00:00:00 +0000
+++ extensions/benchmark.vala	2011-12-21 20:34:22 +0000
@@ -0,0 +1,105 @@
+/* fts.vala
+ *
+ * Copyright © 2011 Collabora Ltd.
+ *             By Seif Lotfy <s...@lotfy.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Zeitgeist
+{
+    [DBus (name = "org.gnome.zeitgeist.Benchmark")]
+    public interface RemoteBenchmarker: Object
+    {
+        [DBus (signature = "a(asaasay)")]
+        public abstract async Variant find_events (
+            [DBus (signature = "(xx)")] Variant time_range,
+            [DBus (signature = "a(asaasay)")] Variant event_templates,
+            uint storage_state, uint num_events, uint result_type,
+            out HashTable<string, Variant> extra_data)
+            throws Error;
+    }
+
+    class Benchmarker: Extension, RemoteBenchmarker
+    {
+
+        private uint registration_id;
+
+        Benchmarker ()
+        {
+            Object ();
+        }
+
+        construct
+        {
+            try
+            {
+                var connection = Bus.get_sync (BusType.SESSION, null);
+                registration_id = connection.register_object<RemoteBenchmarker> (
+                    "/org/gnome/zeitgeist/benchmark", this);
+            }
+            catch (Error err)
+            {
+                warning ("%s", err.message);
+            }
+        }
+
+        public async Variant find_events (Variant time_range,
+            Variant filter_templates, uint storage_state, uint num_events, 
+            uint result_type, out HashTable<string, Variant> extra_data)
+            throws Error
+        {
+            extra_data = new HashTable<string, Variant>(
+                str_hash, str_equal);
+         
+            var find_event_ids_timer = new Timer ();
+            var ids = engine.find_event_ids (
+                new TimeRange.from_variant (time_range),
+                Events.from_variant (filter_templates),
+                storage_state, num_events, result_type); 
+            var find_event_ids_elapsed = find_event_ids_timer.elapsed();
+            
+            var get_events_timer = new Timer ();
+            var events = engine.get_events (ids);
+            var get_events_elapsed = get_events_timer.elapsed();
+            
+            var find_events_elapsed = get_events_elapsed + find_event_ids_elapsed;
+            
+            extra_data.insert("find_event_ids", 
+                new Variant.double(find_event_ids_elapsed));
+            extra_data.insert("get_events", 
+                new Variant.double(get_events_elapsed));
+            extra_data.insert("find_events", 
+                new Variant.double(find_events_elapsed ));
+            extra_data.insert("events", Events.to_variant(events));
+            
+            return extra_data;
+        }
+
+    }
+
+    [ModuleInit]
+#if BUILTIN_EXTENSIONS
+    public static Type benchmark_init (TypeModule module)
+    {
+#else
+    public static Type extension_register (TypeModule module)
+    {
+#endif
+        return typeof (Benchmarker);
+    }
+}
+
+// vim:expandtab:ts=4:sw=4

=== added symlink 'src/ext-benchmark.vala'
=== target is u'/home/seif/Projects/zeitgeist/extensions/benchmark.vala'
_______________________________________________
Mailing list: https://launchpad.net/~zeitgeist
Post to     : zeitgeist@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zeitgeist
More help   : https://help.launchpad.net/ListHelp

Reply via email to