Add the MATRIX_API_CALLBACK_PROTO convenience macro
It can ease creating API callback function headers.
This commit is contained in:
		| @@ -236,6 +236,7 @@ matrix_presence_event_get_type | ||||
| <TITLE>MatrixAPI</TITLE> | ||||
| MatrixAPIInterface | ||||
| MatrixAPICallback | ||||
| MATRIX_API_CALLBACK_PROTO | ||||
|  | ||||
| <SUBSECTION> | ||||
| matrix_api_set_token | ||||
|   | ||||
| @@ -120,6 +120,26 @@ | ||||
|  * @raw_content will be set. | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * MATRIX_API_CALLBACK_PROTO: | ||||
|  * @name: the name of the function | ||||
|  * | ||||
|  * Convenience macro to define a #MatrixAPICallback function. The | ||||
|  * parameter names in the defined function will be the same as defined | ||||
|  * in #MatrixAPICallback. | ||||
|  * | ||||
|  * |[<!-- language="C" --> | ||||
|  * // Use it for prototypes… | ||||
|  * MATRIX_API_CALLBACK_PROTO(my_fancy_callback); | ||||
|  * | ||||
|  * // …or for the implementation. | ||||
|  * MATRIX_API_CALLBACK_PROTO(my_fancy_callback) | ||||
|  * { | ||||
|  *     do_callback_stuff(api, json_content); | ||||
|  * } | ||||
|  * ]| | ||||
|  */ | ||||
|  | ||||
| G_DEFINE_INTERFACE(MatrixAPI, matrix_api, G_TYPE_OBJECT); | ||||
|  | ||||
| static void | ||||
|   | ||||
| @@ -41,6 +41,14 @@ typedef void (*MatrixAPICallback)(MatrixAPI *api, | ||||
|                                   gpointer user_data, | ||||
|                                   GError *err); | ||||
|  | ||||
| #define MATRIX_API_CALLBACK_PROTO(name) static void \ | ||||
|     name (MatrixAPI *api,                           \ | ||||
|           const gchar *content_type,                \ | ||||
|           JsonNode *json_content,                   \ | ||||
|           GByteArray *raw_content,                  \ | ||||
|           gpointer user_data,                       \ | ||||
|           GError *error) | ||||
|  | ||||
| struct _MatrixAPIInterface { | ||||
|     /*< private >*/ | ||||
|     GTypeInterface g_iface; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user