| 36 #define QQ_KEY_LENGTH 16 |
36 #define QQ_KEY_LENGTH 16 |
| 37 |
37 |
| 38 /* steal from kazehakase :) */ |
38 /* steal from kazehakase :) */ |
| 39 #define qq_strlen(s) ((s)!=NULL?strlen(s):0) |
39 #define qq_strlen(s) ((s)!=NULL?strlen(s):0) |
| 40 #define qq_strcmp(s1,s2) ((s1)!=NULL && (s2)!=NULL?strcmp(s1,s2):0) |
40 #define qq_strcmp(s1,s2) ((s1)!=NULL && (s2)!=NULL?strcmp(s1,s2):0) |
| |
41 |
| |
42 /* business logic layer */ |
| |
43 typedef guint32 UPDCLS; |
| |
44 typedef guint32 UID; |
| 41 |
45 |
| 42 typedef struct _qq_data qq_data; |
46 typedef struct _qq_data qq_data; |
| 43 typedef struct _qq_buddy_data qq_buddy_data; |
47 typedef struct _qq_buddy_data qq_buddy_data; |
| 44 typedef struct _qq_interval qq_interval; |
48 typedef struct _qq_interval qq_interval; |
| 45 typedef struct _qq_net_stat qq_net_stat; |
49 typedef struct _qq_net_stat qq_net_stat; |
| 151 guint network_watcher; |
155 guint network_watcher; |
| 152 gint resend_times; |
156 gint resend_times; |
| 153 |
157 |
| 154 GList *transactions; /* check ack packet and resend */ |
158 GList *transactions; /* check ack packet and resend */ |
| 155 |
159 |
| 156 guint32 uid; /* QQ number */ |
160 UID uid; /* QQ number */ |
| 157 |
161 |
| 158 qq_login_data ld; |
162 qq_login_data ld; |
| 159 qq_captcha_data captcha; |
163 qq_captcha_data captcha; |
| 160 |
164 |
| 161 guint8 session_key[QQ_KEY_LENGTH]; /* later use this as key in this session */ |
165 guint8 session_key[QQ_KEY_LENGTH]; /* later use this as key in this session */ |