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
GIArgument
s, one for each ‘in’ parameter ofinfo
. If there are no ‘in’ parameters,in_args
can beNULL
.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
GIArgument
s allocated by the caller, one for each ‘out’ parameter ofinfo
. If there are no ‘out’ parameters,out_args
may beNULL
.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 aNULL
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.