Merge lp:~jplacerda/libzeitgeist/776651 into lp:libzeitgeist

Proposed by J.P. Lacerda
Status: Rejected
Rejected by: Mikkel Kamstrup Erlandsen
Proposed branch: lp:~jplacerda/libzeitgeist/776651
Merge into: lp:libzeitgeist
Diff against target: 454 lines (+130/-11)
5 files modified
src/zeitgeist-event.c (+64/-5)
src/zeitgeist-event.h (+6/-0)
src/zeitgeist-subject.c (+37/-3)
src/zeitgeist-subject.h (+6/-1)
tests/test-event.c (+17/-2)
To merge this branch: bzr merge lp:~jplacerda/libzeitgeist/776651
Reviewer Review Type Date Requested Status
Mikkel Kamstrup Erlandsen Pending
Review via email: mp+60658@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) wrote :

Awesome work! The code looks good at a glance. I'll do a thorough review later today and run the tests to give it a final +1.

Revision history for this message
Siegfried Gevatter (rainct) wrote :

It's missing support for old variants (without origin/current_uri). Other than that (and some typo in a comment) it looks good to me.

Nice work!

I'm uploading an updated branch with that fix plus removing the changes to the constructors for now, since those break the API (we can introduce them at some later point).

Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) wrote :

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/zeitgeist-event.c'
--- src/zeitgeist-event.c 2011-03-25 12:14:46 +0000
+++ src/zeitgeist-event.c 2011-05-11 16:08:25 +0000
@@ -82,6 +82,7 @@
82 ZEITGEIST_EVENT_INTERPRETATION,82 ZEITGEIST_EVENT_INTERPRETATION,
83 ZEITGEIST_EVENT_MANIFESTATION,83 ZEITGEIST_EVENT_MANIFESTATION,
84 ZEITGEIST_EVENT_ACTOR,84 ZEITGEIST_EVENT_ACTOR,
85 ZEITGEIST_EVENT_ORIGIN,
85} ZeitgeistEventDataOffset;86} ZeitgeistEventDataOffset;
8687
87typedef struct88typedef struct
@@ -91,6 +92,7 @@
91 gchar *interpretation;92 gchar *interpretation;
92 gchar *manifestation;93 gchar *manifestation;
93 gchar *actor;94 gchar *actor;
95 gchar *origin;
94 GPtrArray *subjects;96 GPtrArray *subjects;
95 GByteArray *payload;97 GByteArray *payload;
96} ZeitgeistEventPrivate;98} ZeitgeistEventPrivate;
@@ -431,6 +433,51 @@
431}433}
432434
433/**435/**
436 * zeitgeist_event_get_origin:
437 * @event: The event to get the origin from
438 *
439 * Get the origin of an event.
440 * This differs from a subject's origin, as it described where the event comes
441 * from, not where it resides.
442 *
443 * Returns: The origin of @event.
444 */
445const gchar*
446zeitgeist_event_get_origin (ZeitgeistEvent *event)
447{
448 g_return_val_if_fail (ZEITGEIST_IS_EVENT (event), NULL);
449
450 ZeitgeistEventPrivate* priv = ZEITGEIST_EVENT_GET_PRIVATE (event);
451
452 return priv->origin;
453}
454
455/**
456 * zeitgeist_event_set_origin:
457 * @event: The event to set the origin of
458 * @origin: The origin to set
459 *
460 * Set the origin of an event.
461 */
462void
463zeitgeist_event_set_origin (ZeitgeistEvent *event,
464 const gchar *origin)
465{
466 g_return_if_fail (ZEITGEIST_IS_EVENT (event));
467
468 ZeitgeistEventPrivate* priv = ZEITGEIST_EVENT_GET_PRIVATE (event);
469
470 gchar* copy = g_strdup (origin);
471
472 if (priv->origin)
473 {
474 g_free (priv->origin);
475 }
476
477 priv->origin = copy;
478}
479
480/**
434 * zeitgeist_event_get_payload:481 * zeitgeist_event_get_payload:
435 * @event: The event to get the payload for482 * @event: The event to get the payload for
436 *483 *
@@ -439,7 +486,6 @@
439 * Returns: The event payload or %NULL if unset. Do not free. If you want to486 * Returns: The event payload or %NULL if unset. Do not free. If you want to
440 * keep the subject around you need to g_byte_array_ref() it.487 * keep the subject around you need to g_byte_array_ref() it.
441 */488 */
442
443GByteArray*489GByteArray*
444zeitgeist_event_get_payload (ZeitgeistEvent *event)490zeitgeist_event_get_payload (ZeitgeistEvent *event)
445{491{
@@ -491,6 +537,7 @@
491 priv->interpretation = NULL;537 priv->interpretation = NULL;
492 priv->manifestation = NULL;538 priv->manifestation = NULL;
493 priv->actor = NULL;539 priv->actor = NULL;
540 priv->origin = NULL;
494 priv->subjects = g_ptr_array_new_with_free_func (541 priv->subjects = g_ptr_array_new_with_free_func (
495 (GDestroyNotify)g_object_unref);542 (GDestroyNotify)g_object_unref);
496 priv->payload = NULL;543 priv->payload = NULL;
@@ -506,14 +553,15 @@
506553
507 if (priv->subjects)554 if (priv->subjects)
508 {555 {
509 /* Subjects are unreffed by the free-func of the GPtrArray */556 /* Subjects are unreffed by the free-func of the GPtrArray */
510 g_ptr_array_unref (priv->subjects);557 g_ptr_array_unref (priv->subjects);
511 priv->subjects = NULL;558 priv->subjects = NULL;
512 }559 }
513 560
514 zeitgeist_event_set_interpretation (event, NULL);561 zeitgeist_event_set_interpretation (event, NULL);
515 zeitgeist_event_set_manifestation (event, NULL);562 zeitgeist_event_set_manifestation (event, NULL);
516 zeitgeist_event_set_actor (event, NULL); 563 zeitgeist_event_set_actor (event, NULL);
564 zeitgeist_event_set_origin (event, NULL);
517 zeitgeist_event_set_payload (event, NULL);565 zeitgeist_event_set_payload (event, NULL);
518566
519 G_OBJECT_CLASS (zeitgeist_event_parent_class)->finalize (object);567 G_OBJECT_CLASS (zeitgeist_event_parent_class)->finalize (object);
@@ -574,14 +622,15 @@
574zeitgeist_event_new_full (const gchar *interpretation,622zeitgeist_event_new_full (const gchar *interpretation,
575 const gchar *manifestation,623 const gchar *manifestation,
576 const gchar *actor,624 const gchar *actor,
625 const gchar *origin,
577 ...)626 ...)
578{627{
579 va_list args;628 va_list args;
580 ZeitgeistEvent *self;629 ZeitgeistEvent *self;
581630
582 va_start (args, actor);631 va_start (args, origin);
583 self = zeitgeist_event_new_full_valist (interpretation, manifestation,632 self = zeitgeist_event_new_full_valist (interpretation, manifestation,
584 actor, args);633 actor, origin, args);
585 va_end (args);634 va_end (args);
586 635
587 return self;636 return self;
@@ -605,6 +654,7 @@
605zeitgeist_event_new_full_valist (const gchar *interpretation,654zeitgeist_event_new_full_valist (const gchar *interpretation,
606 const gchar *manifestation,655 const gchar *manifestation,
607 const gchar *actor,656 const gchar *actor,
657 const gchar *origin,
608 va_list args)658 va_list args)
609{659{
610 ZeitgeistEvent *self;660 ZeitgeistEvent *self;
@@ -614,6 +664,7 @@
614 zeitgeist_event_set_interpretation (self, interpretation);664 zeitgeist_event_set_interpretation (self, interpretation);
615 zeitgeist_event_set_manifestation (self, manifestation);665 zeitgeist_event_set_manifestation (self, manifestation);
616 zeitgeist_event_set_actor (self, actor);666 zeitgeist_event_set_actor (self, actor);
667 zeitgeist_event_set_origin (self, origin);
617668
618 subject = va_arg (args, ZeitgeistSubject*);669 subject = va_arg (args, ZeitgeistSubject*);
619 while (subject != NULL)670 while (subject != NULL)
@@ -686,6 +737,9 @@
686 g_variant_iter_loop (event_data, "s", &str);737 g_variant_iter_loop (event_data, "s", &str);
687 zeitgeist_event_set_actor (result, str[0] == '\0' ? NULL : str);738 zeitgeist_event_set_actor (result, str[0] == '\0' ? NULL : str);
688739
740 g_variant_iter_loop (event_data, "s", &str);
741 zeitgeist_event_set_origin (result, str[0] == '\0' ? NULL : str);
742
689 /* Build the list of subjects */743 /* Build the list of subjects */
690 while (g_variant_iter_loop (subjects, "as", &subject_data))744 while (g_variant_iter_loop (subjects, "as", &subject_data))
691 {745 {
@@ -720,6 +774,9 @@
720 g_variant_iter_loop (subject_data, "s", &str);774 g_variant_iter_loop (subject_data, "s", &str);
721 zeitgeist_subject_set_storage (subject, str[0] == '\0' ? NULL : str);775 zeitgeist_subject_set_storage (subject, str[0] == '\0' ? NULL : str);
722776
777 g_variant_iter_loop (subject_data, "s", &str);
778 zeitgeist_subject_set_current_uri (subject, str[0] == '\0' ? NULL : str);
779
723 zeitgeist_event_add_subject (result, subject);780 zeitgeist_event_add_subject (result, subject);
724 }781 }
725782
@@ -787,6 +844,7 @@
787 g_variant_builder_add (&b, "s", (bif = zeitgeist_event_get_interpretation(event), bif ? bif : ""));844 g_variant_builder_add (&b, "s", (bif = zeitgeist_event_get_interpretation(event), bif ? bif : ""));
788 g_variant_builder_add (&b, "s", (bif = zeitgeist_event_get_manifestation(event), bif ? bif : ""));845 g_variant_builder_add (&b, "s", (bif = zeitgeist_event_get_manifestation(event), bif ? bif : ""));
789 g_variant_builder_add (&b, "s", (bif = zeitgeist_event_get_actor (event), bif ? bif : ""));846 g_variant_builder_add (&b, "s", (bif = zeitgeist_event_get_actor (event), bif ? bif : ""));
847 g_variant_builder_add (&b, "s", (bif = zeitgeist_event_get_origin (event), bif ? bif : ""));
790 g_variant_builder_close (&b);848 g_variant_builder_close (&b);
791849
792 /* Build subjects */850 /* Build subjects */
@@ -803,6 +861,7 @@
803 g_variant_builder_add (&b, "s", (bif = zeitgeist_subject_get_mimetype(su), bif ? bif : ""));861 g_variant_builder_add (&b, "s", (bif = zeitgeist_subject_get_mimetype(su), bif ? bif : ""));
804 g_variant_builder_add (&b, "s", (bif = zeitgeist_subject_get_text(su), bif ? bif : ""));862 g_variant_builder_add (&b, "s", (bif = zeitgeist_subject_get_text(su), bif ? bif : ""));
805 g_variant_builder_add (&b, "s", (bif = zeitgeist_subject_get_storage(su), bif ? bif : ""));863 g_variant_builder_add (&b, "s", (bif = zeitgeist_subject_get_storage(su), bif ? bif : ""));
864 g_variant_builder_add (&b, "s", (bif = zeitgeist_subject_get_current_uri(su), bif ? bif : ""));
806 g_variant_builder_close (&b);865 g_variant_builder_close (&b);
807 }866 }
808 g_variant_builder_close (&b);867 g_variant_builder_close (&b);
809868
=== modified file 'src/zeitgeist-event.h'
--- src/zeitgeist-event.h 2011-03-07 14:19:39 +0000
+++ src/zeitgeist-event.h 2011-05-11 16:08:25 +0000
@@ -70,11 +70,13 @@
70ZeitgeistEvent* zeitgeist_event_new_full (const gchar *interpretation,70ZeitgeistEvent* zeitgeist_event_new_full (const gchar *interpretation,
71 const gchar *manifestation,71 const gchar *manifestation,
72 const gchar *actor,72 const gchar *actor,
73 const gchar *origin,
73 ...) G_GNUC_NULL_TERMINATED;74 ...) G_GNUC_NULL_TERMINATED;
7475
75ZeitgeistEvent* zeitgeist_event_new_full_valist (const gchar *interpretation,76ZeitgeistEvent* zeitgeist_event_new_full_valist (const gchar *interpretation,
76 const gchar *manifestation,77 const gchar *manifestation,
77 const gchar *actor,78 const gchar *actor,
79 const gchar *origin,
78 va_list args);80 va_list args);
7981
80ZeitgeistEvent* zeitgeist_event_new_from_variant (GVariant *event);82ZeitgeistEvent* zeitgeist_event_new_from_variant (GVariant *event);
@@ -104,6 +106,10 @@
104void zeitgeist_event_set_actor (ZeitgeistEvent *event,106void zeitgeist_event_set_actor (ZeitgeistEvent *event,
105 const gchar *actor);107 const gchar *actor);
106108
109const gchar* zeitgeist_event_get_origin (ZeitgeistEvent *event);
110void zeitgeist_event_set_origin (ZeitgeistEvent *event,
111 const gchar *origin);
112
107void zeitgeist_event_set_actor_from_app_info (ZeitgeistEvent *event,113void zeitgeist_event_set_actor_from_app_info (ZeitgeistEvent *event,
108 GAppInfo *appinfo);114 GAppInfo *appinfo);
109 115
110116
=== modified file 'src/zeitgeist-subject.c'
--- src/zeitgeist-subject.c 2011-03-07 14:19:39 +0000
+++ src/zeitgeist-subject.c 2011-05-11 16:08:25 +0000
@@ -43,6 +43,8 @@
43 ZEITGEIST_SUBJECT_MIMETYPE,43 ZEITGEIST_SUBJECT_MIMETYPE,
44 ZEITGEIST_SUBJECT_ORIGIN,44 ZEITGEIST_SUBJECT_ORIGIN,
45 ZEITGEIST_SUBJECT_TEXT,45 ZEITGEIST_SUBJECT_TEXT,
46 ZEITGEIST_SUBJECT_STORAGE,
47 ZEITGEIST_SUBJECT_CURRENT_URI,
46} ZeitgeistSubjectDataOffset;48} ZeitgeistSubjectDataOffset;
4749
48typedef struct50typedef struct
@@ -54,6 +56,7 @@
54 gchar *origin;56 gchar *origin;
55 gchar *text;57 gchar *text;
56 gchar *storage;58 gchar *storage;
59 gchar *current_uri;
57} ZeitgeistSubjectPrivate;60} ZeitgeistSubjectPrivate;
5861
59const gchar*62const gchar*
@@ -245,6 +248,33 @@
245 priv->storage = copy;248 priv->storage = copy;
246}249}
247250
251const gchar*
252zeitgeist_subject_get_current_uri (ZeitgeistSubject *subject)
253{
254 g_return_val_if_fail (ZEITGEIST_IS_SUBJECT (subject), NULL);
255
256 ZeitgeistSubjectPrivate *priv = ZEITGEIST_SUBJECT_GET_PRIVATE (subject);
257 return priv->current_uri;
258}
259
260void
261zeitgeist_subject_set_current_uri (ZeitgeistSubject *subject,
262 const gchar *current_uri)
263{
264 g_return_if_fail (ZEITGEIST_IS_SUBJECT (subject));
265
266 ZeitgeistSubjectPrivate *priv = ZEITGEIST_SUBJECT_GET_PRIVATE (subject);
267
268 gchar* copy = g_strdup (current_uri);
269
270 if (priv->current_uri)
271 {
272 g_free (priv->current_uri);
273 }
274
275 priv->current_uri = copy;
276}
277
248static void278static void
249zeitgeist_subject_init (ZeitgeistSubject *object)279zeitgeist_subject_init (ZeitgeistSubject *object)
250{280{
@@ -258,6 +288,7 @@
258 priv->origin = NULL;288 priv->origin = NULL;
259 priv->text = NULL;289 priv->text = NULL;
260 priv->storage = NULL;290 priv->storage = NULL;
291 priv->current_uri = NULL;
261}292}
262293
263static void294static void
@@ -275,6 +306,7 @@
275 zeitgeist_subject_set_origin (subject, NULL);306 zeitgeist_subject_set_origin (subject, NULL);
276 zeitgeist_subject_set_text (subject, NULL);307 zeitgeist_subject_set_text (subject, NULL);
277 zeitgeist_subject_set_storage (subject, NULL);308 zeitgeist_subject_set_storage (subject, NULL);
309 zeitgeist_subject_set_current_uri (subject, NULL);
278 310
279 G_OBJECT_CLASS (zeitgeist_subject_parent_class)->finalize (object);311 G_OBJECT_CLASS (zeitgeist_subject_parent_class)->finalize (object);
280}312}
@@ -319,7 +351,7 @@
319 * @text: A small textual representation of the subject suitable for display351 * @text: A small textual representation of the subject suitable for display
320 * @storage: String identifier for the storage medium the subject is on.352 * @storage: String identifier for the storage medium the subject is on.
321 * Se zeitgeist_subject_set_storage() for details353 * Se zeitgeist_subject_set_storage() for details
322 * 354 * @current_uri: The current URI or URL of the subject
323 * Create a new subject structure with predefined data355 * Create a new subject structure with predefined data
324 *356 *
325 * Returns: A newly create #ZeitgeistSubject instance. The returned subject will357 * Returns: A newly create #ZeitgeistSubject instance. The returned subject will
@@ -335,7 +367,8 @@
335 const gchar *mimetype,367 const gchar *mimetype,
336 const gchar *origin,368 const gchar *origin,
337 const gchar *text,369 const gchar *text,
338 const gchar *storage)370 const gchar *storage,
371 const gchar *current_uri)
339{372{
340 ZeitgeistSubject *self;373 ZeitgeistSubject *self;
341374
@@ -347,6 +380,7 @@
347 zeitgeist_subject_set_origin (self, origin);380 zeitgeist_subject_set_origin (self, origin);
348 zeitgeist_subject_set_text (self, text);381 zeitgeist_subject_set_text (self, text);
349 zeitgeist_subject_set_storage (self, storage);382 zeitgeist_subject_set_storage (self, storage);
350 383 zeitgeist_subject_set_current_uri (self, current_uri);
384
351 return self;385 return self;
352}386}
353387
=== modified file 'src/zeitgeist-subject.h'
--- src/zeitgeist-subject.h 2011-03-07 14:19:39 +0000
+++ src/zeitgeist-subject.h 2011-05-11 16:08:25 +0000
@@ -71,7 +71,8 @@
71 const gchar *mimetype,71 const gchar *mimetype,
72 const gchar *origin,72 const gchar *origin,
73 const gchar *text,73 const gchar *text,
74 const gchar *storage);74 const gchar *storage,
75 const gchar *current_uri);
7576
76const gchar* zeitgeist_subject_get_uri (ZeitgeistSubject *subject);77const gchar* zeitgeist_subject_get_uri (ZeitgeistSubject *subject);
77void zeitgeist_subject_set_uri (ZeitgeistSubject *subject,78void zeitgeist_subject_set_uri (ZeitgeistSubject *subject,
@@ -101,6 +102,10 @@
101void zeitgeist_subject_set_storage (ZeitgeistSubject *subject,102void zeitgeist_subject_set_storage (ZeitgeistSubject *subject,
102 const gchar *storage);103 const gchar *storage);
103104
105const gchar* zeitgeist_subject_get_current_uri (ZeitgeistSubject *subject);
106void zeitgeist_subject_set_current_uri (ZeitgeistSubject *subject,
107 const gchar *current_uri);
108
104G_END_DECLS109G_END_DECLS
105110
106#endif /* _ZEITGEIST_SUBJECT_H_ */111#endif /* _ZEITGEIST_SUBJECT_H_ */
107112
=== modified file 'tests/test-event.c'
--- tests/test-event.c 2011-02-14 08:27:28 +0000
+++ tests/test-event.c 2011-05-11 16:08:25 +0000
@@ -62,6 +62,7 @@
62 g_assert_cmpstr (NULL, ==, zeitgeist_event_get_interpretation (ev));62 g_assert_cmpstr (NULL, ==, zeitgeist_event_get_interpretation (ev));
63 g_assert_cmpstr (NULL, ==, zeitgeist_event_get_manifestation (ev));63 g_assert_cmpstr (NULL, ==, zeitgeist_event_get_manifestation (ev));
64 g_assert_cmpstr (NULL, ==, zeitgeist_event_get_actor (ev));64 g_assert_cmpstr (NULL, ==, zeitgeist_event_get_actor (ev));
65 g_assert_cmpstr (NULL, ==, zeitgeist_event_get_origin (ev));
65 g_assert_cmpint (0, ==, zeitgeist_event_num_subjects (ev));66 g_assert_cmpint (0, ==, zeitgeist_event_num_subjects (ev));
66 g_assert (zeitgeist_event_get_payload (ev) == NULL);67 g_assert (zeitgeist_event_get_payload (ev) == NULL);
6768
@@ -79,13 +80,15 @@
79 ZEITGEIST_ZG_ACCESS_EVENT,80 ZEITGEIST_ZG_ACCESS_EVENT,
80 ZEITGEIST_ZG_USER_ACTIVITY,81 ZEITGEIST_ZG_USER_ACTIVITY,
81 "application://firefox.desktop",82 "application://firefox.desktop",
83 "origin",
82 zeitgeist_subject_new_full ("http://example.com",84 zeitgeist_subject_new_full ("http://example.com",
83 ZEITGEIST_NFO_WEBSITE,85 ZEITGEIST_NFO_WEBSITE,
84 ZEITGEIST_NFO_REMOTE_DATA_OBJECT,86 ZEITGEIST_NFO_REMOTE_DATA_OBJECT,
85 "text/html",87 "text/html",
86 "http://example.com",88 "http://example.com",
87 "example.com",89 "example.com",
88 "net"),90 "net",
91 "http://current-example.com"),
89 zeitgeist_subject_new (),92 zeitgeist_subject_new (),
90 NULL);93 NULL);
9194
@@ -94,6 +97,7 @@
94 g_assert_cmpstr (ZEITGEIST_ZG_ACCESS_EVENT,==, zeitgeist_event_get_interpretation (ev));97 g_assert_cmpstr (ZEITGEIST_ZG_ACCESS_EVENT,==, zeitgeist_event_get_interpretation (ev));
95 g_assert_cmpstr (ZEITGEIST_ZG_USER_ACTIVITY, ==, zeitgeist_event_get_manifestation (ev));98 g_assert_cmpstr (ZEITGEIST_ZG_USER_ACTIVITY, ==, zeitgeist_event_get_manifestation (ev));
96 g_assert_cmpstr ("application://firefox.desktop", ==, zeitgeist_event_get_actor (ev));99 g_assert_cmpstr ("application://firefox.desktop", ==, zeitgeist_event_get_actor (ev));
100 g_assert_cmpstr ("origin", ==, zeitgeist_event_get_origin (ev));
97 g_assert_cmpint (2, ==, zeitgeist_event_num_subjects (ev));101 g_assert_cmpint (2, ==, zeitgeist_event_num_subjects (ev));
98 g_assert (zeitgeist_event_get_payload (ev) == NULL);102 g_assert (zeitgeist_event_get_payload (ev) == NULL);
99103
@@ -105,6 +109,7 @@
105 g_assert_cmpstr ("http://example.com", ==, zeitgeist_subject_get_origin (su));109 g_assert_cmpstr ("http://example.com", ==, zeitgeist_subject_get_origin (su));
106 g_assert_cmpstr ("example.com", ==, zeitgeist_subject_get_text (su));110 g_assert_cmpstr ("example.com", ==, zeitgeist_subject_get_text (su));
107 g_assert_cmpstr ("net", ==, zeitgeist_subject_get_storage (su));111 g_assert_cmpstr ("net", ==, zeitgeist_subject_get_storage (su));
112 g_assert_cmpstr ("http://current-example.com", ==, zeitgeist_subject_get_current_uri (su));
108113
109 su = zeitgeist_event_get_subject (ev, 1);114 su = zeitgeist_event_get_subject (ev, 1);
110 g_assert (zeitgeist_subject_get_uri(su) == NULL);115 g_assert (zeitgeist_subject_get_uri(su) == NULL);
@@ -114,6 +119,7 @@
114 g_assert (zeitgeist_subject_get_origin (su) == NULL);119 g_assert (zeitgeist_subject_get_origin (su) == NULL);
115 g_assert (zeitgeist_subject_get_text (su) == NULL);120 g_assert (zeitgeist_subject_get_text (su) == NULL);
116 g_assert (zeitgeist_subject_get_storage (su) == NULL);121 g_assert (zeitgeist_subject_get_storage (su) == NULL);
122 g_assert (zeitgeist_subject_get_current_uri (su) == NULL);
117123
118 g_object_unref (ev);124 g_object_unref (ev);
119}125}
@@ -151,6 +157,7 @@
151 g_variant_builder_add (&b, "s", ZEITGEIST_ZG_ACCESS_EVENT);157 g_variant_builder_add (&b, "s", ZEITGEIST_ZG_ACCESS_EVENT);
152 g_variant_builder_add (&b, "s", ZEITGEIST_ZG_USER_ACTIVITY);158 g_variant_builder_add (&b, "s", ZEITGEIST_ZG_USER_ACTIVITY);
153 g_variant_builder_add (&b, "s", "application://foo.desktop");159 g_variant_builder_add (&b, "s", "application://foo.desktop");
160 g_variant_builder_add (&b, "s", "origin");
154 g_variant_builder_close (&b);161 g_variant_builder_close (&b);
155162
156 /* Build subjects */163 /* Build subjects */
@@ -164,6 +171,7 @@
164 g_variant_builder_add (&b, "s", "text/plain");171 g_variant_builder_add (&b, "s", "text/plain");
165 g_variant_builder_add (&b, "s", "foo.txt");172 g_variant_builder_add (&b, "s", "foo.txt");
166 g_variant_builder_add (&b, "s", "36e5604e-7e1b-4ebd-bb6a-184c6ea99627");173 g_variant_builder_add (&b, "s", "36e5604e-7e1b-4ebd-bb6a-184c6ea99627");
174 g_variant_builder_add (&b, "s", "file:///tmp/current.txt");
167 g_variant_builder_close (&b);175 g_variant_builder_close (&b);
168 }176 }
169 g_variant_builder_close (&b);177 g_variant_builder_close (&b);
@@ -183,6 +191,7 @@
183 g_assert_cmpstr (ZEITGEIST_ZG_ACCESS_EVENT,==, zeitgeist_event_get_interpretation (ev));191 g_assert_cmpstr (ZEITGEIST_ZG_ACCESS_EVENT,==, zeitgeist_event_get_interpretation (ev));
184 g_assert_cmpstr (ZEITGEIST_ZG_USER_ACTIVITY, ==, zeitgeist_event_get_manifestation (ev));192 g_assert_cmpstr (ZEITGEIST_ZG_USER_ACTIVITY, ==, zeitgeist_event_get_manifestation (ev));
185 g_assert_cmpstr ("application://foo.desktop", ==, zeitgeist_event_get_actor (ev));193 g_assert_cmpstr ("application://foo.desktop", ==, zeitgeist_event_get_actor (ev));
194 g_assert_cmpstr ("origin", ==, zeitgeist_event_get_origin (ev));
186 g_assert_cmpint (1, ==, zeitgeist_event_num_subjects (ev));195 g_assert_cmpint (1, ==, zeitgeist_event_num_subjects (ev));
187196
188 su = zeitgeist_event_get_subject (ev, 0);197 su = zeitgeist_event_get_subject (ev, 0);
@@ -193,6 +202,7 @@
193 g_assert_cmpstr ("file:///tmp", ==, zeitgeist_subject_get_origin (su));202 g_assert_cmpstr ("file:///tmp", ==, zeitgeist_subject_get_origin (su));
194 g_assert_cmpstr ("foo.txt", ==, zeitgeist_subject_get_text (su));203 g_assert_cmpstr ("foo.txt", ==, zeitgeist_subject_get_text (su));
195 g_assert_cmpstr ("36e5604e-7e1b-4ebd-bb6a-184c6ea99627", ==, zeitgeist_subject_get_storage (su));204 g_assert_cmpstr ("36e5604e-7e1b-4ebd-bb6a-184c6ea99627", ==, zeitgeist_subject_get_storage (su));
205 g_assert_cmpstr ("file:///tmp/current.txt", ==, zeitgeist_subject_get_current_uri (su));
196206
197 payload = zeitgeist_event_get_payload (ev);207 payload = zeitgeist_event_get_payload (ev);
198 g_assert (payload != NULL);208 g_assert (payload != NULL);
@@ -218,6 +228,7 @@
218 g_assert (zeitgeist_event_get_interpretation (marshalled) == NULL);228 g_assert (zeitgeist_event_get_interpretation (marshalled) == NULL);
219 g_assert (zeitgeist_event_get_manifestation (marshalled) == NULL);229 g_assert (zeitgeist_event_get_manifestation (marshalled) == NULL);
220 g_assert (zeitgeist_event_get_actor (marshalled) == NULL);230 g_assert (zeitgeist_event_get_actor (marshalled) == NULL);
231 g_assert (zeitgeist_event_get_origin (marshalled) == NULL);
221 g_assert_cmpint (0, ==, zeitgeist_event_num_subjects (marshalled));232 g_assert_cmpint (0, ==, zeitgeist_event_num_subjects (marshalled));
222 g_assert (zeitgeist_event_get_payload (marshalled) == NULL);233 g_assert (zeitgeist_event_get_payload (marshalled) == NULL);
223234
@@ -237,13 +248,15 @@
237 ZEITGEIST_ZG_ACCESS_EVENT,248 ZEITGEIST_ZG_ACCESS_EVENT,
238 ZEITGEIST_ZG_USER_ACTIVITY,249 ZEITGEIST_ZG_USER_ACTIVITY,
239 "application://firefox.desktop",250 "application://firefox.desktop",
251 "origin",
240 zeitgeist_subject_new_full ("http://example.com",252 zeitgeist_subject_new_full ("http://example.com",
241 ZEITGEIST_NFO_WEBSITE,253 ZEITGEIST_NFO_WEBSITE,
242 ZEITGEIST_NFO_REMOTE_DATA_OBJECT,254 ZEITGEIST_NFO_REMOTE_DATA_OBJECT,
243 "text/html",255 "text/html",
244 "http://example.com",256 "http://example.com",
245 "example.com",257 "example.com",
246 "net"),258 "net",
259 "http://current-example.com"),
247 NULL);260 NULL);
248 payload = g_byte_array_new ();261 payload = g_byte_array_new ();
249 byte = 255;262 byte = 255;
@@ -257,6 +270,7 @@
257 g_assert_cmpstr (ZEITGEIST_ZG_ACCESS_EVENT,==, zeitgeist_event_get_interpretation (marshalled));270 g_assert_cmpstr (ZEITGEIST_ZG_ACCESS_EVENT,==, zeitgeist_event_get_interpretation (marshalled));
258 g_assert_cmpstr (ZEITGEIST_ZG_USER_ACTIVITY, ==, zeitgeist_event_get_manifestation (marshalled));271 g_assert_cmpstr (ZEITGEIST_ZG_USER_ACTIVITY, ==, zeitgeist_event_get_manifestation (marshalled));
259 g_assert_cmpstr ("application://firefox.desktop", ==, zeitgeist_event_get_actor (marshalled));272 g_assert_cmpstr ("application://firefox.desktop", ==, zeitgeist_event_get_actor (marshalled));
273 g_assert_cmpstr ("origin", ==, zeitgeist_event_get_origin (marshalled));
260 g_assert_cmpint (1, ==, zeitgeist_event_num_subjects (marshalled));274 g_assert_cmpint (1, ==, zeitgeist_event_num_subjects (marshalled));
261275
262 payload = zeitgeist_event_get_payload (marshalled);276 payload = zeitgeist_event_get_payload (marshalled);
@@ -272,6 +286,7 @@
272 g_assert_cmpstr ("http://example.com", ==, zeitgeist_subject_get_origin (su));286 g_assert_cmpstr ("http://example.com", ==, zeitgeist_subject_get_origin (su));
273 g_assert_cmpstr ("example.com", ==, zeitgeist_subject_get_text (su));287 g_assert_cmpstr ("example.com", ==, zeitgeist_subject_get_text (su));
274 g_assert_cmpstr ("net", ==, zeitgeist_subject_get_storage (su));288 g_assert_cmpstr ("net", ==, zeitgeist_subject_get_storage (su));
289 g_assert_cmpstr ("http://current-example.com", ==, zeitgeist_subject_get_current_uri (su));
275290
276 g_object_unref (orig);291 g_object_unref (orig);
277 g_object_unref (marshalled);292 g_object_unref (marshalled);

Subscribers

People subscribed via source and target branches