[folks] Extend IndividualAggregator to support linking via local_ids
- From: Raul Gutierrez Segales <raulgs src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [folks] Extend IndividualAggregator to support linking via local_ids
- Date: Fri, 8 Apr 2011 17:29:39 +0000 (UTC)
commit a4370216d553c4af22df96139369877ad4d67378
Author: Raul Gutierrez Segales <raul gutierrez segales collabora co uk>
Date: Thu Apr 7 17:36:11 2011 +0100
Extend IndividualAggregator to support linking via local_ids
folks/individual-aggregator.vala | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/folks/individual-aggregator.vala b/folks/individual-aggregator.vala
index 16f653f..39bafe5 100644
--- a/folks/individual-aggregator.vala
+++ b/folks/individual-aggregator.vala
@@ -912,6 +912,9 @@ public class Folks.IndividualAggregator : Object
var web_service_addrs_set =
new HashMap<string, LinkedHashSet<string>> (str_hash, str_equal);
+ /* List of local_ids */
+ var local_ids = new Gee.HashSet<string> ();
+
foreach (var persona in personas)
{
if (persona is ImDetails)
@@ -952,6 +955,14 @@ public class Folks.IndividualAggregator : Object
address_set.add_all (addresses);
}
}
+
+ if (persona is LocalIdDetails)
+ {
+ foreach (var id in ((LocalIdDetails) persona).local_ids)
+ {
+ local_ids.add (id);
+ }
+ }
}
var details = new HashTable<string, Value?> (str_hash, str_equal);
@@ -973,6 +984,15 @@ public class Folks.IndividualAggregator : Object
web_service_addresses_value);
}
+ if (local_ids.size > 0)
+ {
+ var local_ids_value = Value (typeof (Gee.HashSet<string>));
+ local_ids_value.set_object (local_ids);
+ details.insert (
+ Folks.PersonaStore.detail_key (PersonaDetail.LOCAL_IDS),
+ local_ids_value);
+ }
+
yield this.add_persona_from_details (null,
this._writeable_store, details);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]