summaryrefslogtreecommitdiffstats
path: root/src/gui/CoreConnector.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/CoreConnector.vala')
-rw-r--r--src/gui/CoreConnector.vala15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/gui/CoreConnector.vala b/src/gui/CoreConnector.vala
index fdd74ee..7486aec 100644
--- a/src/gui/CoreConnector.vala
+++ b/src/gui/CoreConnector.vala
@@ -90,11 +90,18 @@ public class CoreConnector {
unowned Erl.Term term = store.term;
Erl.Term match_term;
- if((match_term = match("{roster_update,JID,Resources}", term)) != null) {
- Erl.Term JID_term = match_term.var_content("JID");
- string JID = ((string)JID_term.bin_ptr()).ndup(JID_term.bin_size());
+ if((match_term = match("{roster_update,JID,Name,Subscription,Groups,Resources}", term)) != null) {
+ Erl.Term jid_term = match_term.var_content("JID");
+ string jid = ((string)jid_term.bin_ptr()).ndup(jid_term.bin_size());
- roster.update_contact(new Contact(JID));
+ Erl.Term name_term = match_term.var_content("Name");
+ string? name;
+ if (name_term.is_binary())
+ name = ((string)name_term.bin_ptr()).ndup(name_term.bin_size());
+ else
+ name = null;
+
+ roster.update_contact(new Contact(jid, name));
}
else {
Erl.print_term(stdout, term);