comparison src/protocols/msn/msg.h @ 8646:1e211dde3cae

[gaim-migrate @ 9398] Added a patch by shx to clean up the message-handling code and split the command stuff from it, among a few other things. Also, I fixed a crash in message parsing, which I think may close a couple bug reports. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Tue, 13 Apr 2004 04:08:22 +0000
parents 06f57183e29f
children c30d81b4dd22
comparison
equal deleted inserted replaced
8645:47f647dd2ac3 8646:1e211dde3cae
58 size_t ref_count; /**< The reference count. */ 58 size_t ref_count; /**< The reference count. */
59 59
60 gboolean msnslp_message; 60 gboolean msnslp_message;
61 gboolean msnslp_ack_message; 61 gboolean msnslp_ack_message;
62 62
63 MsnUser *sender; 63 char *passport;
64 MsnUser *receiver;
65 64
66 unsigned int tid; 65 unsigned int tid;
67 char flag; 66 char flag;
68
69 gboolean incoming;
70 67
71 size_t size; 68 size_t size;
72 69
73 gboolean bin_content; 70 gboolean bin_content;
74 71
110 * @return A new MSNSLP ack message. 107 * @return A new MSNSLP ack message.
111 */ 108 */
112 MsnMessage *msn_message_new_msnslp_ack(MsnMessage *acked_msg); 109 MsnMessage *msn_message_new_msnslp_ack(MsnMessage *acked_msg);
113 110
114 /** 111 /**
115 * Creates a new message based off a string. 112 * Parse the payload of a message.
116 * 113 *
117 * @param session The MSN session. 114 * @param msg The message.
118 * @param str The string. 115 * @param payload The payload.
119 * 116 * @param payload_len The length payload.
120 * @return The new message. 117 */
121 */ 118 void msn_message_parse_payload(MsnMessage *msg,
122 MsnMessage *msn_message_new_from_str(MsnSession *session, const char *str); 119 const char *payload,
120 size_t payload_len);
123 121
124 /** 122 /**
125 * Destroys a message. 123 * Destroys a message.
126 * 124 *
127 * @param msg The message to destroy. 125 * @param msg The message to destroy.
147 * @return @a msg, or @c NULL if the new count is 0. 145 * @return @a msg, or @c NULL if the new count is 0.
148 */ 146 */
149 MsnMessage *msn_message_unref(MsnMessage *msg); 147 MsnMessage *msn_message_unref(MsnMessage *msg);
150 148
151 /** 149 /**
152 * Converts a message to a string. 150 * Generates the payload data of a message.
153 * 151 *
154 * @param msg The message. 152 * @param msg The message.
155 * @param ret_size The returned size of the string. 153 * @param ret_size The returned size of the payload.
156 * 154 *
157 * @return The string representation of a message. 155 * @return The payload data of the message.
158 */ 156 */
159 char *msn_message_to_string(const MsnMessage *msg, size_t *ret_size); 157 char *msn_message_gen_payload(const MsnMessage *msg, size_t *ret_size);
160
161 /**
162 * Returns TRUE if the message is outgoing.
163 *
164 * @param msg The message.
165 *
166 * @return @c TRUE if the message is outgoing, or @c FALSE otherwise.
167 */
168 gboolean msn_message_is_outgoing(const MsnMessage *msg);
169
170 /**
171 * Returns TRUE if the message is incoming.
172 *
173 * @param msg The message.
174 *
175 * @return @c TRUE if the message is incoming, or @c FALSE otherwise.
176 */
177 gboolean msn_message_is_incoming(const MsnMessage *msg);
178
179 /**
180 * Sets the message's sender.
181 *
182 * @param msg The message.
183 * @param user The sender.
184 */
185 void msn_message_set_sender(MsnMessage *msg, MsnUser *user);
186
187 /**
188 * Returns the message's sender.
189 *
190 * @param msg The message.
191 *
192 * @return The sender.
193 */
194 MsnUser *msn_message_get_sender(const MsnMessage *msg);
195
196 /**
197 * Sets the message's receiver.
198 *
199 * @param msg The message.
200 * @param user The receiver.
201 */
202 void msn_message_set_receiver(MsnMessage *msg, MsnUser *user);
203
204 /**
205 * Returns the message's receiver.
206 *
207 * @param msg The message.
208 *
209 * @return The receiver.
210 */
211 MsnUser *msn_message_get_receiver(const MsnMessage *msg);
212
213 /**
214 * Sets the message transaction ID.
215 *
216 * @param msg The message.
217 * @param tid The transaction ID.
218 */
219 void msn_message_set_transaction_id(MsnMessage *msg, unsigned int tid);
220
221 /**
222 * Returns the message transaction ID.
223 *
224 * @param msg The message.
225 *
226 * @return The transaction ID.
227 */
228 unsigned int msn_message_get_transaction_id(const MsnMessage *msg);
229 158
230 /** 159 /**
231 * Sets the flag for an outgoing message. 160 * Sets the flag for an outgoing message.
232 * 161 *
233 * @param msg The message. 162 * @param msg The message.