view libpurple/protocols/msn/slpmsg_part.h @ 31394:5eb2ea662d8c

Nothing uses this return value, so stop returning it. I think it's weird for an unref function to return a pointer to the object you unreffed. I see how there could be an argument for such a thing... but it seems like it would be better to write code that doesn't require knowing whether the object you unreffed was destroyed.
author Mark Doliner <mark@kingant.net>
date Mon, 22 Nov 2010 07:43:56 +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 */