00001
00023
00024
00025 #ifndef _QQ_GROUP_OPT_H_
00026 #define _QQ_GROUP_OPT_H_
00027
00028 #include <glib.h>
00029 #include "connection.h"
00030 #include "group.h"
00031
00032 #define QQ_QUN_MEMBER_MAX 80 // max number of the group
00033
00034 typedef struct _group_member_opt {
00035 GaimConnection *gc;
00036 guint32 internal_group_id;
00037 guint32 member;
00038 } group_member_opt;
00039
00040 enum {
00041 QQ_GROUP_TYPE_PERMANENT = 0x01,
00042 QQ_GROUP_TYPE_TEMPORARY,
00043 };
00044
00045 enum {
00046 QQ_GROUP_MEMBER_ADD = 0x01,
00047 QQ_GROUP_MEMBER_DEL,
00048 };
00049
00050 void qq_group_modify_members(GaimConnection * gc, qq_group * group, guint32 * new_members);
00051 void qq_group_modify_info(GaimConnection * gc, qq_group * group);
00052
00053 void qq_group_approve_application_with_struct(group_member_opt * g);
00054 void qq_group_reject_application_with_struct(group_member_opt * g);
00055 void qq_group_search_application_with_struct(group_member_opt * g);
00056
00057 void qq_group_process_modify_info_reply(guint8 * data, guint8 ** cursor, gint len, GaimConnection * gc);
00058 void qq_group_process_modify_members_reply(guint8 * data, guint8 ** cursor, gint len, GaimConnection * gc);
00059 void qq_group_manage_group(GaimConnection * gc, GHashTable * data);
00060 void qq_group_create_with_name(GaimConnection * gc, const gchar * name);
00061 void qq_group_activate_group(GaimConnection * gc, guint32 internal_group_id);
00062 void qq_group_process_activate_group_reply(guint8 * data, guint8 ** cursor, gint len, GaimConnection * gc);
00063 void qq_group_process_create_group_reply(guint8 * data, guint8 ** cursor, gint len, GaimConnection * gc);
00064
00065 #endif
00066
00067