comparison libpurple/protocols/msn/slpmsg_part.h @ 31292:47b6eda87723

propagate from branch 'im.pidgin.pidgin' (head 07d0765c444a097af45c2650f54323afb900a07b) to branch 'im.pidgin.soc.2010.msn-tlc' (head f3998422a4724ab424e4e2328f58fc0504856557)
author masca@cpw.pidgin.im
date Mon, 19 Jul 2010 21:11:32 +0000
parents 74c4aa38adfc
children 72e6fa6caecc
comparison
equal deleted inserted replaced
30698:e874875a74a7 31292:47b6eda87723
1 #ifndef MSN_SLPMSG_PART_H
2 #define MSN_SLPMSG_PART_H
3
4 #include "p2p.h"
5
6 typedef struct _MsnSlpMessagePart MsnSlpMessagePart;
7 typedef void (*MsnSlpPartCb)(MsnSlpMessagePart *part, void *data);
8
9 struct _MsnSlpMessagePart
10 {
11 int ref_count;
12
13 MsnP2PHeader *header;
14 MsnP2PFooter *footer;
15
16 MsnSlpPartCb ack_cb;
17 MsnSlpPartCb nak_cb;
18 void *ack_data;
19
20 guchar *buffer;
21 size_t size;
22 };
23
24 MsnSlpMessagePart *msn_slpmsgpart_new(MsnP2PHeader *header, MsnP2PFooter *footer);
25
26 MsnSlpMessagePart *msn_slpmsgpart_new_from_data(const char *data, size_t data_len);
27
28 void msn_slpmsgpart_destroy(MsnSlpMessagePart *part);
29
30 MsnSlpMessagePart *msn_slpmsgpart_ref(MsnSlpMessagePart *part);
31
32 MsnSlpMessagePart *msn_slpmsgpart_unref(MsnSlpMessagePart *part);
33
34 void msn_slpmsgpart_set_bin_data(MsnSlpMessagePart *part, const void *data, size_t len);
35
36 char *msn_slpmsgpart_serialize(MsnSlpMessagePart *part, size_t *ret_size);
37
38 void msn_slpmsgpart_ack(MsnSlpMessagePart *part, void *data);
39
40 void msn_slpmsgpart_nak(MsnSlpMessagePart *part, void *data);
41 #endif /* MSN_SLPMSG_PART_H */