-typedef struct {
- guint handle;
- GList *new_groups;
-} TpContactListData;
-
-typedef struct {
- EmpathyTpContactList *list;
- guint handle;
-} TpContactListAvatarRequestData;
-
-typedef struct {
- EmpathyTpContactList *list;
- guint *handles;
-} TpContactListAliasesRequestData;
-
-static void empathy_tp_contact_list_class_init (EmpathyTpContactListClass *klass);
-static void tp_contact_list_iface_init (EmpathyContactListIface *iface);
-static void empathy_tp_contact_list_init (EmpathyTpContactList *list);
-static void tp_contact_list_finalize (GObject *object);
-static void tp_contact_list_finalize_proxies (EmpathyTpContactList *list);
-static void tp_contact_list_setup (EmpathyContactList *list);
-static EmpathyContact * tp_contact_list_find (EmpathyContactList *list,
- const gchar *id);
-static void tp_contact_list_add (EmpathyContactList *list,
- EmpathyContact *contact,
- const gchar *message);
-static void tp_contact_list_remove (EmpathyContactList *list,
- EmpathyContact *contact,
- const gchar *message);
-static GList * tp_contact_list_get_members (EmpathyContactList *list);
-static GList * tp_contact_list_get_local_pending (EmpathyContactList *list);
-static void tp_contact_list_process_pending (EmpathyContactList *list,
- EmpathyContact *contact,
- gboolean accept);
-static void tp_contact_list_remove_local_pending (EmpathyTpContactList *list,
- EmpathyContact *contact);
-static void tp_contact_list_contact_removed_foreach (guint handle,
- EmpathyContact *contact,
- EmpathyTpContactList *list);
-static void tp_contact_list_destroy_cb (DBusGProxy *proxy,
- EmpathyTpContactList *list);
-static gboolean tp_contact_list_find_foreach (guint handle,
- EmpathyContact *contact,
- gchar *id);
-static void tp_contact_list_newchannel_cb (DBusGProxy *proxy,
- const gchar *object_path,
- const gchar *channel_type,
- TelepathyHandleType handle_type,
- guint channel_handle,
- gboolean suppress_handle,
- EmpathyTpContactList *list);
-static TpContactListType tp_contact_list_get_type (EmpathyTpContactList *list,
- EmpathyTpGroup *group);
-static void tp_contact_list_added_cb (EmpathyTpGroup *group,
- GArray *handles,
- guint actor_handle,
- guint reason,
- const gchar *message,
- EmpathyTpContactList *list);
-static void tp_contact_list_removed_cb (EmpathyTpGroup *group,
- GArray *handles,
- guint actor_handle,
- guint reason,
- const gchar *message,
- EmpathyTpContactList *list);
-static void tp_contact_list_pending_cb (EmpathyTpGroup *group,
- GArray *handles,
- guint actor_handle,
- guint reason,
- const gchar *message,
- EmpathyTpContactList *list);
-static void tp_contact_list_groups_updated_cb (EmpathyContact *contact,
- GParamSpec *param,
- EmpathyTpContactList *list);
-static void tp_contact_list_name_updated_cb (EmpathyContact *contact,
- GParamSpec *param,
- EmpathyTpContactList *list);
-static void tp_contact_list_update_groups_foreach (gchar *object_path,
- EmpathyTpGroup *group,
- TpContactListData *data);
-static EmpathyTpGroup * tp_contact_list_get_group (EmpathyTpContactList *list,
- const gchar *name);
-static gboolean tp_contact_list_find_group (gchar *key,
- EmpathyTpGroup *group,
- gchar *group_name);
-static void tp_contact_list_get_groups_foreach (gchar *key,
- EmpathyTpGroup *group,
- GList **groups);
-static void tp_contact_list_group_channel_closed_cb (TpChan *channel,
- EmpathyTpContactList *list);
-static void tp_contact_list_group_members_added_cb (EmpathyTpGroup *group,
- GArray *members,
- guint actor_handle,
- guint reason,
- const gchar *message,
- EmpathyTpContactList *list);
-static void tp_contact_list_group_members_removed_cb (EmpathyTpGroup *group,
- GArray *members,
- guint actor_handle,
- guint reason,
- const gchar *message,
- EmpathyTpContactList *list);
-static void tp_contact_list_get_info (EmpathyTpContactList *list,
- GArray *handles);
-static void tp_contact_list_request_avatar (EmpathyTpContactList *list,
- guint handle);
-static void tp_contact_list_start_avatar_requests (EmpathyTpContactList *list);
-static void tp_contact_list_avatar_update_cb (DBusGProxy *proxy,
- guint handle,
- gchar *new_token,
- EmpathyTpContactList *list);
-static void tp_contact_list_request_avatar_cb (DBusGProxy *proxy,
- GArray *avatar_data,
- gchar *mime_type,
- GError *error,
- TpContactListAvatarRequestData *data);
-static void tp_contact_list_aliases_update_cb (DBusGProxy *proxy,
- GPtrArray *handlers,
- EmpathyTpContactList *list);
-static void tp_contact_list_request_aliases_cb (DBusGProxy *proxy,
- gchar **contact_names,
- GError *error,
- TpContactListAliasesRequestData *data);
-static void tp_contact_list_presence_update_cb (DBusGProxy *proxy,
- GHashTable *handle_table,
- EmpathyTpContactList *list);
-static void tp_contact_list_parse_presence_foreach (guint handle,
- GValueArray *presence_struct,
- EmpathyTpContactList *list);
-static void tp_contact_list_presences_table_foreach (const gchar *state_str,
- GHashTable *presences_table,
- EmpathyPresence **presence);
-static void tp_contact_list_status_changed_cb (MissionControl *mc,
- TelepathyConnectionStatus status,
- McPresence presence,
- TelepathyConnectionStatusReason reason,
- const gchar *unique_name,
- EmpathyTpContactList *list);