Method

GIRepositoryCallableInfoinvoke

since: 2.80

Declaration

gboolean
gi_callable_info_invoke (
  GICallableInfo* info,
  void* function,
  const GIArgument* in_args,
  size_t n_in_args,
  GIArgument* out_args,
  size_t n_out_args,
  GIArgument* return_value,
  GError** error
)

Description

Invoke the given GICallableInfo by calling the given function pointer.

The set of arguments passed to function will be constructed according to the introspected type of the GICallableInfo, using in_args, out_args and error.

Available since: 2.80

Parameters

function

Type: void*

Function pointer to call.

The argument can be NULL.
The data is owned by the caller of the function.
in_args

Type: An array of GIArgument

Array of ‘in’ arguments.

The length of the array is specified in the n_in_args argument.
The data is owned by the caller of the function.
n_in_args

Type: size_t

Number of arguments in in_args.

out_args

Type: An array of GIArgument

Array of ‘out’ arguments allocated by the caller, to be populated with outputted values.

The length of the array is specified in the n_out_args argument.
The data is owned by the caller of the function.
n_out_args

Type: size_t

Number of arguments in out_args.

return_value

Type: GIArgument

Return location for the return value from the callable; NULL may be returned if the callable returns that.

The argument will be set by the function.
The data is owned by the caller of the function.
error

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: gboolean

TRUE if the callable was executed successfully and didn’t throw a GError; FALSE if error is set.