[bijiben] Zeitgeist: noteBook owns the log



commit 1118bbe9b0d807528dd69e53f70ee583b4a9b6bd
Author: Pierre-Yves Luyten <py luyten fr>
Date:   Tue Jul 9 11:40:48 2013 +0200

    Zeitgeist: noteBook owns the log
    
    NoteBook creates the zg log and pushes the data source.

 src/libbiji/biji-note-book.c |    9 ++++++
 src/libbiji/biji-note-book.h |    3 ++
 src/libbiji/biji-zeitgeist.c |   63 ++++++++++++++++++++++++++++--------------
 src/libbiji/biji-zeitgeist.h |    7 ++++-
 4 files changed, 60 insertions(+), 22 deletions(-)
---
diff --git a/src/libbiji/biji-note-book.c b/src/libbiji/biji-note-book.c
index 3b16e84..18044c9 100644
--- a/src/libbiji/biji-note-book.c
+++ b/src/libbiji/biji-note-book.c
@@ -37,6 +37,7 @@ struct _BijiNoteBookPrivate
 
   GFile *location;
   TrackerSparqlConnection *connection;
+  ZeitgeistLog *log;
   GdkRGBA color;
 };
 
@@ -88,6 +89,7 @@ biji_note_book_init (BijiNoteBook *self)
 
   error = NULL;
   priv->connection = tracker_sparql_connection_get (NULL, &error);
+  priv->log = biji_zeitgeist_init ();
 
   if (error)
   {
@@ -97,6 +99,13 @@ biji_note_book_init (BijiNoteBook *self)
 }
 
 
+ZeitgeistLog *
+biji_note_book_get_zg_log (BijiNoteBook *book)
+{
+  return book->priv->log;
+}
+
+
 TrackerSparqlConnection *
 biji_note_book_get_tracker_connection (BijiNoteBook *book)
 {
diff --git a/src/libbiji/biji-note-book.h b/src/libbiji/biji-note-book.h
index e77520a..b3b5bbe 100644
--- a/src/libbiji/biji-note-book.h
+++ b/src/libbiji/biji-note-book.h
@@ -3,6 +3,7 @@
 
 #include <glib-object.h>
 #include <tracker-sparql.h>
+#include <zeitgeist.h>
 
 #include "biji-note-obj.h"
 
@@ -57,6 +58,8 @@ void             biji_note_book_add_goa_object        (BijiNoteBook *book,
                                                        GoaObject *object);
 
 
+ZeitgeistLog    *biji_note_book_get_zg_log            (BijiNoteBook *book);
+
 TrackerSparqlConnection
                 *biji_note_book_get_tracker_connection (BijiNoteBook *book);
 
diff --git a/src/libbiji/biji-zeitgeist.c b/src/libbiji/biji-zeitgeist.c
index 31faf6b..26f4027 100644
--- a/src/libbiji/biji-zeitgeist.c
+++ b/src/libbiji/biji-zeitgeist.c
@@ -19,42 +19,63 @@
 #include <libbiji.h>
 #include "biji-zeitgeist.h"
 
-static ZeitgeistLog *global_log;
 
-static ZeitgeistLog *
-get_log (void)
+ZeitgeistLog *
+biji_zeitgeist_init (void)
 {
-  if (global_log == NULL )
-    global_log = g_object_new (ZEITGEIST_TYPE_LOG, NULL);
+  GPtrArray *ptr_arr;
+  ZeitgeistEvent *event;
+  ZeitgeistDataSource *ds;
+  ZeitgeistDataSourceRegistry *zg_dsr = NULL;
+  ZeitgeistLog *log;
 
-  return global_log ;
+  log = zeitgeist_log_new ();
+  event = zeitgeist_event_new_full (
+    NULL, NULL, "application://bijiben.desktop", NULL, NULL);
+
+  ptr_arr = g_ptr_array_new ();
+  g_ptr_array_add (ptr_arr, event);
+
+  ds = zeitgeist_data_source_new_full ("org.gnome.bijiben,dataprovider",
+                                       "Notes dataprovider",
+                                       "Logs events about accessed notes",
+                                       ptr_arr),
+
+  zg_dsr = zeitgeist_data_source_registry_new ();
+  zeitgeist_data_source_registry_register_data_source (zg_dsr, ds,
+                                                       NULL, NULL, NULL);
+  g_ptr_array_set_free_func (ptr_arr, g_object_unref);
+  g_ptr_array_unref (ptr_arr);
+
+  return log;
 }
 
+
 void 
-insert_zeitgeist (BijiNoteObj *note, const char *action)
+insert_zeitgeist (BijiNoteObj *note, gchar *zg_interpretation)
 {
   gchar *uri;
   ZeitgeistEvent     *event;
   ZeitgeistSubject   *subject ;
-  ZeitgeistLog       *log = get_log() ;
+  ZeitgeistLog       *log;
 
+  log = biji_note_book_get_zg_log (biji_item_get_book (BIJI_ITEM (note)));
   uri = g_strdup_printf ("file://%s", biji_item_get_uuid (BIJI_ITEM (note)));
 
-  subject = zeitgeist_subject_new_full (uri,                            //URI
-                                        ZEITGEIST_NFO_DOCUMENT,         //inter
-                                        ZEITGEIST_NFO_FILE_DATA_OBJECT, //mani
-                                        "application/x-note",           //mime
-                                        "",                             //origin
-                                        biji_item_get_title (BIJI_ITEM (note)),     //text
-                                        "") ;                           //storage
-
-  g_free (uri);
+  subject = zeitgeist_subject_new_full (uri,
+                                        ZEITGEIST_NFO_DOCUMENT,
+                                        ZEITGEIST_NFO_FILE_DATA_OBJECT,
+                                        "application/x-note",
+                                        "",
+                                        biji_item_get_title (BIJI_ITEM (note)),
+                                        "");
 
-  event = zeitgeist_event_new_full (action,
+  event = zeitgeist_event_new_full (zg_interpretation,
                                     ZEITGEIST_ZG_USER_ACTIVITY,
                                     "application://bijiben.desktop",
-                                    subject,
-                                    NULL );
+                                    "",
+                                    subject);
 
-  zeitgeist_log_insert_events_no_reply (log, event, NULL);
+  zeitgeist_log_insert_event_no_reply (log, event, NULL);
+  g_free (uri);
 }
diff --git a/src/libbiji/biji-zeitgeist.h b/src/libbiji/biji-zeitgeist.h
index f28d867..c4bae88 100644
--- a/src/libbiji/biji-zeitgeist.h
+++ b/src/libbiji/biji-zeitgeist.h
@@ -21,6 +21,11 @@
 
 #include "biji-note-obj.h"
 
-void insert_zeitgeist(BijiNoteObj *note,const char *action) ;
+
+ZeitgeistLog           *biji_zeitgeist_init             (void);
+
+
+void                    insert_zeitgeist                (BijiNoteObj *note,
+                                                         gchar *zg_interpretation);
 
 #endif /* _BIJI_ZEITGEIST_H */


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