# HG changeset patch
# Node ID 241d563a0fb6
# Parent  71d9a605550a
diff --git a/ChangeLog.API b/ChangeLog.API
--- a/ChangeLog.API
+++ b/ChangeLog.API
@@ -548,11 +548,18 @@
 		* purple_markup_get_css_property
 		* purple_markup_is_rtl
 		* purple_marshal_BOOLEAN__INT_POINTER
+		* purple_marshal_BOOLEAN__POINTER_BOOLEAN
+		* purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER
+		* purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER
+		* purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER
 		* purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT
 		* purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT
+		* purple_marshal_BOOLEAN__POINTER_POINTER_UINT
 		* purple_marshal_INT__INT
 		* purple_marshal_INT__INT_INT
 		* purple_marshal_INT__POINTER_POINTER
+		* purple_marshal_INT__POINTER_POINTER_POINTER
+		* purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER
 		* purple_marshal_POINTER__POINTER
 		* purple_marshal_POINTER__POINTER_INT
 		* purple_marshal_POINTER__POINTER_INT64
@@ -562,6 +569,14 @@
 		* purple_marshal_POINTER__POINTER_POINTER_BOOLEAN
 		* purple_marshal_VOID__INT
 		* purple_marshal_VOID__INT_INT
+		* purple_marshal_VOID__POINTER_POINTER_POINTER
+		* purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER
+		* purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER
+		* purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT
+		* purple_marshal_VOID__POINTER_POINTER_POINTER_UINT
+		* purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT
+		* purple_marshal_VOID__POINTER_POINTER_UINT
+		* purple_marshal_VOID__POINTER_POINTER_UINT_UINT
 		* purple_message_meify
 		* PurpleMimeDocument, PurpleMimePart,
 		  purple_mime_document_new, purple_mime_document_free,
