GIVFuncInfo

GIVFuncInfo — Struct representing a virtual function

Functions

Types and Values

Description

GIVfuncInfo represents a virtual function. A property belongs to either a GIObjectInfo or a GIInterfaceInfo.

Struct hierarchy

  GIBaseInfo
   +----GICallableInfo
         +----GIFunctionInfo
         +----GISignalInfo
         +----GIVFuncInfo

Functions

g_vfunc_info_get_flags ()

GIVFuncInfoFlags
g_vfunc_info_get_flags (GIVFuncInfo *info);

Obtain the flags for this virtual function info. See GIVFuncInfoFlags for more information about possible flag values.

Parameters

info

a GIVFuncInfo

 

Returns

the flags


g_vfunc_info_get_offset ()

gint
g_vfunc_info_get_offset (GIVFuncInfo *info);

Obtain the offset of the function pointer in the class struct. The value 0xFFFF indicates that the struct offset is unknown.

Parameters

info

a GIVFuncInfo

 

Returns

the struct offset or 0xFFFF if it's unknown


g_vfunc_info_get_signal ()

GISignalInfo *
g_vfunc_info_get_signal (GIVFuncInfo *info);

Obtain the signal for the virtual function if one is set. The signal comes from the object or interface to which this virtual function belongs.

Parameters

info

a GIVFuncInfo

 

Returns

the signal or NULL if none set.

[transfer full]


g_vfunc_info_get_invoker ()

GIFunctionInfo *
g_vfunc_info_get_invoker (GIVFuncInfo *info);

If this virtual function has an associated invoker method, this method will return it. An invoker method is a C entry point.

Not all virtuals will have invokers.

Parameters

info

a GIVFuncInfo

 

Returns

the GIVFuncInfo or NULL. Free it with g_base_info_unref() when done.

[transfer full]


g_vfunc_info_get_address ()

gpointer
g_vfunc_info_get_address (GIVFuncInfo *info,
                          GType implementor_gtype,
                          GError **error);

This method will look up where inside the type struct of implementor_gtype is the implementation for info .

Parameters

info

a GIVFuncInfo

 

implementor_gtype

GType implementing this virtual function

 

error

return location for a GError

 

Returns

address to a function or NULL if an error happened


g_vfunc_info_invoke ()

gboolean
g_vfunc_info_invoke (GIVFuncInfo *info,
                     GType implementor,
                     const GIArgument *in_args,
                     int n_in_args,
                     const GIArgument *out_args,
                     int n_out_args,
                     GIArgument *return_value,
                     GError **error);

Invokes the function described in info with the given arguments. Note that inout parameters must appear in both argument lists.

[skip]

Parameters

info

a GIVFuncInfo describing the virtual function to invoke

 

implementor

GType of the type that implements this virtual function

 

in_args

an array of GIArguments, one for each in parameter of info . If there are no in parameter, in_args can be NULL.

[array length=n_in_args]

n_in_args

the length of the in_args array

 

out_args

an array of GIArguments, one for each out parameter of info . If there are no out parameters, out_args may be NULL.

[array length=n_out_args]

n_out_args

the length of the out_args array

 

return_value

return location for the return value of the function. If the function returns void, return_value may be NULL

 

error

return location for detailed error information, or NULL

 

Returns

TRUE if the function has been invoked, FALSE if an error occurred.

Types and Values

GIVFuncInfo

typedef GIBaseInfo GIVFuncInfo;

Represents a virtual function.


enum GIVFuncInfoFlags

Flags of a GIVFuncInfo struct.

Members

GI_VFUNC_MUST_CHAIN_UP

chains up to the parent type

 

GI_VFUNC_MUST_OVERRIDE

overrides

 

GI_VFUNC_MUST_NOT_OVERRIDE

does not override

 

GI_VFUNC_THROWS

Includes a GError