Method

GIRepositoryCallableInfoinvoke

since: 2.80

Declaration [src]

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 [src]

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 method.
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 method.
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 method.
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 returned data is owned by the instance.
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 be 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.