comparison libpurple/protocols/qq/qq_trans.h @ 24026:25f62d21b3f8

disapproval of revision '8cebefbc6cd5d84acb69c74e69e8821f11dd225d'
author Daniel Atallah <daniel.atallah@gmail.com>
date Mon, 15 Sep 2008 03:04:07 +0000
parents 147ada94a1d8
children 225e0e9e1055
comparison
equal deleted inserted replaced
24019:147ada94a1d8 24026:25f62d21b3f8
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 typedef struct _qq_transaction qq_transaction; 31 enum {
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 };
32 38
33 qq_transaction *qq_trans_find_rcved(PurpleConnection *gc, guint16 cmd, guint16 seq); 39 typedef struct _qq_transaction {
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);
34 gboolean qq_trans_is_server(qq_transaction *trans) ; 57 gboolean qq_trans_is_server(qq_transaction *trans) ;
35 gboolean qq_trans_is_dup(qq_transaction *trans); 58 gboolean qq_trans_is_dup(qq_transaction *trans);
36 guint8 qq_trans_get_room_cmd(qq_transaction *trans); 59 guint8 qq_trans_get_room_cmd(qq_transaction *trans);
37 guint32 qq_trans_get_room_id(qq_transaction *trans); 60 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);
40 61
41 void qq_trans_add_client_cmd(PurpleConnection *gc, guint16 cmd, guint16 seq, 62 void qq_trans_add_client_cmd(qq_data *qd, guint16 cmd, guint16 seq, guint8 *data, gint data_len);
42 guint8 *data, gint data_len, gint update_class, guint32 ship32); 63 void qq_trans_add_server_cmd(qq_data *qd, guint16 cmd, guint16 seq, guint8 *data, gint data_len);
43 void qq_trans_add_room_cmd(PurpleConnection *gc, 64 void qq_trans_add_room_cmd(qq_data *qd, guint16 seq, guint8 room_cmd, guint32 room_id,
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,
48 guint8 *data, gint data_len); 65 guint8 *data, gint data_len);
49 66
50 void qq_trans_process_before_login(PurpleConnection *gc); 67 void qq_trans_process_before_login(qq_data *qd);
51 gboolean qq_trans_scan(PurpleConnection *gc); 68 gboolean qq_trans_scan(qq_data *qd);
52 void qq_trans_remove_all(PurpleConnection *gc); 69 void qq_trans_remove_all(qq_data *qd);
53 70
54 #endif 71 #endif