## GIVFuncInfo

GIVFuncInfo — Struct representing a virtual function

## Synopsis

    #define             GI_IS_VFUNC_INFO                    (info)
    typedef             GIVFuncInfo;
    enum                GIVFuncInfoFlags;
    GIVFuncInfoFlags    g_vfunc_info_get_flags              (GIVFuncInfo *info);
    gint                g_vfunc_info_get_offset             (GIVFuncInfo *info);
    GISignalInfo *      g_vfunc_info_get_signal             (GIVFuncInfo *info);
    GIFunctionInfo *    g_vfunc_info_get_invoker            (GIVFuncInfo *info);

## Description

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

## Struct hierarchy

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

## Details

### GI_IS_VFUNC_INFO()

    #define             GI_IS_VFUNC_INFO(info)

### GIVFuncInfo

    typedef GIBaseInfo GIVFuncInfo;

Represents a virtual function.

### enum GIVFuncInfoFlags

    typedef enum {
      GI_VFUNC_MUST_CHAIN_UP     = 1 << 0,
      GI_VFUNC_MUST_OVERRIDE     = 1 << 1,
      GI_VFUNC_MUST_NOT_OVERRIDE = 1 << 2
    } GIVFuncInfoFlags;

Flags of a GIVFuncInfo struct.

`GI_VFUNC_MUST_CHAIN_UP` | chains up to the parent type
`GI_VFUNC_MUST_OVERRIDE` | overrides
`GI_VFUNC_MUST_NOT_OVERRIDE` | does not override

### 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.

`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.

`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.

`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.

`info` : | a GIVFuncInfo
Returns : | the GIVFuncInfo or `NULL`. Free it with `g_base_info_unref()` when done. [transfer full]