comparison libpurple/protocols/qq/qq_trans.h @ 24019:147ada94a1d8

2008.08.16 - ccpaging <ecc_hy(at)hotmail.com> * Rename group to room. If you used pidginqq before, this may create a new room with same title, you may delete old one * Replace purple_debug with purple_debug_info, purple_debug_warning, purple_debug_error * Add server notice and server new, and two options to turn on/off * Minor modify for reducing transaction's debug infor * Minor modifies for system notice and QQ news. * Add 4 new strings need translate compare with p10.
author SHiNE CsyFeK <csyfek@gmail.com>
date Thu, 11 Sep 2008 13:25:07 +0000
parents 5f454b975a99
children 23cec4360d4a 25f62d21b3f8
comparison
equal deleted inserted replaced
24018:40a4e02027f4 24019:147ada94a1d8
26 #define _QQ_SEND_QUEUE_H_ 26 #define _QQ_SEND_QUEUE_H_
27 27
28 #include <glib.h> 28 #include <glib.h>
29 #include "qq.h" 29 #include "qq.h"
30 30
31 enum { 31 typedef struct _qq_transaction qq_transaction;
32 QQ_TRANS_IS_SERVER = 0x01, /* Is server command or client command */
33 /* prefix QQ_TRANS_CLI is for client command*/
34 QQ_TRANS_CLI_EMERGE = 0x02, /* send at once; or may wait for next reply*/
35 QQ_TRANS_CLI_IMPORT = 0x04, /* Only notice if not get reply; or resend, disconn if reties get 0*/
36 QQ_TRANS_BEFORE_LOGIN = 0x08, /* server command before login*/
37 };
38 32
39 typedef struct _qq_transaction { 33 qq_transaction *qq_trans_find_rcved(PurpleConnection *gc, guint16 cmd, guint16 seq);
40 guint8 flag;
41 guint16 seq;
42 guint16 cmd;
43
44 guint8 room_cmd;
45 guint32 room_id;
46
47 guint8 *data;
48 gint data_len;
49
50 gint fd;
51 gint send_retries;
52 gint rcved_times;
53 gint scan_times;
54 } qq_transaction;
55
56 qq_transaction *qq_trans_find_rcved(qq_data *qd, guint16 cmd, guint16 seq);
57 gboolean qq_trans_is_server(qq_transaction *trans) ; 34 gboolean qq_trans_is_server(qq_transaction *trans) ;
58 gboolean qq_trans_is_dup(qq_transaction *trans); 35 gboolean qq_trans_is_dup(qq_transaction *trans);
59 guint8 qq_trans_get_room_cmd(qq_transaction *trans); 36 guint8 qq_trans_get_room_cmd(qq_transaction *trans);
60 guint32 qq_trans_get_room_id(qq_transaction *trans); 37 guint32 qq_trans_get_room_id(qq_transaction *trans);
38 gint qq_trans_get_class(qq_transaction *trans);
39 gint qq_trans_get_ship(qq_transaction *trans);
61 40
62 void qq_trans_add_client_cmd(qq_data *qd, guint16 cmd, guint16 seq, guint8 *data, gint data_len); 41 void qq_trans_add_client_cmd(PurpleConnection *gc, guint16 cmd, guint16 seq,
63 void qq_trans_add_server_cmd(qq_data *qd, guint16 cmd, guint16 seq, guint8 *data, gint data_len); 42 guint8 *data, gint data_len, gint update_class, guint32 ship32);
64 void qq_trans_add_room_cmd(qq_data *qd, guint16 seq, guint8 room_cmd, guint32 room_id, 43 void qq_trans_add_room_cmd(PurpleConnection *gc,
44 guint16 seq, guint8 room_cmd, guint32 room_id,
45 guint8 *data, gint data_len, gint update_class, guint32 ship32);
46
47 void qq_trans_add_server_cmd(PurpleConnection *gc, guint16 cmd, guint16 seq,
65 guint8 *data, gint data_len); 48 guint8 *data, gint data_len);
66 49
67 void qq_trans_process_before_login(qq_data *qd); 50 void qq_trans_process_before_login(PurpleConnection *gc);
68 gboolean qq_trans_scan(qq_data *qd); 51 gboolean qq_trans_scan(PurpleConnection *gc);
69 void qq_trans_remove_all(qq_data *qd); 52 void qq_trans_remove_all(PurpleConnection *gc);
70 53
71 #endif 54 #endif