![]() |
![]() |
![]() |
GObject Introspection Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
typedef GIFunctionInfo; enum GInvokeError; enum GIFunctionInfoFlags; const gchar * g_function_info_get_symbol (GIFunctionInfo *info
); GIFunctionInfoFlags g_function_info_get_flags (GIFunctionInfo *info
); GIPropertyInfo * g_function_info_get_property (GIFunctionInfo *info
); GIVFuncInfo * g_function_info_get_vfunc (GIFunctionInfo *info
); gboolean g_function_info_invoke (GIFunctionInfo *info
,const GArgument *in_args
,int n_in_args
,const GArgument *out_args
,int n_out_args
,GArgument *return_value
,GError **error
);
typedef GIBaseInfo GIFunctionInfo;
Represents a function, eg arguments and return value.
typedef enum { G_INVOKE_ERROR_FAILED, G_INVOKE_ERROR_SYMBOL_NOT_FOUND, G_INVOKE_ERROR_ARGUMENT_MISMATCH } GInvokeError;
An error occuring while invoking a function via
g_function_info_invoke()
.
invokation failed, unknown error. | |
symbol couldn't be found in any of the libraries associated with the typelib of the function. | |
the arguments provided didn't match the expected arguments for the functions type signature. |
typedef enum { GI_FUNCTION_IS_METHOD = 1 << 0, GI_FUNCTION_IS_CONSTRUCTOR = 1 << 1, GI_FUNCTION_IS_GETTER = 1 << 2, GI_FUNCTION_IS_SETTER = 1 << 3, GI_FUNCTION_WRAPS_VFUNC = 1 << 4, GI_FUNCTION_THROWS = 1 << 5 } GIFunctionInfoFlags;
Flags for a GIFunctionInfo struct.
is a method. | |
is a constructor. | |
is a getter of a GIPropertyInfo. | |
is a setter of a GIPropertyInfo. | |
represents a virtual function. | |
the function may throw an error. |
const gchar * g_function_info_get_symbol (GIFunctionInfo *info
);
|
|
Returns : |
GIFunctionInfoFlags g_function_info_get_flags (GIFunctionInfo *info
);
|
|
Returns : |
GIPropertyInfo * g_function_info_get_property (GIFunctionInfo *info
);
|
|
Returns : |
GIVFuncInfo * g_function_info_get_vfunc (GIFunctionInfo *info
);
|
|
Returns : |
gboolean g_function_info_invoke (GIFunctionInfo *info
,const GArgument *in_args
,int n_in_args
,const GArgument *out_args
,int n_out_args
,GArgument *return_value
,GError **error
);
Invokes the function described in info
with the given
arguments. Note that inout parameters must appear in both
argument lists. This function uses dlsym()
to obtain a pointer
to the function, so the library or shared object containing the
described function must either be linked to the caller, or must
have been dlopen()
ed before calling this function.
|
a GIFunctionInfo describing the function to invoke |
|
an array of GArguments, one for each in
parameter of info . If there are no in parameter, in_args
can be NULL
|
|
the length of the in_args array
|
|
an array of GArguments, one for each out
parameter of info . If there are no out parameters, out_args
may be NULL
|
|
the length of the out_args array
|
|
return location for the return value of the
function. If the function returns void, return_value may be
NULL
|
|
return location for detailed error information, or NULL
|
Returns : |
TRUE if the function has been invoked, FALSE if an
error occurred.
|