diff --git a/libpurple/signals.h b/libpurple/signals.h
--- a/libpurple/signals.h
+++ b/libpurple/signals.h
@@ -349,175 +349,6 @@
 		GCallback cb, va_list args, void *data, void **return_val);
 
 /**
- * purple_marshal_VOID__POINTER_POINTER_UINT:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with two pointers
- * and an unsigned integer argument.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_UINT(
-		GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_POINTER_UINT_UINT:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with two pointers
- * and two unsigned integer arguments.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_UINT_UINT(
-		GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_UINT_UINT:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with a pointer and
- * two unsigned integer arguments.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_marshal_VOID__POINTER_UINT_UINT(
-		GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with three pointer
- * arguments.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with four pointer
- * arguments.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with five pointer
- * arguments.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_POINTER_POINTER_UINT:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with three pointer
- * and one unsigned integer arguments.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_POINTER_UINT(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with four pointer and
- * one unsigned integer arguments.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with three pointer
- * and two unsigned integer arguments.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_INT__POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with three pointer
- * arguments and returns an integer.
- *
- * Since: 2.8
- */
-PURPLE_AVAILABLE_IN_2_8
-void purple_marshal_INT__POINTER_POINTER_POINTER(
-		GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with five pointer
- * arguments and returns an integer.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
  * purple_marshal_BOOLEAN__POINTER:
  * @cb: (scope call): Callback this marshaller is designed to invoke
  * @args: va_list of arguments to be passed to the closure
@@ -548,21 +379,6 @@
 void purple_marshal_BOOLEAN__POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
 
 /**
- * purple_marshal_BOOLEAN__POINTER_BOOLEAN:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with a pointer and
- * boolean argument and returns a boolean.
- *
- * Since: 2.8
- */
-PURPLE_AVAILABLE_IN_2_8
-void purple_marshal_BOOLEAN__POINTER_BOOLEAN(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
  * purple_marshal_BOOLEAN__POINTER_POINTER_POINTER:
  * @cb: (scope call): Callback this marshaller is designed to invoke
  * @args: va_list of arguments to be passed to the closure
@@ -577,67 +393,6 @@
 PURPLE_AVAILABLE_IN_ALL
 void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
 
-/**
- * purple_marshal_BOOLEAN__POINTER_POINTER_UINT:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with two pointer and
- * one unsigned integer arguments and returns a boolean.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_BOOLEAN__POINTER_POINTER_UINT(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with four pointer
- * arguments and returns a boolean.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with five pointer
- * arguments and returns a boolean.
- *
- * Since: 2.0
- */
-PURPLE_AVAILABLE_IN_ALL
-void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER(GCallback cb, va_list args, void *data, void **return_val);
-
-/**
- * purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER:
- * @cb: (scope call): Callback this marshaller is designed to invoke
- * @args: va_list of arguments to be passed to the closure
- * @data: (nullable): Data to be passed to the callback
- * @return_val: (nullable): Value to store the callback's return value
- *
- * A purple marshaller function for use with signals with six pointer
- * arguments and returns a boolean.
- *
- * Since: 2.6
- */
-PURPLE_AVAILABLE_IN_2_6
-void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER(
-		GCallback cb, va_list args, void *data, void **return_val);
-
 G_END_DECLS
 
 #endif /* PURPLE_SIGNALS_H */
diff --git a/libpurple/signals.c b/libpurple/signals.c
--- a/libpurple/signals.c
+++ b/libpurple/signals.c
@@ -541,159 +541,6 @@
 }
 
 void
-purple_marshal_VOID__POINTER_POINTER_UINT(GCallback cb, va_list args, void *data,
-                                          G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	guint arg3 = va_arg(args, guint);
-
-	((void (*)(void *, void *, guint, void *))cb)(arg1, arg2, arg3, data);
-}
-
-void
-purple_marshal_VOID__POINTER_POINTER_UINT_UINT(GCallback cb, va_list args,
-                                               void *data,
-                                               G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	guint arg3 = va_arg(args, guint);
-	guint arg4 = va_arg(args, guint);
-
-	((void (*)(void *, void *, guint, guint, void *))cb)(arg1, arg2, arg3, arg4, data);
-}
-
-void
-purple_marshal_VOID__POINTER_UINT_UINT(GCallback cb, va_list args, void *data,
-                                       G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	guint arg2 = va_arg(args, guint);
-	guint arg3 = va_arg(args, guint);
-
-	((void (*)(void *, guint, guint, void *))cb)(arg1, arg2, arg3, data);
-}
-
-void
-purple_marshal_VOID__POINTER_POINTER_POINTER(GCallback cb, va_list args,
-                                             void *data,
-                                             G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-
-	((void (*)(void *, void *, void *, void *))cb)(arg1, arg2, arg3, data);
-}
-
-void
-purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER(GCallback cb,
-                                                     va_list args, void *data,
-                                                     G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	void *arg4 = va_arg(args, void *);
-
-	((void (*)(void *, void *, void *, void *, void *))cb)(arg1, arg2, arg3, arg4, data);
-}
-
-void
-purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER(GCallback cb,
-                                                             va_list args,
-                                                             void *data,
-                                                             G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	void *arg4 = va_arg(args, void *);
-	void *arg5 = va_arg(args, void *);
-
-	((void (*)(void *, void *, void *, void *, void *, void *))cb)(arg1, arg2, arg3, arg4, arg5, data);
-}
-
-void
-purple_marshal_VOID__POINTER_POINTER_POINTER_UINT(GCallback cb,
-                                                  va_list args, void *data,
-                                                  G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	guint arg4 = va_arg(args, guint);
-
-	((void (*)(void *, void *, void *, guint, void *))cb)(arg1, arg2, arg3, arg4, data);
-}
-
-void
-purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT(GCallback cb,
-                                                          va_list args,
-                                                          void *data,
-                                                          G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	void *arg4 = va_arg(args, void *);
-	guint arg5 = va_arg(args, guint);
-
-	((void (*)(void *, void *, void *, void *, guint, void *))cb)(arg1, arg2, arg3, arg4, arg5, data);
-}
-
-void
-purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT(GCallback cb,
-                                                       va_list args,
-                                                       void *data,
-                                                       G_GNUC_UNUSED void **return_val)
-{
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	guint arg4 = va_arg(args, guint);
-	guint arg5 = va_arg(args, guint);
-
-	((void (*)(void *, void *, void *, guint, guint, void *))cb)(
-			arg1, arg2, arg3, arg4, arg5, data);
-}
-
-void
-purple_marshal_INT__POINTER_POINTER_POINTER(
-		GCallback cb, va_list args, void *data, void **return_val)
-{
-	gint ret_val;
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-
-	ret_val = ((gint (*)(void *, void *, void *, void *))cb)(arg1, arg2, arg3, data);
-
-	if (return_val != NULL)
-		*return_val = GINT_TO_POINTER(ret_val);
-}
-
-void
-purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER(
-		GCallback cb, va_list args, void *data, void **return_val)
-{
-	gint ret_val;
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	void *arg4 = va_arg(args, void *);
-	void *arg5 = va_arg(args, void *);
-
-	ret_val =
-		((gint (*)(void *, void *, void *, void *, void *, void *))cb)(
-			arg1, arg2, arg3, arg4, arg5, data);
-
-	if (return_val != NULL)
-		*return_val = GINT_TO_POINTER(ret_val);
-}
-
-void
 purple_marshal_BOOLEAN__POINTER(GCallback cb, va_list args, void *data,
 							  void **return_val)
 {
@@ -721,20 +568,6 @@
 }
 
 void
-purple_marshal_BOOLEAN__POINTER_BOOLEAN(GCallback cb, va_list args,
-									  void *data, void **return_val)
-{
-	gboolean ret_val;
-	void *arg1 = va_arg(args, void *);
-	gboolean arg2 = va_arg(args, gboolean);
-
-	ret_val = ((gboolean (*)(void *, gboolean, void *))cb)(arg1, arg2, data);
-
-	if (return_val != NULL)
-		*return_val = GINT_TO_POINTER(ret_val);
-}
-
-void
 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER(GCallback cb, va_list args,
 											  void *data, void **return_val)
 {
@@ -749,79 +582,3 @@
 	if (return_val != NULL)
 		*return_val = GINT_TO_POINTER(ret_val);
 }
-
-void
-purple_marshal_BOOLEAN__POINTER_POINTER_UINT(GCallback cb,
-												   va_list args,
-												   void *data,
-												   void **return_val)
-{
-	gboolean ret_val;
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	guint arg3 = va_arg(args, guint);
-
-	ret_val = ((gboolean (*)(void *, void *, guint, void *))cb)(
-			arg1, arg2, arg3, data);
-
-	if (return_val != NULL)
-		*return_val = GINT_TO_POINTER(ret_val);
-}
-
-void
-purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER(GCallback cb,
-													  va_list args,
-													  void *data,
-													  void **return_val)
-{
-	gboolean ret_val;
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	void *arg4 = va_arg(args, void *);
-
-	ret_val = ((gboolean (*)(void *, void *, void *, void *, void *))cb)(
-			arg1, arg2, arg3, arg4, data);
-
-	if (return_val != NULL)
-		*return_val = GINT_TO_POINTER(ret_val);
-}
-
-void
-purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER(
-		GCallback cb, va_list args, void *data, void **return_val)
-{
-	gboolean ret_val;
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	void *arg4 = va_arg(args, void *);
-	void *arg5 = va_arg(args, void *);
-
-	ret_val =
-		((gboolean (*)(void *, void *, void *, void *, void *, void *))cb)(
-			arg1, arg2, arg3, arg4, arg5, data);
-
-	if (return_val != NULL)
-		*return_val = GINT_TO_POINTER(ret_val);
-}
-
-void
-purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER(
-		GCallback cb, va_list args, void *data, void **return_val)
-{
-	gboolean ret_val;
-	void *arg1 = va_arg(args, void *);
-	void *arg2 = va_arg(args, void *);
-	void *arg3 = va_arg(args, void *);
-	void *arg4 = va_arg(args, void *);
-	void *arg5 = va_arg(args, void *);
-	void *arg6 = va_arg(args, void *);
-
-	ret_val =
-		((gboolean (*)(void *, void *, void *, void *, void *, void *, void *))cb)(
-			arg1, arg2, arg3, arg4, arg5, arg6, data);
-
-	if (return_val != NULL)
-		*return_val = GINT_TO_POINTER(ret_val);
-}
