aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-group.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-tp-group.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-tp-group.h')
-rw-r--r--libempathy/empathy-tp-group.h71
1 files changed, 39 insertions, 32 deletions
diff --git a/libempathy/empathy-tp-group.h b/libempathy/empathy-tp-group.h
index 5ea7bfc71..14cbd4649 100644
--- a/libempathy/empathy-tp-group.h
+++ b/libempathy/empathy-tp-group.h
@@ -1,6 +1,7 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Copyright (C) 2006 Xavier Claessens <xclaesse@gmail.com>
+ * Copyright (C) 2007 Collabora Ltd.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -16,6 +17,8 @@
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
+ *
+ * Authors: Xavier Claessens <xclaesse@gmail.com>
*/
#ifndef __EMPATHY_TP_GROUP_H__
@@ -24,8 +27,11 @@
#include <glib.h>
#include <libtelepathy/tp-chan.h>
+#include <libtelepathy/tp-constants.h>
#include <libmissioncontrol/mc-account.h>
+#include "empathy-contact.h"
+
G_BEGIN_DECLS
#define EMPATHY_TYPE_TP_GROUP (empathy_tp_group_get_type ())
@@ -48,39 +54,40 @@ struct _EmpathyTpGroupClass {
};
typedef struct {
- guint member;
- guint actor;
- guint reason;
- gchar *message;
-} EmpathyTpGroupInfo;
+ EmpathyContact *member;
+ EmpathyContact *actor;
+ gchar *message;
+ guint reason;
+} EmpathyPendingInfo;
-GType empathy_tp_group_get_type (void) G_GNUC_CONST;
-EmpathyTpGroup * empathy_tp_group_new (McAccount *account,
- TpChan *tp_chan);
-void empathy_tp_group_add_members (EmpathyTpGroup *group,
- GArray *handles,
- const gchar *message);
-void empathy_tp_group_add_member (EmpathyTpGroup *group,
- guint handle,
- const gchar *message);
-void empathy_tp_group_remove_members (EmpathyTpGroup *group,
- GArray *handle,
- const gchar *message);
-void empathy_tp_group_remove_member (EmpathyTpGroup *group,
- guint handle,
- const gchar *message);
-GArray * empathy_tp_group_get_members (EmpathyTpGroup *group);
-void empathy_tp_group_get_all_members (EmpathyTpGroup *group,
- GArray **members,
- GArray **local_pending,
- GArray **remote_pending);
-GList * empathy_tp_group_get_local_pending_members_with_info (EmpathyTpGroup *group);
-void empathy_tp_group_info_list_free (GList *infos);
-const gchar * empathy_tp_group_get_name (EmpathyTpGroup *group);
-guint empathy_tp_group_get_self_handle (EmpathyTpGroup *group);
-const gchar * empathy_tp_group_get_object_path (EmpathyTpGroup *group);
-gboolean empathy_tp_group_is_member (EmpathyTpGroup *group,
- guint handle);
+GType empathy_tp_group_get_type (void) G_GNUC_CONST;
+EmpathyTpGroup * empathy_tp_group_new (McAccount *account,
+ TpChan *tp_chan);
+void empathy_tp_group_close (EmpathyTpGroup *group);
+void empathy_tp_group_add_members (EmpathyTpGroup *group,
+ GList *contacts,
+ const gchar *message);
+void empathy_tp_group_add_member (EmpathyTpGroup *group,
+ EmpathyContact *contact,
+ const gchar *message);
+void empathy_tp_group_remove_members (EmpathyTpGroup *group,
+ GList *contacts,
+ const gchar *message);
+void empathy_tp_group_remove_member (EmpathyTpGroup *group,
+ EmpathyContact *contact,
+ const gchar *message);
+GList * empathy_tp_group_get_members (EmpathyTpGroup *group);
+GList * empathy_tp_group_get_local_pendings (EmpathyTpGroup *group);
+GList * empathy_tp_group_get_remote_pendings (EmpathyTpGroup *group);
+const gchar * empathy_tp_group_get_name (EmpathyTpGroup *group);
+EmpathyContact * empathy_tp_group_get_self_contact (EmpathyTpGroup *group);
+const gchar * empathy_tp_group_get_object_path (EmpathyTpGroup *group);
+gboolean empathy_tp_group_is_member (EmpathyTpGroup *group,
+ EmpathyContact *contact);
+EmpathyPendingInfo *empathy_pending_info_new (EmpathyContact *member,
+ EmpathyContact *actor,
+ const gchar *message);
+void empathy_pending_info_free (EmpathyPendingInfo *info);
G_END_DECLS