Method

GIRepositoryVFuncInfoinvoke

since: 2.80

Declaration [src]

gboolean
gi_vfunc_info_invoke (
  GIVFuncInfo* info,
  GType implementor,
  const GIArgument* in_args,
  size_t n_in_args,
  GIArgument* out_args,
  size_t n_out_args,
  GIArgument* return_value,
  GError** error
)

Description [src]

Invokes the function described in info with the given arguments.

Note that ‘inout’ parameters must appear in both argument lists.

Available since: 2.80

This method is not directly available to language bindings.

Parameters

implementor

Type: GType

GType of the type that implements this virtual function.

in_args

Type: An array of GIArgument

An array of GIArguments, one for each ‘in’ parameter of info. If there are no ‘in’ parameters, in_args can be NULL.

The argument can be NULL.
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

The length of the in_args array.

out_args

Type: An array of GIArgument

An array of GIArguments allocated by the caller, one for each ‘out’ parameter of info. If there are no ‘out’ parameters, out_args may be NULL.

The argument can be NULL.
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

The length of the out_args array.

return_value

Type: GIArgument

Return location for the return value from the vfunc; NULL may be returned if the vfunc 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 vfunc was executed successfully and didn’t throw a GError; FALSE if error is set.