Mercurial > pidgin.yaz
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/protocols/msn/slpmsg_part.h Mon Jul 19 21:11:32 2010 +0000 @@ -0,0 +1,41 @@ +#ifndef MSN_SLPMSG_PART_H +#define MSN_SLPMSG_PART_H + +#include "p2p.h" + +typedef struct _MsnSlpMessagePart MsnSlpMessagePart; +typedef void (*MsnSlpPartCb)(MsnSlpMessagePart *part, void *data); + +struct _MsnSlpMessagePart +{ + int ref_count; + + MsnP2PHeader *header; + MsnP2PFooter *footer; + + MsnSlpPartCb ack_cb; + MsnSlpPartCb nak_cb; + void *ack_data; + + guchar *buffer; + size_t size; +}; + +MsnSlpMessagePart *msn_slpmsgpart_new(MsnP2PHeader *header, MsnP2PFooter *footer); + +MsnSlpMessagePart *msn_slpmsgpart_new_from_data(const char *data, size_t data_len); + +void msn_slpmsgpart_destroy(MsnSlpMessagePart *part); + +MsnSlpMessagePart *msn_slpmsgpart_ref(MsnSlpMessagePart *part); + +MsnSlpMessagePart *msn_slpmsgpart_unref(MsnSlpMessagePart *part); + +void msn_slpmsgpart_set_bin_data(MsnSlpMessagePart *part, const void *data, size_t len); + +char *msn_slpmsgpart_serialize(MsnSlpMessagePart *part, size_t *ret_size); + +void msn_slpmsgpart_ack(MsnSlpMessagePart *part, void *data); + +void msn_slpmsgpart_nak(MsnSlpMessagePart *part, void *data); +#endif /* MSN_SLPMSG_PART_H */