mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 07:56:14 +01:00
[girepository] Add macros for checking struct type
Add macros for checking the sub-struct type. These are similar to the standard GObject macros.
This commit is contained in:
parent
23e9949e1d
commit
e66f46042d
@ -388,15 +388,19 @@ GIBaseInfo * g_base_info_get_container (GIBaseInfo *info);
|
||||
GTypelib * g_base_info_get_typelib (GIBaseInfo *info);
|
||||
gboolean g_base_info_equal (GIBaseInfo *info1,
|
||||
GIBaseInfo *info2);
|
||||
gboolean g_base_info_is_a (GIBaseInfo *info,
|
||||
GIInfoType type);
|
||||
|
||||
GIBaseInfo * g_info_new (GIInfoType type,
|
||||
GIBaseInfo *container,
|
||||
GTypelib *typelib,
|
||||
guint32 offset);
|
||||
|
||||
|
||||
/* GIFunctionInfo */
|
||||
|
||||
#define GI_IS_FUNCTION_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FUNCTION)
|
||||
|
||||
/**
|
||||
* GIFunctionInfoFlags:
|
||||
* @GI_FUNCTION_IS_METHOD: is a method.
|
||||
@ -481,6 +485,12 @@ gboolean g_function_info_invoke (GIFunctionInfo *info,
|
||||
|
||||
/* GICallableInfo */
|
||||
|
||||
#define GI_IS_CALLABLE_INFO(info) \
|
||||
((g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FUNCTION) || \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_CALLBACK) || \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_SIGNAL) || \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VFUNC))
|
||||
|
||||
/**
|
||||
* GITransfer:
|
||||
* @GI_TRANSFER_NOTHING: transfer nothing to the caller
|
||||
@ -511,6 +521,9 @@ void g_callable_info_load_arg (GICallableInfo *info,
|
||||
|
||||
/* GIArgInfo */
|
||||
|
||||
#define GI_IS_ARG_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ARG)
|
||||
|
||||
/**
|
||||
* GIDirection:
|
||||
* @GI_DIRECTION_IN: in argument.
|
||||
@ -560,6 +573,10 @@ GITypeInfo * g_arg_info_get_type (GIArgInfo *info);
|
||||
void g_arg_info_load_type (GIArgInfo *info,
|
||||
GITypeInfo *type);
|
||||
|
||||
/* GITypeInfo */
|
||||
|
||||
#define GI_IS_TYPE_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_TYPE)
|
||||
|
||||
/**
|
||||
* GITypeTag:
|
||||
@ -670,17 +687,26 @@ GIErrorDomainInfo *g_type_info_get_error_domain (GITypeInfo *info,
|
||||
|
||||
/* GIErrorDomainInfo */
|
||||
|
||||
#define GI_IS_ERROR_DOMAIN_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ERROR_DOMAIN)
|
||||
|
||||
const gchar * g_error_domain_info_get_quark (GIErrorDomainInfo *info);
|
||||
GIInterfaceInfo * g_error_domain_info_get_codes (GIErrorDomainInfo *info);
|
||||
|
||||
|
||||
/* GIValueInfo */
|
||||
|
||||
#define GI_IS_VALUE_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VALUE)
|
||||
|
||||
glong g_value_info_get_value (GIValueInfo *info);
|
||||
|
||||
|
||||
/* GIFieldInfo */
|
||||
|
||||
#define GI_IS_FIELD_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FIELD)
|
||||
|
||||
/**
|
||||
* GIFieldInfoFlags:
|
||||
* @GI_FIELD_IS_READABLE: field is readable.
|
||||
@ -708,6 +734,10 @@ gboolean g_field_info_set_field (GIFieldInfo *field_info,
|
||||
const GArgument *value);
|
||||
|
||||
/* GIUnionInfo */
|
||||
|
||||
#define GI_IS_UNION_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION)
|
||||
|
||||
gint g_union_info_get_n_fields (GIUnionInfo *info);
|
||||
GIFieldInfo * g_union_info_get_field (GIUnionInfo *info,
|
||||
gint n);
|
||||
@ -726,6 +756,10 @@ gsize g_union_info_get_alignment (GIUnionInfo *info);
|
||||
|
||||
|
||||
/* GIStructInfo */
|
||||
|
||||
#define GI_IS_STRUCT_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT)
|
||||
|
||||
gint g_struct_info_get_n_fields (GIStructInfo *info);
|
||||
GIFieldInfo * g_struct_info_get_field (GIStructInfo *info,
|
||||
gint n);
|
||||
@ -741,12 +775,22 @@ gboolean g_struct_info_is_foreign (GIStructInfo *info);
|
||||
|
||||
/* GIRegisteredTypeInfo */
|
||||
|
||||
#define GI_IS_REGISTERED_TYPE_INFO(info) \
|
||||
((g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM) || \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE) || \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT) || \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT) || \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION))
|
||||
|
||||
const gchar * g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);
|
||||
const gchar * g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info);
|
||||
GType g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info);
|
||||
|
||||
/* GIEnumInfo */
|
||||
|
||||
#define GI_IS_ENUM_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM)
|
||||
|
||||
gint g_enum_info_get_n_values (GIEnumInfo *info);
|
||||
GIValueInfo * g_enum_info_get_value (GIEnumInfo *info,
|
||||
gint n);
|
||||
@ -754,6 +798,9 @@ GITypeTag g_enum_info_get_storage_type (GIEnumInfo *in
|
||||
|
||||
/* GIObjectInfo */
|
||||
|
||||
#define GI_IS_OBJECT_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT)
|
||||
|
||||
const gchar * g_object_info_get_type_name (GIObjectInfo *info);
|
||||
const gchar * g_object_info_get_type_init (GIObjectInfo *info);
|
||||
gboolean g_object_info_get_abstract (GIObjectInfo *info);
|
||||
@ -788,6 +835,9 @@ GIStructInfo * g_object_info_get_class_struct (GIObjectInfo *in
|
||||
|
||||
/* GIInterfaceInfo */
|
||||
|
||||
#define GI_IS_INTERFACE_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE)
|
||||
|
||||
gint g_interface_info_get_n_prerequisites (GIInterfaceInfo *info);
|
||||
GIBaseInfo * g_interface_info_get_prerequisite (GIInterfaceInfo *info,
|
||||
gint n);
|
||||
@ -816,12 +866,18 @@ GIStructInfo * g_interface_info_get_iface_struct (GIInterfaceInfo *in
|
||||
|
||||
/* GIPropertyInfo */
|
||||
|
||||
#define GI_IS_PROPERTY_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_PROPERTY)
|
||||
|
||||
GParamFlags g_property_info_get_flags (GIPropertyInfo *info);
|
||||
GITypeInfo * g_property_info_get_type (GIPropertyInfo *info);
|
||||
|
||||
|
||||
/* GISignalInfo */
|
||||
|
||||
#define GI_IS_SIGNAL_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_SIGNAL)
|
||||
|
||||
GSignalFlags g_signal_info_get_flags (GISignalInfo *info);
|
||||
GIVFuncInfo * g_signal_info_get_class_closure (GISignalInfo *info);
|
||||
gboolean g_signal_info_true_stops_emit (GISignalInfo *info);
|
||||
@ -829,6 +885,9 @@ gboolean g_signal_info_true_stops_emit (GISignalInfo
|
||||
|
||||
/* GIVFuncInfo */
|
||||
|
||||
#define GI_IS_VFUNC_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VFUNC)
|
||||
|
||||
/**
|
||||
* GIVFuncInfoFlags:
|
||||
* @GI_VFUNC_MUST_CHAIN_UP: chains up to the parent type
|
||||
@ -852,6 +911,9 @@ GIFunctionInfo * g_vfunc_info_get_invoker (GIVFuncInfo
|
||||
|
||||
/* GIConstantInfo */
|
||||
|
||||
#define GI_IS_CONSTANT_INFO(info) \
|
||||
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_CONSTANT)
|
||||
|
||||
GITypeInfo * g_constant_info_get_type (GIConstantInfo *info);
|
||||
gint g_constant_info_get_value (GIConstantInfo *info,
|
||||
GArgument *value);
|
||||
|
Loading…
Reference in New Issue
Block a user