view libpurple/protocols/msn/slpmsg_part.h @ 31392:a328691c761a

* Don't include ourselves in the list of other endpoints that can be disconnected * Show a different message if there are no other endpoints. Unfortunately this message has a colon after it, because our request API adds a colon to all labels. There's a note in the code listing possible options for fixing that. For now, I think this is an improvement
author Mark Doliner <mark@kingant.net>
date Mon, 22 Nov 2010 07:32:57 +0000
parents 74c4aa38adfc
children 72e6fa6caecc
line wrap: on
line source

#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 */