diff options
-rw-r--r-- | libempathy/empathy-contact-manager.c | 2 | ||||
-rw-r--r-- | libempathy/empathy-tp-contact-list.c | 21 |
2 files changed, 19 insertions, 4 deletions
diff --git a/libempathy/empathy-contact-manager.c b/libempathy/empathy-contact-manager.c index 61c6ad316..95f5623b9 100644 --- a/libempathy/empathy-contact-manager.c +++ b/libempathy/empathy-contact-manager.c @@ -40,6 +40,8 @@ #define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyContactManager) typedef struct { + /* Owned (TpConnection *) => Owned (TpContactList *) + The contact list associated with each connected connection */ GHashTable *lists; TpAccountManager *account_manager; EmpathyContactMonitor *contact_monitor; diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c index 95ec3bea2..d595745c7 100644 --- a/libempathy/empathy-tp-contact-list.c +++ b/libempathy/empathy-tp-contact-list.c @@ -47,10 +47,23 @@ typedef struct { TpChannel *publish; TpChannel *subscribe; TpChannel *stored; - GHashTable *members; /* handle -> EmpathyContact */ - GHashTable *pendings; /* handle -> EmpathyContact */ - GHashTable *groups; /* group name -> TpChannel */ - GHashTable *add_to_group; /* group name -> GArray of handles */ + /* contact handle (TpHandle) => reffed (EmpathyContact *) + * + * Contacts which are members or remote-pending in the subscribe channel: + * we are receiving their presence or we asked to receive it. */ + GHashTable *members; + /* contact handle (TpHandle) => reffed (EmpathyContact *) + * + * Contacts which are local-pending in the publish channel but are NOT in + * the members hash table: they asked to receive our presence and we don't + * receive theirs or asked to. + * That's basically the contacts which asked to add us to their contact + * list and we didn't answer it. */ + GHashTable *pendings; + /* group name: borrowed (const gchar *) => reffed (TpChannel *) */ + GHashTable *groups; + /* group name: owned (gchar *) => owned GArray of TpHandle */ + GHashTable *add_to_group; EmpathyContactListFlags flags; |