libpurple/protocols/qq/im.h

Wed, 25 Feb 2009 21:56:38 +0000

author
Evan Schoenberg <evands@pidgin.im>
date
Wed, 25 Feb 2009 21:56:38 +0000
changeset 25636
21d438022cb4
parent 25105
fe13c190ca13
child 31393
04447b1f6403
permissions
-rw-r--r--

applied changes from 30c025a5facc491ee082435ffe5d2ccfec619678
through 9b88c7e8eaf48a18db6e630ce54bc18ad3f69c88

applied changes from f6ba682452e5dda1db8721a71a4095dc665c7039
through 32313f4c7e8075d403fb7dc783c06c79d9fdaa97

13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
1 /**
15087
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14254
diff changeset
2 * @file im.h
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * purple
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
15087
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14254
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14254
diff changeset
8 * source distribution.
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
9 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
13 * (at your option) any later version.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
14 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
18 * GNU General Public License for more details.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
19 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15884
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
23 */
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
24
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
25 #ifndef _QQ_IM_H_
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
26 #define _QQ_IM_H_
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
27
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
28 #include <glib.h>
14083
2b68bb18a66c [gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 13932
diff changeset
29 #include "connection.h"
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
30
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
31 enum {
24352
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
32 QQ_MSG_TO_BUDDY = 0x0009,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
33 QQ_MSG_TO_UNKNOWN = 0x000a,
25038
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
34 QQ_MSG_SMS = 0x0014, /* not sure */
24352
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
35 QQ_MSG_NEWS = 0x0018,
25062
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
36 QQ_MSG_QUN_IM_UNKNOWN = 0x0020,
24352
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
37 QQ_MSG_ADD_TO_QUN = 0x0021,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
38 QQ_MSG_DEL_FROM_QUN = 0x0022,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
39 QQ_MSG_APPLY_ADD_TO_QUN = 0x0023,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
40 QQ_MSG_APPROVE_APPLY_ADD_TO_QUN = 0x0024,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
41 QQ_MSG_REJCT_APPLY_ADD_TO_QUN = 0x0025,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
42 QQ_MSG_CREATE_QUN = 0x0026,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
43 QQ_MSG_TEMP_QUN_IM = 0x002A,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
44 QQ_MSG_QUN_IM = 0x002B,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
45 QQ_MSG_SYS_30 = 0x0030,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
46 QQ_MSG_SYS_4C = 0x004C,
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
47 QQ_MSG_EXTEND = 0x0084,
25105
fe13c190ca13 Remove the commas at the end of enumerator lists. This resolves warnings
Florian Quèze <florian@instantbird.org>
parents: 25062
diff changeset
48 QQ_MSG_EXTEND_85 = 0x0085
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
49 };
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
50
25038
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
51 typedef struct {
25062
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
52 guint8 attr;
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
53 guint8 rgb[3];
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
54 guint16 charset;
25038
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
55 gchar *font; /* Attension: font may NULL. font name is in QQ charset */
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
56 guint8 font_len;
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
57 } qq_im_format;
24341
02abffea97fe 2008.09.26 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24314
diff changeset
58
25062
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
59 gint qq_put_im_tail(guint8 *buf, qq_im_format *fmt);
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
60 gint qq_get_im_tail(qq_im_format *fmt, guint8 *data, gint data_len);
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
61
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
62 qq_im_format *qq_im_fmt_new(void);
25038
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
63 void qq_im_fmt_free(qq_im_format *fmt);
25062
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
64 qq_im_format *qq_im_fmt_new_by_purple(const gchar *msg);
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
65 gchar *qq_im_fmt_to_purple(qq_im_format *fmt, gchar *text);
8a11873639dd Add some new function define
Hu Yong <ccpaging@gmail.com>
parents: 25038
diff changeset
66 gboolean qq_im_smiley_none(const gchar *msg);
25038
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
67 GSList *qq_im_get_segments(gchar *msg_stripped, gboolean is_smiley_none);
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
68
25038
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
69 void qq_got_message(PurpleConnection *gc, const gchar *msg);
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
70 gint qq_send_im(PurpleConnection *gc, const gchar *who, const gchar *message, PurpleMessageFlags flags);
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
71
24352
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
72 void qq_process_im(PurpleConnection *gc, guint8 *data, gint len);
871c27553af6 Flos Lonicerae <lonicerae(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24351
diff changeset
73 void qq_process_extend_im(PurpleConnection *gc, guint8 *data, gint len);
25038
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
74
5e6d38f79004 Rewrite according to im.c
Hu Yong <ccpaging@gmail.com>
parents: 24352
diff changeset
75 gchar *qq_emoticon_to_purple(gchar *text);
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
76 #endif

mercurial