Mercurial > pidgin
comparison src/protocols/msn/msg.h @ 9193:502707ca1836
[gaim-migrate @ 9988]
Patch by Felipe Contreras to add MSN file transfer and buddy icons. Please
test and report any bugs!
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 06 Jun 2004 02:39:08 +0000 |
parents | c30d81b4dd22 |
children | ab6636c5a136 |
comparison
equal
deleted
inserted
replaced
9192:5655dcd94d0f | 9193:502707ca1836 |
---|---|
24 | 24 |
25 typedef struct _MsnMessage MsnMessage; | 25 typedef struct _MsnMessage MsnMessage; |
26 | 26 |
27 #include "session.h" | 27 #include "session.h" |
28 #include "user.h" | 28 #include "user.h" |
29 | |
30 #include "command.h" | |
31 #include "transaction.h" | |
32 | |
33 typedef enum | |
34 { | |
35 MSN_MSG_NORMAL, | |
36 MSN_MSG_SLP_SB, | |
37 MSN_MSG_SLP_DC | |
38 | |
39 } MsnMsgType; | |
29 | 40 |
30 typedef struct | 41 typedef struct |
31 { | 42 { |
32 guint32 session_id; | 43 guint32 session_id; |
33 guint32 id; | 44 guint32 id; |
52 */ | 63 */ |
53 struct _MsnMessage | 64 struct _MsnMessage |
54 { | 65 { |
55 size_t ref_count; /**< The reference count. */ | 66 size_t ref_count; /**< The reference count. */ |
56 | 67 |
68 MsnMsgType type; | |
69 | |
57 gboolean msnslp_message; | 70 gboolean msnslp_message; |
58 gboolean msnslp_ack_message; | 71 |
59 | 72 char *remote_user; |
60 char *passport; | |
61 char flag; | 73 char flag; |
62 | 74 |
63 char *content_type; | 75 char *content_type; |
64 char *charset; | 76 char *charset; |
65 char *body; | 77 char *body; |
66 size_t body_len; | 78 gsize body_len; |
67 | 79 |
68 MsnSlpHeader msnslp_header; | 80 MsnSlpHeader msnslp_header; |
69 MsnSlpFooter msnslp_footer; | 81 MsnSlpFooter msnslp_footer; |
70 | 82 |
71 MsnMessage *acked_msg; | |
72 | |
73 GHashTable *attr_table; | 83 GHashTable *attr_table; |
74 GList *attr_list; | 84 GList *attr_list; |
85 | |
86 MsnCommand *cmd; | |
87 MsnTransaction *trans; | |
88 | |
89 MsnTransCb ack_cb; | |
90 void *ack_data; | |
75 }; | 91 }; |
76 | 92 |
77 #define MSN_MESSAGE(msg) ((MsnMessage *)(msg)) | |
78 | |
79 /** | 93 /** |
80 * Creates a new, empty message. | 94 * Creates a new, empty message. |
81 * | 95 * |
82 * @return A new message. | 96 * @return A new message. |
83 */ | 97 */ |
84 MsnMessage *msn_message_new(void); | 98 MsnMessage *msn_message_new(void); |
85 | 99 |
100 /** | |
101 * Creates a new, empty MSNSLP message. | |
102 * | |
103 * @return A new MSNSLP message. | |
104 */ | |
105 MsnMessage *msn_message_new_msnslp(void); | |
106 | |
86 MsnMessage *msn_message_new_plain(const char *message); | 107 MsnMessage *msn_message_new_plain(const char *message); |
87 | 108 |
88 /** | 109 /** |
89 * Creates a new, empty MSNSLP message. | |
90 * | |
91 * @return A new MSNSLP message. | |
92 */ | |
93 MsnMessage *msn_message_new_msnslp(void); | |
94 | |
95 /** | |
96 * Creates a MSNSLP ack message. | 110 * Creates a MSNSLP ack message. |
97 * | 111 * |
98 * @param acked_msg The message to acknowledge. | 112 * @param acked_msg The message to acknowledge. |
99 * | 113 * |
100 * @return A new MSNSLP ack message. | 114 * @return A new MSNSLP ack message. |
101 */ | 115 */ |
102 MsnMessage *msn_message_new_msnslp_ack(MsnMessage *acked_msg); | 116 MsnMessage *msn_message_new_msnslp_ack(MsnMessage *acked_msg); |
103 | 117 |
104 /** | 118 /** |
105 * Parse the payload of a message. | 119 * Creates a new message based off a command. |
120 * | |
121 * @param session The MSN session. | |
122 * @param cmd The command. | |
123 * | |
124 * @return The new message. | |
125 */ | |
126 MsnMessage *msn_message_new_from_cmd(MsnSession *session, MsnCommand *cmd); | |
127 | |
128 /** | |
129 * Parses the payload of a message. | |
106 * | 130 * |
107 * @param msg The message. | 131 * @param msg The message. |
108 * @param payload The payload. | 132 * @param payload The payload. |
109 * @param payload_len The length of the payload. | 133 * @param payload_len The length of the payload. |
110 */ | 134 */ |
144 * @param msg The message. | 168 * @param msg The message. |
145 * @param ret_size The returned size of the payload. | 169 * @param ret_size The returned size of the payload. |
146 * | 170 * |
147 * @return The payload data of the message. | 171 * @return The payload data of the message. |
148 */ | 172 */ |
149 char *msn_message_gen_payload(const MsnMessage *msg, size_t *ret_size); | 173 char *msn_message_gen_payload(MsnMessage *msg, size_t *ret_size); |
150 | 174 |
151 /** | 175 /** |
152 * Sets the flag for an outgoing message. | 176 * Sets the flag for an outgoing message. |
153 * | 177 * |
154 * @param msg The message. | 178 * @param msg The message. |
163 * | 187 * |
164 * @return The flag. | 188 * @return The flag. |
165 */ | 189 */ |
166 char msn_message_get_flag(const MsnMessage *msg); | 190 char msn_message_get_flag(const MsnMessage *msg); |
167 | 191 |
192 #if 0 | |
168 /** | 193 /** |
169 * Sets the body of a message. | 194 * Sets the body of a message. |
170 * | 195 * |
171 * @param msg The message. | 196 * @param msg The message. |
172 * @param body The body of the message. | 197 * @param body The body of the message. |
179 * @param msg The message. | 204 * @param msg The message. |
180 * | 205 * |
181 * @return The body of the message. | 206 * @return The body of the message. |
182 */ | 207 */ |
183 const char *msn_message_get_body(const MsnMessage *msg); | 208 const char *msn_message_get_body(const MsnMessage *msg); |
184 | 209 #endif |
185 /** | 210 /** |
186 * Sets the binary content of the message. | 211 * Sets the binary content of the message. |
187 * | 212 * |
188 * @param msg The message. | 213 * @param msg The message. |
189 * @param data The binary data. | 214 * @param data The binary data. |
262 * | 287 * |
263 * @return The resulting hashtable. | 288 * @return The resulting hashtable. |
264 */ | 289 */ |
265 GHashTable *msn_message_get_hashtable_from_body(const MsnMessage *msg); | 290 GHashTable *msn_message_get_hashtable_from_body(const MsnMessage *msg); |
266 | 291 |
292 void msn_message_show_readable(MsnMessage *msg, const char *info, | |
293 gboolean text_body); | |
294 | |
295 void msn_message_parse_slp_body(MsnMessage *msg, const char *body, | |
296 size_t len); | |
297 | |
298 char *msn_message_gen_slp_body(MsnMessage *msg, size_t *ret_size); | |
299 | |
300 | |
267 #endif /* _MSN_MSG_H_ */ | 301 #endif /* _MSN_MSG_H_ */ |