aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-contact-list.h
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2007-08-31 00:49:52 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2007-08-31 00:49:52 +0800
commit0b0bb0f621d8e1cda1508d9062a279459fc3b955 (patch)
tree03ad0e8b2180f5e3d6821fbab6315b33c7baf4d8 /libempathy/empathy-contact-list.h
parent3a535643a694d0dd1bed8e0b7a2fd6fd21e6ee0c (diff)
downloadgsoc2013-empathy-0b0bb0f621d8e1cda1508d9062a279459fc3b955.tar
gsoc2013-empathy-0b0bb0f621d8e1cda1508d9062a279459fc3b955.tar.gz
gsoc2013-empathy-0b0bb0f621d8e1cda1508d9062a279459fc3b955.tar.bz2
gsoc2013-empathy-0b0bb0f621d8e1cda1508d9062a279459fc3b955.tar.lz
gsoc2013-empathy-0b0bb0f621d8e1cda1508d9062a279459fc3b955.tar.xz
gsoc2013-empathy-0b0bb0f621d8e1cda1508d9062a279459fc3b955.tar.zst
gsoc2013-empathy-0b0bb0f621d8e1cda1508d9062a279459fc3b955.zip
Completely reworked ContactList API. Fixes bug #471611, bug #467280, bug #459540 and bug #462907.
svn path=/trunk/; revision=280
Diffstat (limited to 'libempathy/empathy-contact-list.h')
-rw-r--r--libempathy/empathy-contact-list.h79
1 files changed, 42 insertions, 37 deletions
diff --git a/libempathy/empathy-contact-list.h b/libempathy/empathy-contact-list.h
index 959f5c51f..4b027f083 100644
--- a/libempathy/empathy-contact-list.h
+++ b/libempathy/empathy-contact-list.h
@@ -26,6 +26,7 @@
#include <glib-object.h>
#include "empathy-contact.h"
+#include "empathy-tp-group.h"
G_BEGIN_DECLS
@@ -37,49 +38,53 @@ G_BEGIN_DECLS
typedef struct _EmpathyContactList EmpathyContactList;
typedef struct _EmpathyContactListIface EmpathyContactListIface;
-typedef struct {
- EmpathyContact *contact;
- gchar *message;
-} EmpathyContactListInfo;
-
struct _EmpathyContactListIface {
GTypeInterface base_iface;
/* VTabled */
- void (*setup) (EmpathyContactList *list);
- EmpathyContact * (*find) (EmpathyContactList *list,
- const gchar *id);
- void (*add) (EmpathyContactList *list,
- EmpathyContact *contact,
- const gchar *message);
- void (*remove) (EmpathyContactList *list,
- EmpathyContact *contact,
- const gchar *message);
- GList * (*get_members) (EmpathyContactList *list);
- GList * (*get_local_pending) (EmpathyContactList *list);
- void (*process_pending) (EmpathyContactList *list,
- EmpathyContact *contact,
- gboolean accept);
+ void (*add) (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *message);
+ void (*remove) (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *message);
+ GList * (*get_members) (EmpathyContactList *list);
+ GList * (*get_pendings) (EmpathyContactList *list);
+ GList * (*get_all_groups) (EmpathyContactList *list);
+ GList * (*get_groups) (EmpathyContactList *list,
+ EmpathyContact *contact);
+ void (*add_to_group) (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *group);
+ void (*remove_from_group) (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *group);
+ void (*rename_group) (EmpathyContactList *list,
+ const gchar *old_group,
+ const gchar *new_group);
};
-GType empathy_contact_list_get_type (void) G_GNUC_CONST;
-EmpathyContactListInfo *empathy_contact_list_info_new (EmpathyContact *contact,
- const gchar *message);
-void empathy_contact_list_info_free (EmpathyContactListInfo *info);
-void empathy_contact_list_setup (EmpathyContactList *list);
-EmpathyContact * empathy_contact_list_find (EmpathyContactList *list,
- const gchar *id);
-void empathy_contact_list_add (EmpathyContactList *list,
- EmpathyContact *contact,
- const gchar *message);
-void empathy_contact_list_remove (EmpathyContactList *list,
- EmpathyContact *contact,
- const gchar *message);
-GList * empathy_contact_list_get_members (EmpathyContactList *list);
-GList * empathy_contact_list_get_local_pending (EmpathyContactList *list);
-void empathy_contact_list_process_pending (EmpathyContactList *list,
- EmpathyContact *contact,
- gboolean accept);
+GType empathy_contact_list_get_type (void) G_GNUC_CONST;
+void empathy_contact_list_add (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *message);
+void empathy_contact_list_remove (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *message);
+GList * empathy_contact_list_get_members (EmpathyContactList *list);
+GList * empathy_contact_list_get_pendings (EmpathyContactList *list);
+GList * empathy_contact_list_get_all_groups (EmpathyContactList *list);
+GList * empathy_contact_list_get_groups (EmpathyContactList *list,
+ EmpathyContact *contact);
+void empathy_contact_list_add_to_group (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *group);
+void empathy_contact_list_remove_from_group (EmpathyContactList *list,
+ EmpathyContact *contact,
+ const gchar *group);
+void empathy_contact_list_rename_group (EmpathyContactList *list,
+ const gchar *old_group,
+ const gchar *new_group);
G_END_DECLS