diff libpurple/protocols/msn/transaction.h @ 28720:6a23d7f84143

Allow setting a destroy-function for the data. Fixes a leak.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 09 Oct 2009 18:01:51 +0000
parents d3262085b7a7
children 462cb893521b
line wrap: on
line diff
--- a/libpurple/protocols/msn/transaction.h	Fri Oct 09 17:33:16 2009 +0000
+++ b/libpurple/protocols/msn/transaction.h	Fri Oct 09 18:01:51 2009 +0000
@@ -48,6 +48,8 @@
 	guint timer;
 
 	void *data; /**< The data to be used on the different callbacks. */
+	GDestroyNotify data_free;  /**< The function to free 'data', or @c NULL */
+
 	GHashTable *callbacks;
 	gboolean has_custom_callbacks;
 	MsnErrorCb error_cb;
@@ -71,6 +73,7 @@
 void msn_transaction_set_payload(MsnTransaction *trans,
 								 const char *payload, int payload_len);
 void msn_transaction_set_data(MsnTransaction *trans, void *data);
+void msn_transaction_set_data_free(MsnTransaction *trans, GDestroyNotify fn);
 void msn_transaction_add_cb(MsnTransaction *trans, char *answer,
 							MsnTransCb cb);
 void msn_transaction_set_error_cb(MsnTransaction *trans, MsnErrorCb cb);