| |
1 /** |
| |
2 * The QQ2003C protocol plugin |
| |
3 * |
| |
4 * for gaim |
| |
5 * |
| |
6 * Copyright (C) 2004 Puzzlebird |
| |
7 * |
| |
8 * This program is free software; you can redistribute it and/or modify |
| |
9 * it under the terms of the GNU General Public License as published by |
| |
10 * the Free Software Foundation; either version 2 of the License, or |
| |
11 * (at your option) any later version. |
| |
12 * |
| |
13 * This program is distributed in the hope that it will be useful, |
| |
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| |
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| |
16 * GNU General Public License for more details. |
| |
17 * |
| |
18 * You should have received a copy of the GNU General Public License |
| |
19 * along with this program; if not, write to the Free Software |
| |
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| |
21 */ |
| |
22 |
| |
23 #ifndef _QQ_GROUP_OPT_H_ |
| |
24 #define _QQ_GROUP_OPT_H_ |
| |
25 |
| |
26 #include <glib.h> |
| |
27 #include "connection.h" |
| |
28 #include "group.h" |
| |
29 |
| |
30 #define QQ_QUN_MEMBER_MAX 80 /* max number of the group */ |
| |
31 |
| |
32 typedef struct _group_member_opt { |
| |
33 GaimConnection *gc; |
| |
34 guint32 internal_group_id; |
| |
35 guint32 member; |
| |
36 } group_member_opt; |
| |
37 |
| |
38 enum { |
| |
39 QQ_GROUP_TYPE_PERMANENT = 0x01, |
| |
40 QQ_GROUP_TYPE_TEMPORARY |
| |
41 }; |
| |
42 |
| |
43 enum { |
| |
44 QQ_GROUP_MEMBER_ADD = 0x01, |
| |
45 QQ_GROUP_MEMBER_DEL |
| |
46 }; |
| |
47 |
| |
48 void qq_group_modify_members(GaimConnection *gc, qq_group *group, guint32 *new_members); |
| |
49 void qq_group_modify_info(GaimConnection *gc, qq_group *group); |
| |
50 |
| |
51 void qq_group_approve_application_with_struct(group_member_opt *g); |
| |
52 void qq_group_reject_application_with_struct(group_member_opt *g); |
| |
53 void qq_group_search_application_with_struct(group_member_opt *g); |
| |
54 |
| |
55 void qq_group_process_modify_info_reply(guint8 *data, guint8 **cursor, gint len, GaimConnection *gc); |
| |
56 void qq_group_process_modify_members_reply(guint8 *data, guint8 **cursor, gint len, GaimConnection *gc); |
| |
57 void qq_group_manage_group(GaimConnection *gc, GHashTable *data); |
| |
58 void qq_group_create_with_name(GaimConnection *gc, const gchar *name); |
| |
59 void qq_group_activate_group(GaimConnection *gc, guint32 internal_group_id); |
| |
60 void qq_group_process_activate_group_reply(guint8 *data, guint8 **cursor, gint len, GaimConnection *gc); |
| |
61 void qq_group_process_create_group_reply(guint8 *data, guint8 **cursor, gint len, GaimConnection *gc); |
| |
62 |
| |
63 #endif |