[folks] telepathy: Port to zeitgeist 2.0



commit c26ba6bb8a9e2556e14253a9c2849fd0f2701baf
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Fri Jun 21 14:52:22 2013 +0200

    telepathy: Port to zeitgeist 2.0
    
    Signed-off-by: Seif Lotfy <seif lotfy com>

 backends/telepathy/lib/tpf-persona-store.vala |   43 +++++++++++++++++--------
 backends/telepathy/lib/tpf-persona.vala       |   14 ++++----
 configure.ac                                  |   10 +++---
 docs/Makefile.am                              |    2 +-
 4 files changed, 42 insertions(+), 27 deletions(-)
---
diff --git a/backends/telepathy/lib/tpf-persona-store.vala b/backends/telepathy/lib/tpf-persona-store.vala
index d1a666d..59ba3a7 100644
--- a/backends/telepathy/lib/tpf-persona-store.vala
+++ b/backends/telepathy/lib/tpf-persona-store.vala
@@ -101,7 +101,7 @@ public class Tpf.PersonaStore : Folks.PersonaStore
   private Account _account;
 
 #if HAVE_ZEITGEIST
-  private Zeitgeist.Log? _log= null;
+  private Zeitgeist.Log? _log = null;
   private Zeitgeist.Monitor? _monitor = null;
 #endif
 
@@ -296,6 +296,13 @@ public class Tpf.PersonaStore : Folks.PersonaStore
               this._account_manager_invalidated_cb);
           this._account_manager = null;
         }
+#if HAVE_ZEITGEIST
+      if (this._monitor != null)
+        {
+          this._log.remove_monitor (this._monitor);
+          this._monitor = null;
+        }
+#endif
     }
 
   private string _format_maybe_bool (MaybeBool input)
@@ -1738,14 +1745,14 @@ public class Tpf.PersonaStore : Folks.PersonaStore
         {
           for (var i = 1; i < e.num_subjects (); i++)
             {
-              var id = this._get_iid_from_event_metadata (e.get_subject (i).get_uri ());
-              var interaction_type = e.get_subject (0).get_interpretation ();
+              var id = this._get_iid_from_event_metadata (e.get_subject (i).uri);
+              var interaction_type = e.get_subject (0).interpretation;
               this._increase_persona_counter (id, interaction_type, e);
             }
         }
     }
 
-  private PtrArray _get_zeitgeist_event_templates ()
+  private GLib.GenericArray<Zeitgeist.Event> _get_zeitgeist_event_templates ()
     {
       /* To fetch events from Zeitgeist about the interaction with contacts we
        * create templates reflecting how the telepathy-logger stores events in
@@ -1753,9 +1760,9 @@ public class Tpf.PersonaStore : Folks.PersonaStore
       var origin = this.id.replace (TelepathyGLib.ACCOUNT_OBJECT_PATH_BASE,
                                     "x-telepathy-account-path:");
       Event ev1 = new Event.full ("", "", "dbus://org.freedesktop.Telepathy.Logger.service");
-      ev1.set_origin (origin);
-      var templates = new PtrArray ();
-      templates.add (ev1.ref ());
+      ev1.origin = origin;
+      var templates = new GLib.GenericArray<Zeitgeist.Event> ();
+      templates.add (ev1);
       return templates;
     }
 
@@ -1776,10 +1783,10 @@ public class Tpf.PersonaStore : Folks.PersonaStore
           /* We want events from the last 30 days only, A day has 86400 seconds.
            * start_timestamp = end_timestamp - 30 days in seconds*/
           int64 start_timestamp = end_timestamp - (86400 * 30);
-          PtrArray events = this._get_zeitgeist_event_templates ();
+          GLib.GenericArray<Zeitgeist.Event> events = this._get_zeitgeist_event_templates ();
           var results = yield this._log.find_events (
               new TimeRange (start_timestamp * 1000, end_timestamp * 1000),
-              (owned) events, StorageState.ANY, 0, ResultType.MOST_RECENT_EVENTS,
+              events, StorageState.ANY, 0, ResultType.MOST_RECENT_EVENTS,
               null);
           foreach (var persona in this._personas.values)
             {
@@ -1788,10 +1795,10 @@ public class Tpf.PersonaStore : Folks.PersonaStore
             }
           foreach (var e in results)
             {
-              var interaction_type = e.get_subject (0).get_interpretation ();
+              var interaction_type = e.get_subject (0).interpretation;
               for (var i = 1; i < e.num_subjects (); i++)
                 {
-                  var id = this._get_iid_from_event_metadata (e.get_subject (i).get_uri ());
+                  var id = this._get_iid_from_event_metadata (e.get_subject (i).uri);
                   this._increase_persona_counter (id, interaction_type, e);
                 }
             }
@@ -1809,11 +1816,19 @@ public class Tpf.PersonaStore : Folks.PersonaStore
        * counters upon interaction changes.*/
       if (this._monitor == null)
         {
-          PtrArray monitor_events = this._get_zeitgeist_event_templates ();
+          GLib.GenericArray<Zeitgeist.Event> monitor_events = this._get_zeitgeist_event_templates ();
           this._monitor = new Zeitgeist.Monitor (new Zeitgeist.TimeRange.from_now (),
-              (owned) monitor_events);
+              monitor_events);
           this._monitor.events_inserted.connect (this._handle_new_interaction);
-          this._log.install_monitor (this._monitor);
+          try
+            {
+              this._log.install_monitor (this._monitor);
+            }
+          catch
+            {
+              warning ("Failed to install monitor for Zeitgeist");
+              this._monitor = null;
+            }
         }
 
       this._notify_if_is_quiescent ();
