typedef struct _EmpathyContactList EmpathyContactList;
typedef struct _EmpathyContactListIface EmpathyContactListIface;
+typedef struct {
+ GossipContact *contact;
+ gchar *message;
+} EmpathyContactListInfo;
+
struct _EmpathyContactListIface {
GTypeInterface base_iface;
/* VTabled */
- void (*setup) (EmpathyContactList *list);
- GossipContact * (*find) (EmpathyContactList *list,
- const gchar *id);
- void (*add) (EmpathyContactList *list,
- GossipContact *contact,
- const gchar *message);
- void (*remove) (EmpathyContactList *list,
- GossipContact *contact,
- const gchar *message);
- GList * (*get_contacts) (EmpathyContactList *list);
+ void (*setup) (EmpathyContactList *list);
+ GossipContact * (*find) (EmpathyContactList *list,
+ const gchar *id);
+ void (*add) (EmpathyContactList *list,
+ GossipContact *contact,
+ const gchar *message);
+ void (*remove) (EmpathyContactList *list,
+ GossipContact *contact,
+ const gchar *message);
+ GList * (*get_members) (EmpathyContactList *list);
+ GList * (*get_local_pending) (EmpathyContactList *list);
};
-GType empathy_contact_list_get_type (void) G_GNUC_CONST;
-void empathy_contact_list_setup (EmpathyContactList *list);
-GossipContact * empathy_contact_list_find (EmpathyContactList *list,
- const gchar *id);
-void empathy_contact_list_add (EmpathyContactList *list,
- GossipContact *contact,
- const gchar *message);
-void empathy_contact_list_remove (EmpathyContactList *list,
- GossipContact *contact,
- const gchar *message);
-GList * empathy_contact_list_get_contacts (EmpathyContactList *list);
+GType empathy_contact_list_get_type (void) G_GNUC_CONST;
+EmpathyContactListInfo *empathy_contact_list_info_new (GossipContact *contact,
+ const gchar *message);
+void empathy_contact_list_info_free (EmpathyContactListInfo *info);
+void empathy_contact_list_setup (EmpathyContactList *list);
+GossipContact * empathy_contact_list_find (EmpathyContactList *list,
+ const gchar *id);
+void empathy_contact_list_add (EmpathyContactList *list,
+ GossipContact *contact,
+ const gchar *message);
+void empathy_contact_list_remove (EmpathyContactList *list,
+ GossipContact *contact,
+ const gchar *message);
+GList * empathy_contact_list_get_members (EmpathyContactList *list);
+GList * empathy_contact_list_get_local_pending (EmpathyContactList *list);
G_END_DECLS