diff --git a/backends/telepathy/lib/tpf-persona.vala b/backends/telepathy/lib/tpf-persona.vala
index 3b5d78a..57cdb1b 100644
--- a/backends/telepathy/lib/tpf-persona.vala
+++ b/backends/telepathy/lib/tpf-persona.vala
@@ -1379,14 +1379,14 @@ public class Tpf.Persona : Folks.Persona,
 #if HAVE_ZEITGEIST
   internal void _increase_counter (string id, string interaction_type, Event event)
     {
-      var timestamp = (uint) (event.get_timestamp () / 1000);
+      var timestamp = (uint) (event.timestamp / 1000);
       var converted_datetime = new DateTime.from_unix_utc (timestamp);
-      var interpretation = event.get_interpretation ();
+      var interpretation = event.interpretation;
 
       /* Only count send/receive for IM interactions */
-      if (interaction_type == Zeitgeist.NMO_IMMESSAGE &&
-          (interpretation == Zeitgeist.ZG_SEND_EVENT ||
-           interpretation == Zeitgeist.ZG_RECEIVE_EVENT))
+      if (interaction_type == Zeitgeist.NMO.IMMESSAGE &&
+          (interpretation == Zeitgeist.ZG.SEND_EVENT ||
+           interpretation == Zeitgeist.ZG.RECEIVE_EVENT))
         {
           this._im_interaction_count++;
           this.notify_property ("im-interaction-count");
@@ -1400,8 +1400,8 @@ public class Tpf.Persona : Folks.Persona,
               id, this._im_interaction_count, this._last_im_interaction_datetime.format ("%H %M %S - %d %m 
%y"));
         }
       /* Only count successful call for call interactions */
-      else if (interaction_type == Zeitgeist.NFO_AUDIO &&
-                interpretation == Zeitgeist.ZG_LEAVE_EVENT)
+      else if (interaction_type == Zeitgeist.NFO.AUDIO &&
+                interpretation == Zeitgeist.ZG.LEAVE_EVENT)
         {
           this._call_interaction_count++;
           this.notify_property ("call-interaction-count");
diff --git a/configure.ac b/configure.ac
index 64bda1d..53f5d27 100644
--- a/configure.ac
+++ b/configure.ac
@@ -185,7 +185,7 @@ TRACKER_SPARQL_MAJOR=0.16
 TRACKER_SPARQL_REQUIRED=0.15.2
 EBOOK_REQUIRED=3.8.1
 EDATASERVER_REQUIRED=3.5.3.1
-ZEITGEIST_REQUIRED=0.3.14
+ZEITGEIST_REQUIRED=0.9.14
 GEE_REQUIRED=0.8.4
 
 AC_SUBST([TRACKER_SPARQL_MAJOR])
@@ -207,14 +207,14 @@ AS_IF([test x$enable_telepathy_backend = xyes], [
 case "x$enable_zeitgeist" in
   xyes)
     AS_IF([test x$enable_telepathy_backend = xyes],
-          [PKG_CHECK_MODULES([ZEITGEIST], [zeitgeist-1.0 >= $ZEITGEIST_REQUIRED], 
+          [PKG_CHECK_MODULES([ZEITGEIST], [zeitgeist-2.0 >= $ZEITGEIST_REQUIRED],
            ,
            [AC_MSG_ERROR([Zeitgeist support requires Zeitgeist development package])])])
     have_zeitgeist=yes
     ;;
   xauto)
     AS_IF([test x$enable_telepathy_backend = xyes],
-          [PKG_CHECK_MODULES([ZEITGEIST], [zeitgeist-1.0 >= $ZEITGEIST_REQUIRED],
+          [PKG_CHECK_MODULES([ZEITGEIST], [zeitgeist-2.0 >= $ZEITGEIST_REQUIRED],
                              have_zeitgeist="yes",have_zeitgeist="no")],
           [have_zeitgeist=no])
     ;;
@@ -228,7 +228,7 @@ esac
 AS_IF([test "x$have_zeitgeist" == "xyes"], [
    ZEITGEIST_VALAFLAGS="-D HAVE_ZEITGEIST"
    AC_SUBST([ZEITGEIST_VALAFLAGS])
-   ZEITGEIST_PKG="--pkg zeitgeist-1.0"
+   ZEITGEIST_PKG="--pkg zeitgeist-2.0"
    AC_SUBST([ZEITGEIST_PKG])
 ])
 
@@ -333,7 +333,7 @@ AS_IF([test "x$enable_vala" = "xyes"], [
         AS_IF([test x$enable_telepathy_backend = xyes], [
           VALA_CHECK_PACKAGES([telepathy-glib])
          AS_IF([test "x$have_zeitgeist" == "xyes"], [
-             VALA_CHECK_PACKAGES([zeitgeist-1.0])
+             VALA_CHECK_PACKAGES([zeitgeist-2.0])
          ])
         ])
 
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 575c93a..364280f 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -134,7 +134,7 @@ folks_telepathy_doc_deps = \
        gio-2.0 \
        gee-0.8 \
        telepathy-glib \
-       zeitgeist-1.0 \
+       zeitgeist-2.0 \
        tp-lowlevel \
        build-conf \
        folks \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]