Merge branch '3155-cleanups-renames' into 'main'

girepository: Rename symbols to the GI namespace

See merge request GNOME/glib!3704
This commit is contained in:
Emmanuele Bassi 2023-11-08 17:56:43 +00:00
commit 4144341e7a
53 changed files with 2982 additions and 3011 deletions

View File

@ -269,10 +269,8 @@ dump_signals (GType type, GOutputStream *out)
escaped_printf (out, " when=\"last\""); escaped_printf (out, " when=\"last\"");
else if (query.signal_flags & G_SIGNAL_RUN_CLEANUP) else if (query.signal_flags & G_SIGNAL_RUN_CLEANUP)
escaped_printf (out, " when=\"cleanup\""); escaped_printf (out, " when=\"cleanup\"");
#if GLIB_CHECK_VERSION(2, 29, 15)
else if (query.signal_flags & G_SIGNAL_MUST_COLLECT) else if (query.signal_flags & G_SIGNAL_MUST_COLLECT)
escaped_printf (out, " when=\"must-collect\""); escaped_printf (out, " when=\"must-collect\"");
#endif
if (query.signal_flags & G_SIGNAL_NO_RECURSE) if (query.signal_flags & G_SIGNAL_NO_RECURSE)
escaped_printf (out, " no-recurse=\"1\""); escaped_printf (out, " no-recurse=\"1\"");
@ -332,10 +330,8 @@ dump_object_type (GType type, const char *symbol, GOutputStream *out)
if (G_TYPE_IS_ABSTRACT (type)) if (G_TYPE_IS_ABSTRACT (type))
escaped_printf (out, " abstract=\"1\""); escaped_printf (out, " abstract=\"1\"");
#if GLIB_CHECK_VERSION (2, 70, 0)
if (G_TYPE_IS_FINAL (type)) if (G_TYPE_IS_FINAL (type))
escaped_printf (out, " final=\"1\""); escaped_printf (out, " final=\"1\"");
#endif
goutput_write (out, ">\n"); goutput_write (out, ">\n");
@ -450,10 +446,8 @@ dump_fundamental_type (GType type, const char *symbol, GOutputStream *out)
if (G_TYPE_IS_ABSTRACT (type)) if (G_TYPE_IS_ABSTRACT (type))
escaped_printf (out, " abstract=\"1\""); escaped_printf (out, " abstract=\"1\"");
#if GLIB_CHECK_VERSION (2, 70, 0)
if (G_TYPE_IS_FINAL (type)) if (G_TYPE_IS_FINAL (type))
escaped_printf (out, " final=\"1\""); escaped_printf (out, " final=\"1\"");
#endif
if (G_TYPE_IS_INSTANTIATABLE (type)) if (G_TYPE_IS_INSTANTIATABLE (type))
escaped_printf (out, " instantiatable=\"1\""); escaped_printf (out, " instantiatable=\"1\"");
@ -526,7 +520,7 @@ dump_error_quark (GQuark quark, const char *symbol, GOutputStream *out)
} }
/** /**
* g_irepository_dump: * gi_repository_dump:
* @arg: Comma-separated pair of input and output filenames * @arg: Comma-separated pair of input and output filenames
* @error: a %GError * @error: a %GError
* *
@ -549,7 +543,7 @@ static gboolean
dump_irepository (const char *arg, GError **error) dump_irepository (const char *arg, GError **error)
#else #else
gboolean gboolean
g_irepository_dump (const char *arg, GError **error) gi_repository_dump (const char *arg, GError **error)
#endif #endif
{ {
GHashTable *output_types; GHashTable *output_types;

View File

@ -44,7 +44,7 @@
*/ */
/** /**
* g_arg_info_get_direction: * gi_arg_info_get_direction:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain the direction of the argument. Check #GIDirection for possible * Obtain the direction of the argument. Check #GIDirection for possible
@ -53,7 +53,7 @@
* Returns: the direction * Returns: the direction
*/ */
GIDirection GIDirection
g_arg_info_get_direction (GIArgInfo *info) gi_arg_info_get_direction (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -72,7 +72,7 @@ g_arg_info_get_direction (GIArgInfo *info)
} }
/** /**
* g_arg_info_is_return_value: * gi_arg_info_is_return_value:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain if the argument is a return value. It can either be a * Obtain if the argument is a return value. It can either be a
@ -81,7 +81,7 @@ g_arg_info_get_direction (GIArgInfo *info)
* Returns: %TRUE if it is a return value * Returns: %TRUE if it is a return value
*/ */
gboolean gboolean
g_arg_info_is_return_value (GIArgInfo *info) gi_arg_info_is_return_value (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -95,7 +95,7 @@ g_arg_info_is_return_value (GIArgInfo *info)
} }
/** /**
* g_arg_info_is_caller_allocates: * gi_arg_info_is_caller_allocates:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain if the argument is a pointer to a struct or object that will * Obtain if the argument is a pointer to a struct or object that will
@ -106,7 +106,7 @@ g_arg_info_is_return_value (GIArgInfo *info)
* Returns: %TRUE if caller is required to have allocated the argument * Returns: %TRUE if caller is required to have allocated the argument
*/ */
gboolean gboolean
g_arg_info_is_caller_allocates (GIArgInfo *info) gi_arg_info_is_caller_allocates (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -120,7 +120,7 @@ g_arg_info_is_caller_allocates (GIArgInfo *info)
} }
/** /**
* g_arg_info_is_optional: * gi_arg_info_is_optional:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain if the argument is optional. For 'out' arguments this means * Obtain if the argument is optional. For 'out' arguments this means
@ -129,7 +129,7 @@ g_arg_info_is_caller_allocates (GIArgInfo *info)
* Returns: %TRUE if it is an optional argument * Returns: %TRUE if it is an optional argument
*/ */
gboolean gboolean
g_arg_info_is_optional (GIArgInfo *info) gi_arg_info_is_optional (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -143,19 +143,19 @@ g_arg_info_is_optional (GIArgInfo *info)
} }
/** /**
* g_arg_info_may_be_null: * gi_arg_info_may_be_null:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain if the type of the argument includes the possibility of %NULL. * Obtain if the type of the argument includes the possibility of %NULL.
* For 'in' values this means that %NULL is a valid value. For 'out' * For 'in' values this means that %NULL is a valid value. For 'out'
* values, this means that %NULL may be returned. * values, this means that %NULL may be returned.
* *
* See also g_arg_info_is_optional(). * See also gi_arg_info_is_optional().
* *
* Returns: %TRUE if the value may be %NULL * Returns: %TRUE if the value may be %NULL
*/ */
gboolean gboolean
g_arg_info_may_be_null (GIArgInfo *info) gi_arg_info_may_be_null (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -169,7 +169,7 @@ g_arg_info_may_be_null (GIArgInfo *info)
} }
/** /**
* g_arg_info_is_skip: * gi_arg_info_is_skip:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain if an argument is only useful in C. * Obtain if an argument is only useful in C.
@ -178,7 +178,7 @@ g_arg_info_may_be_null (GIArgInfo *info)
* Since: 1.30 * Since: 1.30
*/ */
gboolean gboolean
g_arg_info_is_skip (GIArgInfo *info) gi_arg_info_is_skip (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -192,7 +192,7 @@ g_arg_info_is_skip (GIArgInfo *info)
} }
/** /**
* g_arg_info_get_ownership_transfer: * gi_arg_info_get_ownership_transfer:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain the ownership transfer for this argument. * Obtain the ownership transfer for this argument.
@ -201,7 +201,7 @@ g_arg_info_is_skip (GIArgInfo *info)
* Returns: the transfer * Returns: the transfer
*/ */
GITransfer GITransfer
g_arg_info_get_ownership_transfer (GIArgInfo *info) gi_arg_info_get_ownership_transfer (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -220,7 +220,7 @@ g_arg_info_get_ownership_transfer (GIArgInfo *info)
} }
/** /**
* g_arg_info_get_scope: * gi_arg_info_get_scope:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain the scope type for this argument. The scope type explains * Obtain the scope type for this argument. The scope type explains
@ -231,7 +231,7 @@ g_arg_info_get_ownership_transfer (GIArgInfo *info)
* Returns: the scope type * Returns: the scope type
*/ */
GIScopeType GIScopeType
g_arg_info_get_scope (GIArgInfo *info) gi_arg_info_get_scope (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -245,7 +245,7 @@ g_arg_info_get_scope (GIArgInfo *info)
} }
/** /**
* g_arg_info_get_closure: * gi_arg_info_get_closure:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain the index of the user data argument. This is only valid * Obtain the index of the user data argument. This is only valid
@ -254,7 +254,7 @@ g_arg_info_get_scope (GIArgInfo *info)
* Returns: index of the user data argument or -1 if there is none * Returns: index of the user data argument or -1 if there is none
*/ */
gint gint
g_arg_info_get_closure (GIArgInfo *info) gi_arg_info_get_closure (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -268,7 +268,7 @@ g_arg_info_get_closure (GIArgInfo *info)
} }
/** /**
* g_arg_info_get_destroy: * gi_arg_info_get_destroy:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtains the index of the #GDestroyNotify argument. This is only valid * Obtains the index of the #GDestroyNotify argument. This is only valid
@ -277,7 +277,7 @@ g_arg_info_get_closure (GIArgInfo *info)
* Returns: index of the #GDestroyNotify argument or -1 if there is none * Returns: index of the #GDestroyNotify argument or -1 if there is none
*/ */
gint gint
g_arg_info_get_destroy (GIArgInfo *info) gi_arg_info_get_destroy (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ArgBlob *blob; ArgBlob *blob;
@ -291,39 +291,39 @@ g_arg_info_get_destroy (GIArgInfo *info)
} }
/** /**
* g_arg_info_get_type: * gi_arg_info_get_type:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* *
* Obtain the type information for @info. * Obtain the type information for @info.
* *
* Returns: (transfer full): the #GITypeInfo holding the type * Returns: (transfer full): the #GITypeInfo holding the type
* information for @info, free it with g_base_info_unref() * information for @info, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GITypeInfo * GITypeInfo *
g_arg_info_get_type (GIArgInfo *info) gi_arg_info_get_type (GIArgInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_ARG_INFO (info), NULL); g_return_val_if_fail (GI_IS_ARG_INFO (info), NULL);
return _g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type)); return gi_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type));
} }
/** /**
* g_arg_info_load_type: * gi_arg_info_load_type:
* @info: a #GIArgInfo * @info: a #GIArgInfo
* @type: (out caller-allocates): Initialized with information about type of @info * @type: (out caller-allocates): Initialized with information about type of @info
* *
* Obtain information about a the type of given argument @info; this * Obtain information about a the type of given argument @info; this
* function is a variant of g_arg_info_get_type() designed for stack * function is a variant of gi_arg_info_get_type() designed for stack
* allocation. * allocation.
* *
* The initialized @type must not be referenced after @info is deallocated. * The initialized @type must not be referenced after @info is deallocated.
*/ */
void void
g_arg_info_load_type (GIArgInfo *info, gi_arg_info_load_type (GIArgInfo *info,
GITypeInfo *type) GITypeInfo *type)
{ {
GIRealInfo *rinfo = (GIRealInfo*) info; GIRealInfo *rinfo = (GIRealInfo*) info;
@ -331,5 +331,5 @@ g_arg_info_load_type (GIArgInfo *info,
g_return_if_fail (info != NULL); g_return_if_fail (info != NULL);
g_return_if_fail (GI_IS_ARG_INFO (info)); g_return_if_fail (GI_IS_ARG_INFO (info));
_g_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type)); gi_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type));
} }

View File

@ -39,43 +39,43 @@ G_BEGIN_DECLS
* Checks if @info is a GIArgInfo. * Checks if @info is a GIArgInfo.
*/ */
#define GI_IS_ARG_INFO(info) \ #define GI_IS_ARG_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ARG) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ARG)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIDirection g_arg_info_get_direction (GIArgInfo *info); GIDirection gi_arg_info_get_direction (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_arg_info_is_return_value (GIArgInfo *info); gboolean gi_arg_info_is_return_value (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_arg_info_is_optional (GIArgInfo *info); gboolean gi_arg_info_is_optional (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_arg_info_is_caller_allocates (GIArgInfo *info); gboolean gi_arg_info_is_caller_allocates (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_arg_info_may_be_null (GIArgInfo *info); gboolean gi_arg_info_may_be_null (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_arg_info_is_skip (GIArgInfo *info); gboolean gi_arg_info_is_skip (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITransfer g_arg_info_get_ownership_transfer (GIArgInfo *info); GITransfer gi_arg_info_get_ownership_transfer (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIScopeType g_arg_info_get_scope (GIArgInfo *info); GIScopeType gi_arg_info_get_scope (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_arg_info_get_closure (GIArgInfo *info); gint gi_arg_info_get_closure (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_arg_info_get_destroy (GIArgInfo *info); gint gi_arg_info_get_destroy (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * g_arg_info_get_type (GIArgInfo *info); GITypeInfo * gi_arg_info_get_type (GIArgInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_arg_info_load_type (GIArgInfo *info, void gi_arg_info_load_type (GIArgInfo *info,
GITypeInfo *type); GITypeInfo *type);
G_END_DECLS G_END_DECLS

View File

@ -38,22 +38,22 @@
/* GBoxed registration of BaseInfo. */ /* GBoxed registration of BaseInfo. */
GType GType
g_base_info_gtype_get_type (void) gi_base_info_gtype_get_type (void)
{ {
static GType our_type = 0; static GType our_type = 0;
if (our_type == 0) if (our_type == 0)
our_type = our_type =
g_boxed_type_register_static ("GIBaseInfo", g_boxed_type_register_static ("GIBaseInfo",
(GBoxedCopyFunc) g_base_info_ref, (GBoxedCopyFunc) gi_base_info_ref,
(GBoxedFreeFunc) g_base_info_unref); (GBoxedFreeFunc) gi_base_info_unref);
return our_type; return our_type;
} }
/* info creation */ /* info creation */
GIBaseInfo * GIBaseInfo *
_g_info_new_full (GIInfoType type, gi_info_new_full (GIInfoType type,
GIRepository *repository, GIRepository *repository,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
@ -65,11 +65,11 @@ _g_info_new_full (GIInfoType type,
info = g_slice_new (GIRealInfo); info = g_slice_new (GIRealInfo);
_g_info_init (info, type, repository, container, typelib, offset); gi_info_init (info, type, repository, container, typelib, offset);
info->ref_count = 1; info->ref_count = 1;
if (container && ((GIRealInfo *) container)->ref_count != INVALID_REFCOUNT) if (container && ((GIRealInfo *) container)->ref_count != INVALID_REFCOUNT)
g_base_info_ref (info->container); gi_base_info_ref (info->container);
g_object_ref (info->repository); g_object_ref (info->repository);
@ -77,7 +77,7 @@ _g_info_new_full (GIInfoType type,
} }
/** /**
* g_info_new: * gi_info_new:
* @type: TODO * @type: TODO
* @container: TODO * @container: TODO
* @typelib: TODO * @typelib: TODO
@ -88,16 +88,16 @@ _g_info_new_full (GIInfoType type,
* Returns: TODO * Returns: TODO
*/ */
GIBaseInfo * GIBaseInfo *
g_info_new (GIInfoType type, gi_info_new (GIInfoType type,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset) guint32 offset)
{ {
return _g_info_new_full (type, ((GIRealInfo*)container)->repository, container, typelib, offset); return gi_info_new_full (type, ((GIRealInfo*)container)->repository, container, typelib, offset);
} }
void void
_g_info_init (GIRealInfo *info, gi_info_init (GIRealInfo *info,
GIInfoType type, GIInfoType type,
GIRepository *repository, GIRepository *repository,
GIBaseInfo *container, GIBaseInfo *container,
@ -116,26 +116,26 @@ _g_info_init (GIRealInfo *info,
if (container) if (container)
info->container = container; info->container = container;
g_assert (G_IS_IREPOSITORY (repository)); g_assert (GI_IS_REPOSITORY (repository));
info->repository = repository; info->repository = repository;
} }
GIBaseInfo * GIBaseInfo *
_g_info_from_entry (GIRepository *repository, gi_info_from_entry (GIRepository *repository,
GITypelib *typelib, GITypelib *typelib,
guint16 index) guint16 index)
{ {
GIBaseInfo *result; GIBaseInfo *result;
DirEntry *entry = g_typelib_get_dir_entry (typelib, index); DirEntry *entry = gi_typelib_get_dir_entry (typelib, index);
if (entry->local) if (entry->local)
result = _g_info_new_full (entry->blob_type, repository, NULL, typelib, entry->offset); result = gi_info_new_full (entry->blob_type, repository, NULL, typelib, entry->offset);
else else
{ {
const gchar *namespace = g_typelib_get_string (typelib, entry->offset); const gchar *namespace = gi_typelib_get_string (typelib, entry->offset);
const gchar *name = g_typelib_get_string (typelib, entry->name); const gchar *name = gi_typelib_get_string (typelib, entry->name);
result = g_irepository_find_by_name (repository, namespace, name); result = gi_repository_find_by_name (repository, namespace, name);
if (result == NULL) if (result == NULL)
{ {
GIUnresolvedInfo *unresolved; GIUnresolvedInfo *unresolved;
@ -158,18 +158,18 @@ _g_info_from_entry (GIRepository *repository,
} }
GITypeInfo * GITypeInfo *
_g_type_info_new (GIBaseInfo *container, gi_type_info_new (GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset) guint32 offset)
{ {
SimpleTypeBlob *type = (SimpleTypeBlob *)&typelib->data[offset]; SimpleTypeBlob *type = (SimpleTypeBlob *)&typelib->data[offset];
return (GITypeInfo *) g_info_new (GI_INFO_TYPE_TYPE, container, typelib, return (GITypeInfo *) gi_info_new (GI_INFO_TYPE_TYPE, container, typelib,
(type->flags.reserved == 0 && type->flags.reserved2 == 0) ? offset : type->offset); (type->flags.reserved == 0 && type->flags.reserved2 == 0) ? offset : type->offset);
} }
void void
_g_type_info_init (GIBaseInfo *info, gi_type_info_init (GIBaseInfo *info,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset) guint32 offset)
@ -177,7 +177,7 @@ _g_type_info_init (GIBaseInfo *info,
GIRealInfo *rinfo = (GIRealInfo*)container; GIRealInfo *rinfo = (GIRealInfo*)container;
SimpleTypeBlob *type = (SimpleTypeBlob *)&typelib->data[offset]; SimpleTypeBlob *type = (SimpleTypeBlob *)&typelib->data[offset];
_g_info_init ((GIRealInfo*)info, GI_INFO_TYPE_TYPE, rinfo->repository, container, typelib, gi_info_init ((GIRealInfo*)info, GI_INFO_TYPE_TYPE, rinfo->repository, container, typelib,
(type->flags.reserved == 0 && type->flags.reserved2 == 0) ? offset : type->offset); (type->flags.reserved == 0 && type->flags.reserved2 == 0) ? offset : type->offset);
} }
@ -199,20 +199,20 @@ _g_type_info_init (GIBaseInfo *info,
* ]| * ]|
* *
* Most #GIRepository APIs returning a #GIBaseInfo is actually * Most #GIRepository APIs returning a #GIBaseInfo is actually
* creating a new struct; in other words, g_base_info_unref() has to * creating a new struct; in other words, gi_base_info_unref() has to
* be called when done accessing the data. * be called when done accessing the data.
* *
* #GIBaseInfo structuress are normally accessed by calling either * #GIBaseInfo structuress are normally accessed by calling either
* g_irepository_find_by_name(), g_irepository_find_by_gtype() or * gi_repository_find_by_name(), gi_repository_find_by_gtype() or
* g_irepository_get_info(). * gi_repository_get_info().
* *
* |[<!-- language="C" --> * |[<!-- language="C" -->
* GIBaseInfo *button_info = * GIBaseInfo *button_info =
* g_irepository_find_by_name (NULL, "Gtk", "Button"); * gi_repository_find_by_name (NULL, "Gtk", "Button");
* *
* // ... use button_info ... * // ... use button_info ...
* *
* g_base_info_unref (button_info); * gi_base_info_unref (button_info);
* ]| * ]|
* *
* ## Hierarchy * ## Hierarchy
@ -230,7 +230,7 @@ _g_type_info_init (GIBaseInfo *info,
*/ */
/** /**
* g_base_info_ref: (skip) * gi_base_info_ref: (skip)
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Increases the reference count of @info. * Increases the reference count of @info.
@ -238,7 +238,7 @@ _g_type_info_init (GIBaseInfo *info,
* Returns: the same @info. * Returns: the same @info.
*/ */
GIBaseInfo * GIBaseInfo *
g_base_info_ref (GIBaseInfo *info) gi_base_info_ref (GIBaseInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*)info; GIRealInfo *rinfo = (GIRealInfo*)info;
@ -249,14 +249,14 @@ g_base_info_ref (GIBaseInfo *info)
} }
/** /**
* g_base_info_unref: (skip) * gi_base_info_unref: (skip)
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Decreases the reference count of @info. When its reference count * Decreases the reference count of @info. When its reference count
* drops to 0, the info is freed. * drops to 0, the info is freed.
*/ */
void void
g_base_info_unref (GIBaseInfo *info) gi_base_info_unref (GIBaseInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*)info; GIRealInfo *rinfo = (GIRealInfo*)info;
@ -266,7 +266,7 @@ g_base_info_unref (GIBaseInfo *info)
return; return;
if (rinfo->container && ((GIRealInfo *) rinfo->container)->ref_count != INVALID_REFCOUNT) if (rinfo->container && ((GIRealInfo *) rinfo->container)->ref_count != INVALID_REFCOUNT)
g_base_info_unref (rinfo->container); gi_base_info_unref (rinfo->container);
if (rinfo->repository) if (rinfo->repository)
g_object_unref (rinfo->repository); g_object_unref (rinfo->repository);
@ -278,7 +278,7 @@ g_base_info_unref (GIBaseInfo *info)
} }
/** /**
* g_base_info_get_type: * gi_base_info_get_type:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Obtain the info type of the GIBaseInfo. * Obtain the info type of the GIBaseInfo.
@ -286,14 +286,14 @@ g_base_info_unref (GIBaseInfo *info)
* Returns: the info type of @info * Returns: the info type of @info
*/ */
GIInfoType GIInfoType
g_base_info_get_type (GIBaseInfo *info) gi_base_info_get_type (GIBaseInfo *info)
{ {
return ((GIRealInfo*)info)->type; return ((GIRealInfo*)info)->type;
} }
/** /**
* g_base_info_get_name: * gi_base_info_get_name:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Obtain the name of the @info. What the name represents depends on * Obtain the name of the @info. What the name represents depends on
@ -303,7 +303,7 @@ g_base_info_get_type (GIBaseInfo *info)
* Returns: the name of @info or %NULL if it lacks a name. * Returns: the name of @info or %NULL if it lacks a name.
*/ */
const gchar * const gchar *
g_base_info_get_name (GIBaseInfo *info) gi_base_info_get_name (GIBaseInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*)info; GIRealInfo *rinfo = (GIRealInfo*)info;
g_assert (rinfo->ref_count > 0); g_assert (rinfo->ref_count > 0);
@ -323,7 +323,7 @@ g_base_info_get_name (GIBaseInfo *info)
{ {
CommonBlob *blob = (CommonBlob *)&rinfo->typelib->data[rinfo->offset]; CommonBlob *blob = (CommonBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->name); return gi_typelib_get_string (rinfo->typelib, blob->name);
} }
break; break;
@ -331,7 +331,7 @@ g_base_info_get_name (GIBaseInfo *info)
{ {
ValueBlob *blob = (ValueBlob *)&rinfo->typelib->data[rinfo->offset]; ValueBlob *blob = (ValueBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->name); return gi_typelib_get_string (rinfo->typelib, blob->name);
} }
break; break;
@ -339,7 +339,7 @@ g_base_info_get_name (GIBaseInfo *info)
{ {
SignalBlob *blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset]; SignalBlob *blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->name); return gi_typelib_get_string (rinfo->typelib, blob->name);
} }
break; break;
@ -347,7 +347,7 @@ g_base_info_get_name (GIBaseInfo *info)
{ {
PropertyBlob *blob = (PropertyBlob *)&rinfo->typelib->data[rinfo->offset]; PropertyBlob *blob = (PropertyBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->name); return gi_typelib_get_string (rinfo->typelib, blob->name);
} }
break; break;
@ -355,7 +355,7 @@ g_base_info_get_name (GIBaseInfo *info)
{ {
VFuncBlob *blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset]; VFuncBlob *blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->name); return gi_typelib_get_string (rinfo->typelib, blob->name);
} }
break; break;
@ -363,7 +363,7 @@ g_base_info_get_name (GIBaseInfo *info)
{ {
FieldBlob *blob = (FieldBlob *)&rinfo->typelib->data[rinfo->offset]; FieldBlob *blob = (FieldBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->name); return gi_typelib_get_string (rinfo->typelib, blob->name);
} }
break; break;
@ -371,7 +371,7 @@ g_base_info_get_name (GIBaseInfo *info)
{ {
ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->name); return gi_typelib_get_string (rinfo->typelib, blob->name);
} }
break; break;
case GI_INFO_TYPE_UNRESOLVED: case GI_INFO_TYPE_UNRESOLVED:
@ -392,7 +392,7 @@ g_base_info_get_name (GIBaseInfo *info)
} }
/** /**
* g_base_info_get_namespace: * gi_base_info_get_namespace:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Obtain the namespace of @info. * Obtain the namespace of @info.
@ -400,7 +400,7 @@ g_base_info_get_name (GIBaseInfo *info)
* Returns: the namespace * Returns: the namespace
*/ */
const gchar * const gchar *
g_base_info_get_namespace (GIBaseInfo *info) gi_base_info_get_namespace (GIBaseInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*) info; GIRealInfo *rinfo = (GIRealInfo*) info;
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
@ -414,11 +414,11 @@ g_base_info_get_namespace (GIBaseInfo *info)
return unresolved->namespace; return unresolved->namespace;
} }
return g_typelib_get_string (rinfo->typelib, header->namespace); return gi_typelib_get_string (rinfo->typelib, header->namespace);
} }
/** /**
* g_base_info_is_deprecated: * gi_base_info_is_deprecated:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Obtain whether the @info is represents a metadata which is * Obtain whether the @info is represents a metadata which is
@ -427,7 +427,7 @@ g_base_info_get_namespace (GIBaseInfo *info)
* Returns: %TRUE if deprecated * Returns: %TRUE if deprecated
*/ */
gboolean gboolean
g_base_info_is_deprecated (GIBaseInfo *info) gi_base_info_is_deprecated (GIBaseInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*) info; GIRealInfo *rinfo = (GIRealInfo*) info;
switch (rinfo->type) switch (rinfo->type)
@ -485,7 +485,7 @@ g_base_info_is_deprecated (GIBaseInfo *info)
} }
/** /**
* g_base_info_get_attribute: * gi_base_info_get_attribute:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* @name: a freeform string naming an attribute * @name: a freeform string naming an attribute
* *
@ -494,12 +494,12 @@ g_base_info_is_deprecated (GIBaseInfo *info)
* Returns: The value of the attribute, or %NULL if no such attribute exists * Returns: The value of the attribute, or %NULL if no such attribute exists
*/ */
const gchar * const gchar *
g_base_info_get_attribute (GIBaseInfo *info, gi_base_info_get_attribute (GIBaseInfo *info,
const gchar *name) const gchar *name)
{ {
GIAttributeIter iter = { 0, }; GIAttributeIter iter = { 0, };
gchar *curname, *curvalue; gchar *curname, *curvalue;
while (g_base_info_iterate_attributes (info, &iter, &curname, &curvalue)) while (gi_base_info_iterate_attributes (info, &iter, &curname, &curvalue))
{ {
if (strcmp (name, curname) == 0) if (strcmp (name, curname) == 0)
return (const gchar*) curvalue; return (const gchar*) curvalue;
@ -562,7 +562,7 @@ _attribute_blob_find_first (GIBaseInfo *info,
} }
/** /**
* g_base_info_iterate_attributes: * gi_base_info_iterate_attributes:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* @iterator: (inout): a #GIAttributeIter structure, must be initialized; see below * @iterator: (inout): a #GIAttributeIter structure, must be initialized; see below
* @name: (out) (transfer none): Returned name, must not be freed * @name: (out) (transfer none): Returned name, must not be freed
@ -585,7 +585,7 @@ _attribute_blob_find_first (GIBaseInfo *info,
* GIAttributeIter iter = { 0, }; * GIAttributeIter iter = { 0, };
* char *name; * char *name;
* char *value; * char *value;
* while (g_base_info_iterate_attributes (info, &iter, &name, &value)) * while (gi_base_info_iterate_attributes (info, &iter, &name, &value))
* { * {
* g_print ("attribute name: %s value: %s", name, value); * g_print ("attribute name: %s value: %s", name, value);
* } * }
@ -595,7 +595,7 @@ _attribute_blob_find_first (GIBaseInfo *info,
* Returns: %TRUE if there are more attributes * Returns: %TRUE if there are more attributes
*/ */
gboolean gboolean
g_base_info_iterate_attributes (GIBaseInfo *info, gi_base_info_iterate_attributes (GIBaseInfo *info,
GIAttributeIter *iterator, GIAttributeIter *iterator,
gchar **name, gchar **name,
gchar **value) gchar **value)
@ -615,15 +615,15 @@ g_base_info_iterate_attributes (GIBaseInfo *info,
if (next == NULL || next->offset != rinfo->offset || next >= after) if (next == NULL || next->offset != rinfo->offset || next >= after)
return FALSE; return FALSE;
*name = (gchar*) g_typelib_get_string (rinfo->typelib, next->name); *name = (gchar*) gi_typelib_get_string (rinfo->typelib, next->name);
*value = (gchar*) g_typelib_get_string (rinfo->typelib, next->value); *value = (gchar*) gi_typelib_get_string (rinfo->typelib, next->value);
iterator->data = next + 1; iterator->data = next + 1;
return TRUE; return TRUE;
} }
/** /**
* g_base_info_get_container: * gi_base_info_get_container:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Obtain the container of the @info. The container is the parent * Obtain the container of the @info. The container is the parent
@ -633,13 +633,13 @@ g_base_info_iterate_attributes (GIBaseInfo *info,
* Returns: (transfer none): the container * Returns: (transfer none): the container
*/ */
GIBaseInfo * GIBaseInfo *
g_base_info_get_container (GIBaseInfo *info) gi_base_info_get_container (GIBaseInfo *info)
{ {
return ((GIRealInfo*)info)->container; return ((GIRealInfo*)info)->container;
} }
/** /**
* g_base_info_get_typelib: * gi_base_info_get_typelib:
* @info: a #GIBaseInfo * @info: a #GIBaseInfo
* *
* Obtain the typelib this @info belongs to * Obtain the typelib this @info belongs to
@ -647,13 +647,13 @@ g_base_info_get_container (GIBaseInfo *info)
* Returns: (transfer none): the typelib. * Returns: (transfer none): the typelib.
*/ */
GITypelib * GITypelib *
g_base_info_get_typelib (GIBaseInfo *info) gi_base_info_get_typelib (GIBaseInfo *info)
{ {
return ((GIRealInfo*)info)->typelib; return ((GIRealInfo*)info)->typelib;
} }
/** /**
* g_base_info_equal: * gi_base_info_equal:
* @info1: a #GIBaseInfo * @info1: a #GIBaseInfo
* @info2: a #GIBaseInfo * @info2: a #GIBaseInfo
* *
@ -666,7 +666,7 @@ g_base_info_get_typelib (GIBaseInfo *info)
* Returns: %TRUE if and only if @info1 equals @info2. * Returns: %TRUE if and only if @info1 equals @info2.
*/ */
gboolean gboolean
g_base_info_equal (GIBaseInfo *info1, GIBaseInfo *info2) gi_base_info_equal (GIBaseInfo *info1, GIBaseInfo *info2)
{ {
/* Compare the TypeLib pointers, which are mmapped. */ /* Compare the TypeLib pointers, which are mmapped. */
GIRealInfo *rinfo1 = (GIRealInfo*)info1; GIRealInfo *rinfo1 = (GIRealInfo*)info1;

View File

@ -48,52 +48,52 @@ typedef struct {
gpointer data4; gpointer data4;
} GIAttributeIter; } GIAttributeIter;
#define GI_TYPE_BASE_INFO (g_base_info_gtype_get_type ()) #define GI_TYPE_BASE_INFO (gi_base_info_gtype_get_type ())
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GType g_base_info_gtype_get_type (void) G_GNUC_CONST; GType gi_base_info_gtype_get_type (void) G_GNUC_CONST;
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_base_info_ref (GIBaseInfo *info); GIBaseInfo * gi_base_info_ref (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_base_info_unref (GIBaseInfo *info); void gi_base_info_unref (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIInfoType g_base_info_get_type (GIBaseInfo *info); GIInfoType gi_base_info_get_type (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_base_info_get_name (GIBaseInfo *info); const gchar * gi_base_info_get_name (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_base_info_get_namespace (GIBaseInfo *info); const gchar * gi_base_info_get_namespace (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_base_info_is_deprecated (GIBaseInfo *info); gboolean gi_base_info_is_deprecated (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_base_info_get_attribute (GIBaseInfo *info, const gchar * gi_base_info_get_attribute (GIBaseInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_base_info_iterate_attributes (GIBaseInfo *info, gboolean gi_base_info_iterate_attributes (GIBaseInfo *info,
GIAttributeIter *iterator, GIAttributeIter *iterator,
char **name, char **name,
char **value); char **value);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_base_info_get_container (GIBaseInfo *info); GIBaseInfo * gi_base_info_get_container (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypelib * g_base_info_get_typelib (GIBaseInfo *info); GITypelib * gi_base_info_get_typelib (GIBaseInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_base_info_equal (GIBaseInfo *info1, gboolean gi_base_info_equal (GIBaseInfo *info1,
GIBaseInfo *info2); GIBaseInfo *info2);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_info_new (GIInfoType type, GIBaseInfo * gi_info_new (GIInfoType type,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset); guint32 offset);

View File

@ -82,7 +82,7 @@ signature_offset (GICallableInfo *info)
} }
/** /**
* g_callable_info_can_throw_gerror: * gi_callable_info_can_throw_gerror:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* TODO * TODO
@ -91,7 +91,7 @@ signature_offset (GICallableInfo *info)
* Returns: %TRUE if this #GICallableInfo can throw a #GError * Returns: %TRUE if this #GICallableInfo can throw a #GError
*/ */
gboolean gboolean
g_callable_info_can_throw_gerror (GICallableInfo *info) gi_callable_info_can_throw_gerror (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*)info; GIRealInfo *rinfo = (GIRealInfo*)info;
SignatureBlob *signature; SignatureBlob *signature;
@ -127,7 +127,7 @@ g_callable_info_can_throw_gerror (GICallableInfo *info)
} }
/** /**
* g_callable_info_is_method: * gi_callable_info_is_method:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* Determines if the callable info is a method. For #GIVFuncInfo<!-- -->s, * Determines if the callable info is a method. For #GIVFuncInfo<!-- -->s,
@ -135,7 +135,7 @@ g_callable_info_can_throw_gerror (GICallableInfo *info)
* this is always true. Otherwise, this looks at the %GI_FUNCTION_IS_METHOD * this is always true. Otherwise, this looks at the %GI_FUNCTION_IS_METHOD
* flag on the #GIFunctionInfo. * flag on the #GIFunctionInfo.
* *
* Concretely, this function returns whether g_callable_info_get_n_args() * Concretely, this function returns whether gi_callable_info_get_n_args()
* matches the number of arguments in the raw C method. For methods, there * matches the number of arguments in the raw C method. For methods, there
* is one more C argument than is exposed by introspection: the "self" * is one more C argument than is exposed by introspection: the "self"
* or "this" object. * or "this" object.
@ -144,7 +144,7 @@ g_callable_info_can_throw_gerror (GICallableInfo *info)
* Since: 1.34 * Since: 1.34
*/ */
gboolean gboolean
g_callable_info_is_method (GICallableInfo *info) gi_callable_info_is_method (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*)info; GIRealInfo *rinfo = (GIRealInfo*)info;
switch (rinfo->type) { switch (rinfo->type) {
@ -165,16 +165,16 @@ g_callable_info_is_method (GICallableInfo *info)
} }
/** /**
* g_callable_info_get_return_type: * gi_callable_info_get_return_type:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* Obtain the return type of a callable item as a #GITypeInfo. * Obtain the return type of a callable item as a #GITypeInfo.
* *
* Returns: (transfer full): the #GITypeInfo. Free the struct by calling * Returns: (transfer full): the #GITypeInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GITypeInfo * GITypeInfo *
g_callable_info_get_return_type (GICallableInfo *info) gi_callable_info_get_return_type (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
guint32 offset; guint32 offset;
@ -184,23 +184,23 @@ g_callable_info_get_return_type (GICallableInfo *info)
offset = signature_offset (info); offset = signature_offset (info);
return _g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, offset); return gi_type_info_new ((GIBaseInfo*)info, rinfo->typelib, offset);
} }
/** /**
* g_callable_info_load_return_type: * gi_callable_info_load_return_type:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* @type: (out caller-allocates): Initialized with return type of @info * @type: (out caller-allocates): Initialized with return type of @info
* *
* Obtain information about a return value of callable; this * Obtain information about a return value of callable; this
* function is a variant of g_callable_info_get_return_type() designed for stack * function is a variant of gi_callable_info_get_return_type() designed for stack
* allocation. * allocation.
* *
* The initialized @type must not be referenced after @info is deallocated. * The initialized @type must not be referenced after @info is deallocated.
*/ */
void void
g_callable_info_load_return_type (GICallableInfo *info, gi_callable_info_load_return_type (GICallableInfo *info,
GITypeInfo *type) GITypeInfo *type)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -211,11 +211,11 @@ g_callable_info_load_return_type (GICallableInfo *info,
offset = signature_offset (info); offset = signature_offset (info);
_g_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, offset); gi_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, offset);
} }
/** /**
* g_callable_info_may_return_null: * gi_callable_info_may_return_null:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* See if a callable could return %NULL. * See if a callable could return %NULL.
@ -223,7 +223,7 @@ g_callable_info_load_return_type (GICallableInfo *info,
* Returns: %TRUE if callable could return %NULL * Returns: %TRUE if callable could return %NULL
*/ */
gboolean gboolean
g_callable_info_may_return_null (GICallableInfo *info) gi_callable_info_may_return_null (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SignatureBlob *blob; SignatureBlob *blob;
@ -237,7 +237,7 @@ g_callable_info_may_return_null (GICallableInfo *info)
} }
/** /**
* g_callable_info_skip_return: * gi_callable_info_skip_return:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* See if a callable's return value is only useful in C. * See if a callable's return value is only useful in C.
@ -245,7 +245,7 @@ g_callable_info_may_return_null (GICallableInfo *info)
* Returns: %TRUE if return value is only useful in C. * Returns: %TRUE if return value is only useful in C.
*/ */
gboolean gboolean
g_callable_info_skip_return (GICallableInfo *info) gi_callable_info_skip_return (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SignatureBlob *blob; SignatureBlob *blob;
@ -259,7 +259,7 @@ g_callable_info_skip_return (GICallableInfo *info)
} }
/** /**
* g_callable_info_get_caller_owns: * gi_callable_info_get_caller_owns:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* See whether the caller owns the return value of this callable. * See whether the caller owns the return value of this callable.
@ -268,7 +268,7 @@ g_callable_info_skip_return (GICallableInfo *info)
* Returns: the transfer mode for the return value of the callable * Returns: the transfer mode for the return value of the callable
*/ */
GITransfer GITransfer
g_callable_info_get_caller_owns (GICallableInfo *info) gi_callable_info_get_caller_owns (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*) info; GIRealInfo *rinfo = (GIRealInfo*) info;
SignatureBlob *blob; SignatureBlob *blob;
@ -287,7 +287,7 @@ g_callable_info_get_caller_owns (GICallableInfo *info)
} }
/** /**
* g_callable_info_get_instance_ownership_transfer: * gi_callable_info_get_instance_ownership_transfer:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* Obtains the ownership transfer for the instance argument. * Obtains the ownership transfer for the instance argument.
@ -297,7 +297,7 @@ g_callable_info_get_caller_owns (GICallableInfo *info)
* Returns: the transfer mode of the instance argument * Returns: the transfer mode of the instance argument
*/ */
GITransfer GITransfer
g_callable_info_get_instance_ownership_transfer (GICallableInfo *info) gi_callable_info_get_instance_ownership_transfer (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo*) info; GIRealInfo *rinfo = (GIRealInfo*) info;
SignatureBlob *blob; SignatureBlob *blob;
@ -314,7 +314,7 @@ g_callable_info_get_instance_ownership_transfer (GICallableInfo *info)
} }
/** /**
* g_callable_info_get_n_args: * gi_callable_info_get_n_args:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* *
* Obtain the number of arguments (both IN and OUT) for this callable. * Obtain the number of arguments (both IN and OUT) for this callable.
@ -322,7 +322,7 @@ g_callable_info_get_instance_ownership_transfer (GICallableInfo *info)
* Returns: The number of arguments this callable expects. * Returns: The number of arguments this callable expects.
*/ */
gint gint
g_callable_info_get_n_args (GICallableInfo *info) gi_callable_info_get_n_args (GICallableInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
gint offset; gint offset;
@ -338,17 +338,17 @@ g_callable_info_get_n_args (GICallableInfo *info)
} }
/** /**
* g_callable_info_get_arg: * gi_callable_info_get_arg:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* @n: the argument index to fetch * @n: the argument index to fetch
* *
* Obtain information about a particular argument of this callable. * Obtain information about a particular argument of this callable.
* *
* Returns: (transfer full): the #GIArgInfo. Free it with * Returns: (transfer full): the #GIArgInfo. Free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIArgInfo * GIArgInfo *
g_callable_info_get_arg (GICallableInfo *info, gi_callable_info_get_arg (GICallableInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -361,24 +361,24 @@ g_callable_info_get_arg (GICallableInfo *info,
offset = signature_offset (info); offset = signature_offset (info);
header = (Header *)rinfo->typelib->data; header = (Header *)rinfo->typelib->data;
return (GIArgInfo *) g_info_new (GI_INFO_TYPE_ARG, (GIBaseInfo*)info, rinfo->typelib, return (GIArgInfo *) gi_info_new (GI_INFO_TYPE_ARG, (GIBaseInfo*)info, rinfo->typelib,
offset + header->signature_blob_size + n * header->arg_blob_size); offset + header->signature_blob_size + n * header->arg_blob_size);
} }
/** /**
* g_callable_info_load_arg: * gi_callable_info_load_arg:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* @n: the argument index to fetch * @n: the argument index to fetch
* @arg: (out caller-allocates): Initialize with argument number @n * @arg: (out caller-allocates): Initialize with argument number @n
* *
* Obtain information about a particular argument of this callable; this * Obtain information about a particular argument of this callable; this
* function is a variant of g_callable_info_get_arg() designed for stack * function is a variant of gi_callable_info_get_arg() designed for stack
* allocation. * allocation.
* *
* The initialized @arg must not be referenced after @info is deallocated. * The initialized @arg must not be referenced after @info is deallocated.
*/ */
void void
g_callable_info_load_arg (GICallableInfo *info, gi_callable_info_load_arg (GICallableInfo *info,
gint n, gint n,
GIArgInfo *arg) GIArgInfo *arg)
{ {
@ -392,12 +392,12 @@ g_callable_info_load_arg (GICallableInfo *info,
offset = signature_offset (info); offset = signature_offset (info);
header = (Header *)rinfo->typelib->data; header = (Header *)rinfo->typelib->data;
_g_info_init ((GIRealInfo*)arg, GI_INFO_TYPE_ARG, rinfo->repository, (GIBaseInfo*)info, rinfo->typelib, gi_info_init ((GIRealInfo*)arg, GI_INFO_TYPE_ARG, rinfo->repository, (GIBaseInfo*)info, rinfo->typelib,
offset + header->signature_blob_size + n * header->arg_blob_size); offset + header->signature_blob_size + n * header->arg_blob_size);
} }
/** /**
* g_callable_info_get_return_attribute: * gi_callable_info_get_return_attribute:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* @name: a freeform string naming an attribute * @name: a freeform string naming an attribute
* *
@ -406,12 +406,12 @@ g_callable_info_load_arg (GICallableInfo *info,
* Returns: The value of the attribute, or %NULL if no such attribute exists * Returns: The value of the attribute, or %NULL if no such attribute exists
*/ */
const gchar * const gchar *
g_callable_info_get_return_attribute (GICallableInfo *info, gi_callable_info_get_return_attribute (GICallableInfo *info,
const gchar *name) const gchar *name)
{ {
GIAttributeIter iter = { 0, }; GIAttributeIter iter = { 0, };
gchar *curname, *curvalue; gchar *curname, *curvalue;
while (g_callable_info_iterate_return_attributes (info, &iter, &curname, &curvalue)) while (gi_callable_info_iterate_return_attributes (info, &iter, &curname, &curvalue))
{ {
if (g_strcmp0 (name, curname) == 0) if (g_strcmp0 (name, curname) == 0)
return (const gchar*) curvalue; return (const gchar*) curvalue;
@ -421,7 +421,7 @@ g_callable_info_get_return_attribute (GICallableInfo *info,
} }
/** /**
* g_callable_info_iterate_return_attributes: * gi_callable_info_iterate_return_attributes:
* @info: a #GICallableInfo * @info: a #GICallableInfo
* @iterator: (inout): a #GIAttributeIter structure, must be initialized; see below * @iterator: (inout): a #GIAttributeIter structure, must be initialized; see below
* @name: (out) (transfer none): Returned name, must not be freed * @name: (out) (transfer none): Returned name, must not be freed
@ -434,13 +434,13 @@ g_callable_info_get_return_attribute (GICallableInfo *info,
* Both the @name and @value should be treated as constants * Both the @name and @value should be treated as constants
* and must not be freed. * and must not be freed.
* *
* See g_base_info_iterate_attributes() for an example of how to use a * See gi_base_info_iterate_attributes() for an example of how to use a
* similar API. * similar API.
* *
* Returns: %TRUE if there are more attributes * Returns: %TRUE if there are more attributes
*/ */
gboolean gboolean
g_callable_info_iterate_return_attributes (GICallableInfo *info, gi_callable_info_iterate_return_attributes (GICallableInfo *info,
GIAttributeIter *iterator, GIAttributeIter *iterator,
char **name, char **name,
char **value) char **value)
@ -463,8 +463,8 @@ g_callable_info_iterate_return_attributes (GICallableInfo *info,
if (next == NULL || next->offset != blob_offset || next >= after) if (next == NULL || next->offset != blob_offset || next >= after)
return FALSE; return FALSE;
*name = (gchar*) g_typelib_get_string (rinfo->typelib, next->name); *name = (gchar*) gi_typelib_get_string (rinfo->typelib, next->name);
*value = (gchar*) g_typelib_get_string (rinfo->typelib, next->value); *value = (gchar*) gi_typelib_get_string (rinfo->typelib, next->value);
iterator->data = next + 1; iterator->data = next + 1;
return TRUE; return TRUE;
@ -567,14 +567,14 @@ gi_type_info_extract_ffi_return_value (GITypeInfo *return_info,
GIFFIReturnValue *ffi_value, GIFFIReturnValue *ffi_value,
GIArgument *arg) GIArgument *arg)
{ {
GITypeTag return_tag = g_type_info_get_tag (return_info); GITypeTag return_tag = gi_type_info_get_tag (return_info);
GIInfoType interface_type = GI_INFO_TYPE_INVALID; GIInfoType interface_type = GI_INFO_TYPE_INVALID;
if (return_tag == GI_TYPE_TAG_INTERFACE) if (return_tag == GI_TYPE_TAG_INTERFACE)
{ {
GIBaseInfo *interface_info = g_type_info_get_interface (return_info); GIBaseInfo *interface_info = gi_type_info_get_interface (return_info);
interface_type = g_base_info_get_type (interface_info); interface_type = gi_base_info_get_type (interface_info);
g_base_info_unref (interface_info); gi_base_info_unref (interface_info);
} }
gi_type_tag_extract_ffi_return_value (return_tag, interface_type, gi_type_tag_extract_ffi_return_value (return_tag, interface_type,
@ -582,7 +582,7 @@ gi_type_info_extract_ffi_return_value (GITypeInfo *return_info,
} }
/** /**
* g_callable_info_invoke: * gi_callable_info_invoke:
* @info: TODO * @info: TODO
* @function: TODO * @function: TODO
* @in_args: (array length=n_in_args): TODO * @in_args: (array length=n_in_args): TODO
@ -597,7 +597,7 @@ gi_type_info_extract_ffi_return_value (GITypeInfo *return_info,
* TODO * TODO
*/ */
gboolean gboolean
g_callable_info_invoke (GIFunctionInfo *info, gi_callable_info_invoke (GIFunctionInfo *info,
gpointer function, gpointer function,
const GIArgument *in_args, const GIArgument *in_args,
int n_in_args, int n_in_args,
@ -623,21 +623,21 @@ g_callable_info_invoke (GIFunctionInfo *info,
GIFFIReturnValue ffi_return_value; GIFFIReturnValue ffi_return_value;
gpointer return_value_p; /* Will point inside the union return_value */ gpointer return_value_p; /* Will point inside the union return_value */
rinfo = g_callable_info_get_return_type ((GICallableInfo *)info); rinfo = gi_callable_info_get_return_type ((GICallableInfo *)info);
rtype = g_type_info_get_ffi_type (rinfo); rtype = gi_type_info_get_ffi_type (rinfo);
rtag = g_type_info_get_tag(rinfo); rtag = gi_type_info_get_tag(rinfo);
in_pos = 0; in_pos = 0;
out_pos = 0; out_pos = 0;
n_args = g_callable_info_get_n_args ((GICallableInfo *)info); n_args = gi_callable_info_get_n_args ((GICallableInfo *)info);
if (is_method) if (is_method)
{ {
if (n_in_args == 0) if (n_in_args == 0)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_ARGUMENT_MISMATCH, GI_INVOKE_ERROR_ARGUMENT_MISMATCH,
"Too few \"in\" arguments (handling this)"); "Too few \"in\" arguments (handling this)");
goto out; goto out;
} }
@ -662,20 +662,20 @@ g_callable_info_invoke (GIFunctionInfo *info,
for (i = 0; i < n_args; i++) for (i = 0; i < n_args; i++)
{ {
int offset = (is_method ? 1 : 0); int offset = (is_method ? 1 : 0);
ainfo = g_callable_info_get_arg ((GICallableInfo *)info, i); ainfo = gi_callable_info_get_arg ((GICallableInfo *)info, i);
switch (g_arg_info_get_direction (ainfo)) switch (gi_arg_info_get_direction (ainfo))
{ {
case GI_DIRECTION_IN: case GI_DIRECTION_IN:
tinfo = g_arg_info_get_type (ainfo); tinfo = gi_arg_info_get_type (ainfo);
atypes[i+offset] = g_type_info_get_ffi_type (tinfo); atypes[i+offset] = gi_type_info_get_ffi_type (tinfo);
g_base_info_unref ((GIBaseInfo *)ainfo); gi_base_info_unref ((GIBaseInfo *)ainfo);
g_base_info_unref ((GIBaseInfo *)tinfo); gi_base_info_unref ((GIBaseInfo *)tinfo);
if (in_pos >= n_in_args) if (in_pos >= n_in_args)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_ARGUMENT_MISMATCH, GI_INVOKE_ERROR_ARGUMENT_MISMATCH,
"Too few \"in\" arguments (handling in)"); "Too few \"in\" arguments (handling in)");
goto out; goto out;
} }
@ -686,13 +686,13 @@ g_callable_info_invoke (GIFunctionInfo *info,
break; break;
case GI_DIRECTION_OUT: case GI_DIRECTION_OUT:
atypes[i+offset] = &ffi_type_pointer; atypes[i+offset] = &ffi_type_pointer;
g_base_info_unref ((GIBaseInfo *)ainfo); gi_base_info_unref ((GIBaseInfo *)ainfo);
if (out_pos >= n_out_args) if (out_pos >= n_out_args)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_ARGUMENT_MISMATCH, GI_INVOKE_ERROR_ARGUMENT_MISMATCH,
"Too few \"out\" arguments (handling out)"); "Too few \"out\" arguments (handling out)");
goto out; goto out;
} }
@ -702,13 +702,13 @@ g_callable_info_invoke (GIFunctionInfo *info,
break; break;
case GI_DIRECTION_INOUT: case GI_DIRECTION_INOUT:
atypes[i+offset] = &ffi_type_pointer; atypes[i+offset] = &ffi_type_pointer;
g_base_info_unref ((GIBaseInfo *)ainfo); gi_base_info_unref ((GIBaseInfo *)ainfo);
if (in_pos >= n_in_args) if (in_pos >= n_in_args)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_ARGUMENT_MISMATCH, GI_INVOKE_ERROR_ARGUMENT_MISMATCH,
"Too few \"in\" arguments (handling inout)"); "Too few \"in\" arguments (handling inout)");
goto out; goto out;
} }
@ -716,8 +716,8 @@ g_callable_info_invoke (GIFunctionInfo *info,
if (out_pos >= n_out_args) if (out_pos >= n_out_args)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_ARGUMENT_MISMATCH, GI_INVOKE_ERROR_ARGUMENT_MISMATCH,
"Too few \"out\" arguments (handling inout)"); "Too few \"out\" arguments (handling inout)");
goto out; goto out;
} }
@ -727,7 +727,7 @@ g_callable_info_invoke (GIFunctionInfo *info,
out_pos++; out_pos++;
break; break;
default: default:
g_base_info_unref ((GIBaseInfo *)ainfo); gi_base_info_unref ((GIBaseInfo *)ainfo);
g_assert_not_reached (); g_assert_not_reached ();
} }
} }
@ -741,16 +741,16 @@ g_callable_info_invoke (GIFunctionInfo *info,
if (in_pos < n_in_args) if (in_pos < n_in_args)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_ARGUMENT_MISMATCH, GI_INVOKE_ERROR_ARGUMENT_MISMATCH,
"Too many \"in\" arguments (at end)"); "Too many \"in\" arguments (at end)");
goto out; goto out;
} }
if (out_pos < n_out_args) if (out_pos < n_out_args)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_ARGUMENT_MISMATCH, GI_INVOKE_ERROR_ARGUMENT_MISMATCH,
"Too many \"out\" arguments (at end)"); "Too many \"out\" arguments (at end)");
goto out; goto out;
} }
@ -788,6 +788,6 @@ g_callable_info_invoke (GIFunctionInfo *info,
success = TRUE; success = TRUE;
} }
out: out:
g_base_info_unref ((GIBaseInfo *)rinfo); gi_base_info_unref ((GIBaseInfo *)rinfo);
return success; return success;
} }

View File

@ -39,58 +39,58 @@ G_BEGIN_DECLS
* Checks if @info is a #GICallableInfo or derived from it. * Checks if @info is a #GICallableInfo or derived from it.
*/ */
#define GI_IS_CALLABLE_INFO(info) \ #define GI_IS_CALLABLE_INFO(info) \
((g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FUNCTION) || \ ((gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FUNCTION) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_CALLBACK) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_CALLBACK) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_SIGNAL) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_SIGNAL) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VFUNC)) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VFUNC))
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_callable_info_is_method (GICallableInfo *info); gboolean gi_callable_info_is_method (GICallableInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_callable_info_can_throw_gerror (GICallableInfo *info); gboolean gi_callable_info_can_throw_gerror (GICallableInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * g_callable_info_get_return_type (GICallableInfo *info); GITypeInfo * gi_callable_info_get_return_type (GICallableInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_callable_info_load_return_type (GICallableInfo *info, void gi_callable_info_load_return_type (GICallableInfo *info,
GITypeInfo *type); GITypeInfo *type);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_callable_info_get_return_attribute (GICallableInfo *info, const gchar * gi_callable_info_get_return_attribute (GICallableInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_callable_info_iterate_return_attributes (GICallableInfo *info, gboolean gi_callable_info_iterate_return_attributes (GICallableInfo *info,
GIAttributeIter *iterator, GIAttributeIter *iterator,
char **name, char **name,
char **value); char **value);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITransfer g_callable_info_get_caller_owns (GICallableInfo *info); GITransfer gi_callable_info_get_caller_owns (GICallableInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_callable_info_may_return_null (GICallableInfo *info); gboolean gi_callable_info_may_return_null (GICallableInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_callable_info_skip_return (GICallableInfo *info); gboolean gi_callable_info_skip_return (GICallableInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_callable_info_get_n_args (GICallableInfo *info); gint gi_callable_info_get_n_args (GICallableInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIArgInfo * g_callable_info_get_arg (GICallableInfo *info, GIArgInfo * gi_callable_info_get_arg (GICallableInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_callable_info_load_arg (GICallableInfo *info, void gi_callable_info_load_arg (GICallableInfo *info,
gint n, gint n,
GIArgInfo *arg); GIArgInfo *arg);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_callable_info_invoke (GICallableInfo *info, gboolean gi_callable_info_invoke (GICallableInfo *info,
gpointer function, gpointer function,
const GIArgument *in_args, const GIArgument *in_args,
int n_in_args, int n_in_args,
@ -102,6 +102,6 @@ gboolean g_callable_info_invoke (GICallableInfo *info,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITransfer g_callable_info_get_instance_ownership_transfer (GICallableInfo *info); GITransfer gi_callable_info_get_instance_ownership_transfer (GICallableInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -40,45 +40,45 @@
* GIConstantInfo represents a constant. * GIConstantInfo represents a constant.
* *
* A constant has a type associated which can be obtained by calling * A constant has a type associated which can be obtained by calling
* g_constant_info_get_type() and a value, which can be obtained by * gi_constant_info_get_type() and a value, which can be obtained by
* calling g_constant_info_get_value(). * calling gi_constant_info_get_value().
*/ */
/** /**
* g_constant_info_get_type: * gi_constant_info_get_type:
* @info: a #GIConstantInfo * @info: a #GIConstantInfo
* *
* Obtain the type of the constant as a #GITypeInfo. * Obtain the type of the constant as a #GITypeInfo.
* *
* Returns: (transfer full): the #GITypeInfo. Free the struct by calling * Returns: (transfer full): the #GITypeInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GITypeInfo * GITypeInfo *
g_constant_info_get_type (GIConstantInfo *info) gi_constant_info_get_type (GIConstantInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_CONSTANT_INFO (info), NULL); g_return_val_if_fail (GI_IS_CONSTANT_INFO (info), NULL);
return _g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + 8); return gi_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + 8);
} }
#define DO_ALIGNED_COPY(dest_addr, src_addr, type) \ #define DO_ALIGNED_COPY(dest_addr, src_addr, type) \
memcpy((dest_addr), (src_addr), sizeof(type)) memcpy((dest_addr), (src_addr), sizeof(type))
/** /**
* g_constant_info_free_value: (skip) * gi_constant_info_free_value: (skip)
* @info: a #GIConstantInfo * @info: a #GIConstantInfo
* @value: the argument * @value: the argument
* *
* Free the value returned from g_constant_info_get_value(). * Free the value returned from gi_constant_info_get_value().
* *
* Since: 1.32 * Since: 1.32
*/ */
void void
g_constant_info_free_value (GIConstantInfo *info, gi_constant_info_free_value (GIConstantInfo *info,
GIArgument *value) GIArgument *value)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -98,19 +98,19 @@ g_constant_info_free_value (GIConstantInfo *info,
} }
/** /**
* g_constant_info_get_value: (skip) * gi_constant_info_get_value: (skip)
* @info: a #GIConstantInfo * @info: a #GIConstantInfo
* @value: (out): an argument * @value: (out): an argument
* *
* Obtain the value associated with the #GIConstantInfo and store it in the * Obtain the value associated with the #GIConstantInfo and store it in the
* @value parameter. @argument needs to be allocated before passing it in. * @value parameter. @argument needs to be allocated before passing it in.
* The size of the constant value stored in @argument will be returned. * The size of the constant value stored in @argument will be returned.
* Free the value with g_constant_info_free_value(). * Free the value with gi_constant_info_free_value().
* *
* Returns: size of the constant * Returns: size of the constant
*/ */
gint gint
g_constant_info_get_value (GIConstantInfo *info, gi_constant_info_get_value (GIConstantInfo *info,
GIArgument *value) GIArgument *value)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -126,13 +126,9 @@ g_constant_info_get_value (GIConstantInfo *info,
{ {
if (blob->type.flags.pointer) if (blob->type.flags.pointer)
{ {
#if GLIB_CHECK_VERSION (2, 67, 5)
gsize blob_size = blob->size; gsize blob_size = blob->size;
value->v_pointer = g_memdup2 (&rinfo->typelib->data[blob->offset], blob_size); value->v_pointer = g_memdup2 (&rinfo->typelib->data[blob->offset], blob_size);
#else
value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size);
#endif
} }
else else
{ {

View File

@ -39,17 +39,17 @@ G_BEGIN_DECLS
* Checks if @info is a #GIConstantInfo. * Checks if @info is a #GIConstantInfo.
*/ */
#define GI_IS_CONSTANT_INFO(info) \ #define GI_IS_CONSTANT_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_CONSTANT) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_CONSTANT)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * g_constant_info_get_type (GIConstantInfo *info); GITypeInfo * gi_constant_info_get_type (GIConstantInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_constant_info_free_value(GIConstantInfo *info, void gi_constant_info_free_value (GIConstantInfo *info,
GIArgument *value); GIArgument *value);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_constant_info_get_value(GIConstantInfo *info, gint gi_constant_info_get_value (GIConstantInfo *info,
GIArgument *value); GIArgument *value);
G_END_DECLS G_END_DECLS

View File

@ -41,12 +41,12 @@
* *
* The GIEnumInfo contains a set of values and a type. * The GIEnumInfo contains a set of values and a type.
* *
* The GIValueInfo is fetched by calling g_enum_info_get_value() on * The GIValueInfo is fetched by calling gi_enum_info_get_value() on
* a GIEnumInfo. * a GIEnumInfo.
*/ */
/** /**
* g_enum_info_get_n_values: * gi_enum_info_get_n_values:
* @info: a #GIEnumInfo * @info: a #GIEnumInfo
* *
* Obtain the number of values this enumeration contains. * Obtain the number of values this enumeration contains.
@ -54,7 +54,7 @@
* Returns: the number of enumeration values * Returns: the number of enumeration values
*/ */
gint gint
g_enum_info_get_n_values (GIEnumInfo *info) gi_enum_info_get_n_values (GIEnumInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
EnumBlob *blob; EnumBlob *blob;
@ -68,7 +68,7 @@ g_enum_info_get_n_values (GIEnumInfo *info)
} }
/** /**
* g_enum_info_get_error_domain: * gi_enum_info_get_error_domain:
* @info: a #GIEnumInfo * @info: a #GIEnumInfo
* *
* Obtain the string form of the quark for the error domain associated with * Obtain the string form of the quark for the error domain associated with
@ -79,7 +79,7 @@ g_enum_info_get_n_values (GIEnumInfo *info)
* Since: 1.30 * Since: 1.30
*/ */
const gchar * const gchar *
g_enum_info_get_error_domain (GIEnumInfo *info) gi_enum_info_get_error_domain (GIEnumInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
EnumBlob *blob; EnumBlob *blob;
@ -90,23 +90,23 @@ g_enum_info_get_error_domain (GIEnumInfo *info)
blob = (EnumBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (EnumBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->error_domain) if (blob->error_domain)
return g_typelib_get_string (rinfo->typelib, blob->error_domain); return gi_typelib_get_string (rinfo->typelib, blob->error_domain);
else else
return NULL; return NULL;
} }
/** /**
* g_enum_info_get_value: * gi_enum_info_get_value:
* @info: a #GIEnumInfo * @info: a #GIEnumInfo
* @n: index of value to fetch * @n: index of value to fetch
* *
* Obtain a value for this enumeration. * Obtain a value for this enumeration.
* *
* Returns: (transfer full): the enumeration value or %NULL if type tag is wrong, * Returns: (transfer full): the enumeration value or %NULL if type tag is wrong,
* free the struct with g_base_info_unref() when done. * free the struct with gi_base_info_unref() when done.
*/ */
GIValueInfo * GIValueInfo *
g_enum_info_get_value (GIEnumInfo *info, gi_enum_info_get_value (GIEnumInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -120,11 +120,11 @@ g_enum_info_get_value (GIEnumInfo *info,
offset = rinfo->offset + header->enum_blob_size offset = rinfo->offset + header->enum_blob_size
+ n * header->value_blob_size; + n * header->value_blob_size;
return (GIValueInfo *) g_info_new (GI_INFO_TYPE_VALUE, (GIBaseInfo*)info, rinfo->typelib, offset); return (GIValueInfo *) gi_info_new (GI_INFO_TYPE_VALUE, (GIBaseInfo*)info, rinfo->typelib, offset);
} }
/** /**
* g_enum_info_get_n_methods: * gi_enum_info_get_n_methods:
* @info: a #GIEnumInfo * @info: a #GIEnumInfo
* *
* Obtain the number of methods that this enum type has. * Obtain the number of methods that this enum type has.
@ -133,7 +133,7 @@ g_enum_info_get_value (GIEnumInfo *info,
* Since: 1.30 * Since: 1.30
*/ */
gint gint
g_enum_info_get_n_methods (GIEnumInfo *info) gi_enum_info_get_n_methods (GIEnumInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
EnumBlob *blob; EnumBlob *blob;
@ -147,18 +147,18 @@ g_enum_info_get_n_methods (GIEnumInfo *info)
} }
/** /**
* g_enum_info_get_method: * gi_enum_info_get_method:
* @info: a #GIEnumInfo * @info: a #GIEnumInfo
* @n: index of method to get * @n: index of method to get
* *
* Obtain an enum type method at index @n. * Obtain an enum type method at index @n.
* *
* Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling * Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
* Since: 1.30 * Since: 1.30
*/ */
GIFunctionInfo * GIFunctionInfo *
g_enum_info_get_method (GIEnumInfo *info, gi_enum_info_get_method (GIEnumInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -176,12 +176,12 @@ g_enum_info_get_method (GIEnumInfo *info,
+ blob->n_values * header->value_blob_size + blob->n_values * header->value_blob_size
+ n * header->function_blob_size; + n * header->function_blob_size;
return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_enum_info_get_storage_type: * gi_enum_info_get_storage_type:
* @info: a #GIEnumInfo * @info: a #GIEnumInfo
* *
* Obtain the tag of the type used for the enum in the C ABI. This will * Obtain the tag of the type used for the enum in the C ABI. This will
@ -194,7 +194,7 @@ g_enum_info_get_method (GIEnumInfo *info,
* Returns: the storage type for the enumeration * Returns: the storage type for the enumeration
*/ */
GITypeTag GITypeTag
g_enum_info_get_storage_type (GIEnumInfo *info) gi_enum_info_get_storage_type (GIEnumInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
EnumBlob *blob; EnumBlob *blob;
@ -208,7 +208,7 @@ g_enum_info_get_storage_type (GIEnumInfo *info)
} }
/** /**
* g_value_info_get_value: * gi_value_info_get_value:
* @info: a #GIValueInfo * @info: a #GIValueInfo
* *
* Obtain the enumeration value of the #GIValueInfo. * Obtain the enumeration value of the #GIValueInfo.
@ -218,7 +218,7 @@ g_enum_info_get_storage_type (GIEnumInfo *info)
* return type is to allow both. * return type is to allow both.
*/ */
gint64 gint64
g_value_info_get_value (GIValueInfo *info) gi_value_info_get_value (GIValueInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ValueBlob *blob; ValueBlob *blob;

View File

@ -39,8 +39,8 @@ G_BEGIN_DECLS
* Checks if @info is a #GIEnumInfo. * Checks if @info is a #GIEnumInfo.
*/ */
#define GI_IS_ENUM_INFO(info) \ #define GI_IS_ENUM_INFO(info) \
((g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM) || \ ((gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FLAGS)) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FLAGS))
/** /**
* GI_IS_VALUE_INFO * GI_IS_VALUE_INFO
@ -49,31 +49,31 @@ G_BEGIN_DECLS
* Checks if @info is a #GIValueInfo. * Checks if @info is a #GIValueInfo.
*/ */
#define GI_IS_VALUE_INFO(info) \ #define GI_IS_VALUE_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VALUE) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VALUE)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_enum_info_get_n_values (GIEnumInfo *info); gint gi_enum_info_get_n_values (GIEnumInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIValueInfo * g_enum_info_get_value (GIEnumInfo *info, GIValueInfo * gi_enum_info_get_value (GIEnumInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_enum_info_get_n_methods (GIEnumInfo *info); gint gi_enum_info_get_n_methods (GIEnumInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_enum_info_get_method (GIEnumInfo *info, GIFunctionInfo * gi_enum_info_get_method (GIEnumInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeTag g_enum_info_get_storage_type (GIEnumInfo *info); GITypeTag gi_enum_info_get_storage_type (GIEnumInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_enum_info_get_error_domain (GIEnumInfo *info); const gchar * gi_enum_info_get_error_domain (GIEnumInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint64 g_value_info_get_value (GIValueInfo *info); gint64 gi_value_info_get_value (GIValueInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -39,8 +39,8 @@
* *
* A GIFieldInfo struct represents a field of a struct, union, or object. * A GIFieldInfo struct represents a field of a struct, union, or object.
* *
* The GIFieldInfo is fetched by calling g_struct_info_get_field(), * The GIFieldInfo is fetched by calling gi_struct_info_get_field(),
* g_union_info_get_field() or g_object_info_get_field(). * gi_union_info_get_field() or gi_object_info_get_field().
* *
* A field has a size, type and a struct offset asssociated and a set of flags, * A field has a size, type and a struct offset asssociated and a set of flags,
* which are currently #GI_FIELD_IS_READABLE or #GI_FIELD_IS_WRITABLE. * which are currently #GI_FIELD_IS_READABLE or #GI_FIELD_IS_WRITABLE.
@ -49,7 +49,7 @@
*/ */
/** /**
* g_field_info_get_flags: * gi_field_info_get_flags:
* @info: a #GIFieldInfo * @info: a #GIFieldInfo
* *
* Obtain the flags for this #GIFieldInfo. See #GIFieldInfoFlags for possible * Obtain the flags for this #GIFieldInfo. See #GIFieldInfoFlags for possible
@ -58,7 +58,7 @@
* Returns: the flags * Returns: the flags
*/ */
GIFieldInfoFlags GIFieldInfoFlags
g_field_info_get_flags (GIFieldInfo *info) gi_field_info_get_flags (GIFieldInfo *info)
{ {
GIFieldInfoFlags flags; GIFieldInfoFlags flags;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -81,7 +81,7 @@ g_field_info_get_flags (GIFieldInfo *info)
} }
/** /**
* g_field_info_get_size: * gi_field_info_get_size:
* @info: a #GIFieldInfo * @info: a #GIFieldInfo
* *
* Obtain the size in bits of the field member, this is how * Obtain the size in bits of the field member, this is how
@ -90,7 +90,7 @@ g_field_info_get_flags (GIFieldInfo *info)
* Returns: the field size * Returns: the field size
*/ */
gint gint
g_field_info_get_size (GIFieldInfo *info) gi_field_info_get_size (GIFieldInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
FieldBlob *blob; FieldBlob *blob;
@ -104,7 +104,7 @@ g_field_info_get_size (GIFieldInfo *info)
} }
/** /**
* g_field_info_get_offset: * gi_field_info_get_offset:
* @info: a #GIFieldInfo * @info: a #GIFieldInfo
* *
* Obtain the offset in bytes of the field member, this is relative * Obtain the offset in bytes of the field member, this is relative
@ -113,7 +113,7 @@ g_field_info_get_size (GIFieldInfo *info)
* Returns: the field offset * Returns: the field offset
*/ */
gint gint
g_field_info_get_offset (GIFieldInfo *info) gi_field_info_get_offset (GIFieldInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
FieldBlob *blob; FieldBlob *blob;
@ -127,16 +127,16 @@ g_field_info_get_offset (GIFieldInfo *info)
} }
/** /**
* g_field_info_get_type: * gi_field_info_get_type:
* @info: a #GIFieldInfo * @info: a #GIFieldInfo
* *
* Obtain the type of a field as a #GITypeInfo. * Obtain the type of a field as a #GITypeInfo.
* *
* Returns: (transfer full): the #GITypeInfo. Free the struct by calling * Returns: (transfer full): the #GITypeInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GITypeInfo * GITypeInfo *
g_field_info_get_type (GIFieldInfo *info) gi_field_info_get_type (GIFieldInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
@ -150,19 +150,19 @@ g_field_info_get_type (GIFieldInfo *info)
if (blob->has_embedded_type) if (blob->has_embedded_type)
{ {
type_info = (GIRealInfo *) g_info_new (GI_INFO_TYPE_TYPE, type_info = (GIRealInfo *) gi_info_new (GI_INFO_TYPE_TYPE,
(GIBaseInfo*)info, rinfo->typelib, (GIBaseInfo*)info, rinfo->typelib,
rinfo->offset + header->field_blob_size); rinfo->offset + header->field_blob_size);
type_info->type_is_embedded = TRUE; type_info->type_is_embedded = TRUE;
} }
else else
return _g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (FieldBlob, type)); return gi_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (FieldBlob, type));
return (GIBaseInfo*)type_info; return (GIBaseInfo*)type_info;
} }
/** /**
* g_field_info_get_field: (skip) * gi_field_info_get_field: (skip)
* @field_info: a #GIFieldInfo * @field_info: a #GIFieldInfo
* @mem: pointer to a block of memory representing a C structure or union * @mem: pointer to a block of memory representing a C structure or union
* @value: a #GIArgument into which to store the value retrieved * @value: a #GIArgument into which to store the value retrieved
@ -175,7 +175,7 @@ g_field_info_get_type (GIFieldInfo *info)
* Returns: %TRUE if reading the field succeeded, otherwise %FALSE * Returns: %TRUE if reading the field succeeded, otherwise %FALSE
*/ */
gboolean gboolean
g_field_info_get_field (GIFieldInfo *field_info, gi_field_info_get_field (GIFieldInfo *field_info,
gpointer mem, gpointer mem,
GIArgument *value) GIArgument *value)
{ {
@ -186,24 +186,24 @@ g_field_info_get_field (GIFieldInfo *field_info,
g_return_val_if_fail (field_info != NULL, FALSE); g_return_val_if_fail (field_info != NULL, FALSE);
g_return_val_if_fail (GI_IS_FIELD_INFO (field_info), FALSE); g_return_val_if_fail (GI_IS_FIELD_INFO (field_info), FALSE);
if ((g_field_info_get_flags (field_info) & GI_FIELD_IS_READABLE) == 0) if ((gi_field_info_get_flags (field_info) & GI_FIELD_IS_READABLE) == 0)
return FALSE; return FALSE;
offset = g_field_info_get_offset (field_info); offset = gi_field_info_get_offset (field_info);
type_info = g_field_info_get_type (field_info); type_info = gi_field_info_get_type (field_info);
if (g_type_info_is_pointer (type_info)) if (gi_type_info_is_pointer (type_info))
{ {
value->v_pointer = G_STRUCT_MEMBER (gpointer, mem, offset); value->v_pointer = G_STRUCT_MEMBER (gpointer, mem, offset);
result = TRUE; result = TRUE;
} }
else else
{ {
switch (g_type_info_get_tag (type_info)) switch (gi_type_info_get_tag (type_info))
{ {
case GI_TYPE_TAG_VOID: case GI_TYPE_TAG_VOID:
g_warning("Field %s: should not be have void type", g_warning("Field %s: should not be have void type",
g_base_info_get_name ((GIBaseInfo *)field_info)); gi_base_info_get_name ((GIBaseInfo *)field_info));
break; break;
case GI_TYPE_TAG_BOOLEAN: case GI_TYPE_TAG_BOOLEAN:
value->v_boolean = G_STRUCT_MEMBER (gboolean, mem, offset) != FALSE; value->v_boolean = G_STRUCT_MEMBER (gboolean, mem, offset) != FALSE;
@ -254,16 +254,16 @@ g_field_info_get_field (GIFieldInfo *field_info,
case GI_TYPE_TAG_GSLIST: case GI_TYPE_TAG_GSLIST:
case GI_TYPE_TAG_GHASH: case GI_TYPE_TAG_GHASH:
g_warning("Field %s: type %s should have is_pointer set", g_warning("Field %s: type %s should have is_pointer set",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_type_tag_to_string (g_type_info_get_tag (type_info))); gi_type_tag_to_string (gi_type_info_get_tag (type_info)));
break; break;
case GI_TYPE_TAG_ERROR: case GI_TYPE_TAG_ERROR:
/* Needs to be handled by the language binding directly */ /* Needs to be handled by the language binding directly */
break; break;
case GI_TYPE_TAG_INTERFACE: case GI_TYPE_TAG_INTERFACE:
{ {
GIBaseInfo *interface = g_type_info_get_interface (type_info); GIBaseInfo *interface = gi_type_info_get_interface (type_info);
switch (g_base_info_get_type (interface)) switch (gi_base_info_get_type (interface))
{ {
case GI_INFO_TYPE_STRUCT: case GI_INFO_TYPE_STRUCT:
case GI_INFO_TYPE_UNION: case GI_INFO_TYPE_UNION:
@ -276,13 +276,13 @@ g_field_info_get_field (GIFieldInfo *field_info,
case GI_INFO_TYPE_FLAGS: case GI_INFO_TYPE_FLAGS:
{ {
/* FIXME: there's a mismatch here between the value->v_int we use /* FIXME: there's a mismatch here between the value->v_int we use
* here and the gint64 result returned from g_value_info_get_value(). * here and the gint64 result returned from gi_value_info_get_value().
* But to switch this to gint64, we'd have to make g_function_info_invoke() * But to switch this to gint64, we'd have to make gi_function_info_invoke()
* translate value->v_int64 to the proper ABI for an enum function * translate value->v_int64 to the proper ABI for an enum function
* call parameter, which will usually be int, and then fix up language * call parameter, which will usually be int, and then fix up language
* bindings. * bindings.
*/ */
GITypeTag storage_type = g_enum_info_get_storage_type ((GIEnumInfo *)interface); GITypeTag storage_type = gi_enum_info_get_storage_type ((GIEnumInfo *)interface);
switch (storage_type) switch (storage_type)
{ {
case GI_TYPE_TAG_INT8: case GI_TYPE_TAG_INT8:
@ -307,8 +307,8 @@ g_field_info_get_field (GIFieldInfo *field_info,
break; break;
default: default:
g_warning("Field %s: Unexpected enum storage type %s", g_warning("Field %s: Unexpected enum storage type %s",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_type_tag_to_string (storage_type)); gi_type_tag_to_string (storage_type));
break; break;
} }
break; break;
@ -316,8 +316,8 @@ g_field_info_get_field (GIFieldInfo *field_info,
case GI_INFO_TYPE_VFUNC: case GI_INFO_TYPE_VFUNC:
case GI_INFO_TYPE_CALLBACK: case GI_INFO_TYPE_CALLBACK:
g_warning("Field %s: Interface type %d should have is_pointer set", g_warning("Field %s: Interface type %d should have is_pointer set",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_base_info_get_type (interface)); gi_base_info_get_type (interface));
break; break;
case GI_INFO_TYPE_INVALID: case GI_INFO_TYPE_INVALID:
case GI_INFO_TYPE_INTERFACE: case GI_INFO_TYPE_INTERFACE:
@ -332,14 +332,14 @@ g_field_info_get_field (GIFieldInfo *field_info,
case GI_INFO_TYPE_TYPE: case GI_INFO_TYPE_TYPE:
case GI_INFO_TYPE_UNRESOLVED: case GI_INFO_TYPE_UNRESOLVED:
g_warning("Field %s: Interface type %d not expected", g_warning("Field %s: Interface type %d not expected",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_base_info_get_type (interface)); gi_base_info_get_type (interface));
break; break;
default: default:
break; break;
} }
g_base_info_unref ((GIBaseInfo *)interface); gi_base_info_unref ((GIBaseInfo *)interface);
break; break;
} }
break; break;
@ -348,13 +348,13 @@ g_field_info_get_field (GIFieldInfo *field_info,
} }
} }
g_base_info_unref ((GIBaseInfo *)type_info); gi_base_info_unref ((GIBaseInfo *)type_info);
return result; return result;
} }
/** /**
* g_field_info_set_field: (skip) * gi_field_info_set_field: (skip)
* @field_info: a #GIFieldInfo * @field_info: a #GIFieldInfo
* @mem: pointer to a block of memory representing a C structure or union * @mem: pointer to a block of memory representing a C structure or union
* @value: a #GIArgument holding the value to store * @value: a #GIArgument holding the value to store
@ -369,7 +369,7 @@ g_field_info_get_field (GIFieldInfo *field_info,
* Returns: %TRUE if writing the field succeeded, otherwise %FALSE * Returns: %TRUE if writing the field succeeded, otherwise %FALSE
*/ */
gboolean gboolean
g_field_info_set_field (GIFieldInfo *field_info, gi_field_info_set_field (GIFieldInfo *field_info,
gpointer mem, gpointer mem,
const GIArgument *value) const GIArgument *value)
{ {
@ -380,19 +380,19 @@ g_field_info_set_field (GIFieldInfo *field_info,
g_return_val_if_fail (field_info != NULL, FALSE); g_return_val_if_fail (field_info != NULL, FALSE);
g_return_val_if_fail (GI_IS_FIELD_INFO (field_info), FALSE); g_return_val_if_fail (GI_IS_FIELD_INFO (field_info), FALSE);
if ((g_field_info_get_flags (field_info) & GI_FIELD_IS_WRITABLE) == 0) if ((gi_field_info_get_flags (field_info) & GI_FIELD_IS_WRITABLE) == 0)
return FALSE; return FALSE;
offset = g_field_info_get_offset (field_info); offset = gi_field_info_get_offset (field_info);
type_info = g_field_info_get_type (field_info); type_info = gi_field_info_get_type (field_info);
if (!g_type_info_is_pointer (type_info)) if (!gi_type_info_is_pointer (type_info))
{ {
switch (g_type_info_get_tag (type_info)) switch (gi_type_info_get_tag (type_info))
{ {
case GI_TYPE_TAG_VOID: case GI_TYPE_TAG_VOID:
g_warning("Field %s: should not be have void type", g_warning("Field %s: should not be have void type",
g_base_info_get_name ((GIBaseInfo *)field_info)); gi_base_info_get_name ((GIBaseInfo *)field_info));
break; break;
case GI_TYPE_TAG_BOOLEAN: case GI_TYPE_TAG_BOOLEAN:
G_STRUCT_MEMBER (gboolean, mem, offset) = value->v_boolean != FALSE; G_STRUCT_MEMBER (gboolean, mem, offset) = value->v_boolean != FALSE;
@ -438,16 +438,16 @@ g_field_info_set_field (GIFieldInfo *field_info,
case GI_TYPE_TAG_GSLIST: case GI_TYPE_TAG_GSLIST:
case GI_TYPE_TAG_GHASH: case GI_TYPE_TAG_GHASH:
g_warning("Field %s: type %s should have is_pointer set", g_warning("Field %s: type %s should have is_pointer set",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_type_tag_to_string (g_type_info_get_tag (type_info))); gi_type_tag_to_string (gi_type_info_get_tag (type_info)));
break; break;
case GI_TYPE_TAG_ERROR: case GI_TYPE_TAG_ERROR:
/* Needs to be handled by the language binding directly */ /* Needs to be handled by the language binding directly */
break; break;
case GI_TYPE_TAG_INTERFACE: case GI_TYPE_TAG_INTERFACE:
{ {
GIBaseInfo *interface = g_type_info_get_interface (type_info); GIBaseInfo *interface = gi_type_info_get_interface (type_info);
switch (g_base_info_get_type (interface)) switch (gi_base_info_get_type (interface))
{ {
case GI_INFO_TYPE_STRUCT: case GI_INFO_TYPE_STRUCT:
case GI_INFO_TYPE_UNION: case GI_INFO_TYPE_UNION:
@ -461,7 +461,7 @@ g_field_info_set_field (GIFieldInfo *field_info,
{ {
/* See FIXME above /* See FIXME above
*/ */
GITypeTag storage_type = g_enum_info_get_storage_type ((GIEnumInfo *)interface); GITypeTag storage_type = gi_enum_info_get_storage_type ((GIEnumInfo *)interface);
switch (storage_type) switch (storage_type)
{ {
case GI_TYPE_TAG_INT8: case GI_TYPE_TAG_INT8:
@ -486,8 +486,8 @@ g_field_info_set_field (GIFieldInfo *field_info,
break; break;
default: default:
g_warning("Field %s: Unexpected enum storage type %s", g_warning("Field %s: Unexpected enum storage type %s",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_type_tag_to_string (storage_type)); gi_type_tag_to_string (storage_type));
break; break;
} }
break; break;
@ -496,8 +496,8 @@ g_field_info_set_field (GIFieldInfo *field_info,
case GI_INFO_TYPE_VFUNC: case GI_INFO_TYPE_VFUNC:
case GI_INFO_TYPE_CALLBACK: case GI_INFO_TYPE_CALLBACK:
g_warning("Field%s: Interface type %d should have is_pointer set", g_warning("Field%s: Interface type %d should have is_pointer set",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_base_info_get_type (interface)); gi_base_info_get_type (interface));
break; break;
case GI_INFO_TYPE_INVALID: case GI_INFO_TYPE_INVALID:
case GI_INFO_TYPE_INTERFACE: case GI_INFO_TYPE_INTERFACE:
@ -512,14 +512,14 @@ g_field_info_set_field (GIFieldInfo *field_info,
case GI_INFO_TYPE_TYPE: case GI_INFO_TYPE_TYPE:
case GI_INFO_TYPE_UNRESOLVED: case GI_INFO_TYPE_UNRESOLVED:
g_warning("Field %s: Interface type %d not expected", g_warning("Field %s: Interface type %d not expected",
g_base_info_get_name ((GIBaseInfo *)field_info), gi_base_info_get_name ((GIBaseInfo *)field_info),
g_base_info_get_type (interface)); gi_base_info_get_type (interface));
break; break;
default: default:
break; break;
} }
g_base_info_unref ((GIBaseInfo *)interface); gi_base_info_unref ((GIBaseInfo *)interface);
break; break;
} }
break; break;
@ -527,12 +527,12 @@ g_field_info_set_field (GIFieldInfo *field_info,
break; break;
} }
} else { } else {
switch (g_type_info_get_tag (type_info)) switch (gi_type_info_get_tag (type_info))
{ {
case GI_TYPE_TAG_INTERFACE: case GI_TYPE_TAG_INTERFACE:
{ {
GIBaseInfo *interface = g_type_info_get_interface (type_info); GIBaseInfo *interface = gi_type_info_get_interface (type_info);
switch (g_base_info_get_type (interface)) switch (gi_base_info_get_type (interface))
{ {
case GI_INFO_TYPE_OBJECT: case GI_INFO_TYPE_OBJECT:
case GI_INFO_TYPE_INTERFACE: case GI_INFO_TYPE_INTERFACE:
@ -542,7 +542,7 @@ g_field_info_set_field (GIFieldInfo *field_info,
default: default:
break; break;
} }
g_base_info_unref ((GIBaseInfo *)interface); gi_base_info_unref ((GIBaseInfo *)interface);
} }
break; break;
default: default:
@ -550,7 +550,7 @@ g_field_info_set_field (GIFieldInfo *field_info,
} }
} }
g_base_info_unref ((GIBaseInfo *)type_info); gi_base_info_unref ((GIBaseInfo *)type_info);
return result; return result;
} }

View File

@ -40,28 +40,28 @@ G_BEGIN_DECLS
* *
*/ */
#define GI_IS_FIELD_INFO(info) \ #define GI_IS_FIELD_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FIELD) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FIELD)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFieldInfoFlags g_field_info_get_flags (GIFieldInfo *info); GIFieldInfoFlags gi_field_info_get_flags (GIFieldInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_field_info_get_size (GIFieldInfo *info); gint gi_field_info_get_size (GIFieldInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_field_info_get_offset (GIFieldInfo *info); gint gi_field_info_get_offset (GIFieldInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * g_field_info_get_type (GIFieldInfo *info); GITypeInfo * gi_field_info_get_type (GIFieldInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_field_info_get_field (GIFieldInfo *field_info, gboolean gi_field_info_get_field (GIFieldInfo *field_info,
gpointer mem, gpointer mem,
GIArgument *value); GIArgument *value);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_field_info_set_field (GIFieldInfo *field_info, gboolean gi_field_info_set_field (GIFieldInfo *field_info,
gpointer mem, gpointer mem,
const GIArgument *value); const GIArgument *value);

View File

@ -41,14 +41,14 @@
* GIFunctionInfo represents a function, method or constructor. * GIFunctionInfo represents a function, method or constructor.
* *
* To find out what kind of entity a #GIFunctionInfo represents, call * To find out what kind of entity a #GIFunctionInfo represents, call
* g_function_info_get_flags(). * gi_function_info_get_flags().
* *
* See also #GICallableInfo for information on how to retreive arguments and * See also #GICallableInfo for information on how to retreive arguments and
* other metadata. * other metadata.
*/ */
GIFunctionInfo * GIFunctionInfo *
_g_base_info_find_method (GIBaseInfo *base, gi_base_info_find_method (GIBaseInfo *base,
guint32 offset, guint32 offset,
gint n_methods, gint n_methods,
const gchar *name) const gchar *name)
@ -64,7 +64,7 @@ _g_base_info_find_method (GIBaseInfo *base,
const gchar *fname = (const gchar *)&rinfo->typelib->data[fblob->name]; const gchar *fname = (const gchar *)&rinfo->typelib->data[fblob->name];
if (strcmp (name, fname) == 0) if (strcmp (name, fname) == 0)
return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, base, return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, base,
rinfo->typelib, offset); rinfo->typelib, offset);
offset += header->function_blob_size; offset += header->function_blob_size;
@ -74,7 +74,7 @@ _g_base_info_find_method (GIBaseInfo *base,
} }
/** /**
* g_function_info_get_symbol: * gi_function_info_get_symbol:
* @info: a #GIFunctionInfo * @info: a #GIFunctionInfo
* *
* Obtain the symbol of the function. The symbol is the name of the * Obtain the symbol of the function. The symbol is the name of the
@ -84,7 +84,7 @@ _g_base_info_find_method (GIBaseInfo *base,
* Returns: the symbol * Returns: the symbol
*/ */
const gchar * const gchar *
g_function_info_get_symbol (GIFunctionInfo *info) gi_function_info_get_symbol (GIFunctionInfo *info)
{ {
GIRealInfo *rinfo; GIRealInfo *rinfo;
FunctionBlob *blob; FunctionBlob *blob;
@ -95,11 +95,11 @@ g_function_info_get_symbol (GIFunctionInfo *info)
rinfo = (GIRealInfo *)info; rinfo = (GIRealInfo *)info;
blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->symbol); return gi_typelib_get_string (rinfo->typelib, blob->symbol);
} }
/** /**
* g_function_info_get_flags: * gi_function_info_get_flags:
* @info: a #GIFunctionInfo * @info: a #GIFunctionInfo
* *
* Obtain the #GIFunctionInfoFlags for the @info. * Obtain the #GIFunctionInfoFlags for the @info.
@ -107,7 +107,7 @@ g_function_info_get_symbol (GIFunctionInfo *info)
* Returns: the flags * Returns: the flags
*/ */
GIFunctionInfoFlags GIFunctionInfoFlags
g_function_info_get_flags (GIFunctionInfo *info) gi_function_info_get_flags (GIFunctionInfo *info)
{ {
GIFunctionInfoFlags flags; GIFunctionInfoFlags flags;
GIRealInfo *rinfo; GIRealInfo *rinfo;
@ -144,7 +144,7 @@ g_function_info_get_flags (GIFunctionInfo *info)
} }
/** /**
* g_function_info_get_property: * gi_function_info_get_property:
* @info: a #GIFunctionInfo * @info: a #GIFunctionInfo
* *
* Obtain the property associated with this #GIFunctionInfo. * Obtain the property associated with this #GIFunctionInfo.
@ -153,10 +153,10 @@ g_function_info_get_flags (GIFunctionInfo *info)
* %NULL will be returned. * %NULL will be returned.
* *
* Returns: (transfer full): the property or %NULL if not set. Free it with * Returns: (transfer full): the property or %NULL if not set. Free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIPropertyInfo * GIPropertyInfo *
g_function_info_get_property (GIFunctionInfo *info) gi_function_info_get_property (GIFunctionInfo *info)
{ {
GIRealInfo *rinfo, *container_rinfo; GIRealInfo *rinfo, *container_rinfo;
FunctionBlob *blob; FunctionBlob *blob;
@ -172,20 +172,20 @@ g_function_info_get_property (GIFunctionInfo *info)
{ {
GIInterfaceInfo *container = (GIInterfaceInfo *)rinfo->container; GIInterfaceInfo *container = (GIInterfaceInfo *)rinfo->container;
return g_interface_info_get_property (container, blob->index); return gi_interface_info_get_property (container, blob->index);
} }
else if (container_rinfo->type == GI_INFO_TYPE_OBJECT) else if (container_rinfo->type == GI_INFO_TYPE_OBJECT)
{ {
GIObjectInfo *container = (GIObjectInfo *)rinfo->container; GIObjectInfo *container = (GIObjectInfo *)rinfo->container;
return g_object_info_get_property (container, blob->index); return gi_object_info_get_property (container, blob->index);
} }
else else
return NULL; return NULL;
} }
/** /**
* g_function_info_get_vfunc: * gi_function_info_get_vfunc:
* @info: a #GIFunctionInfo * @info: a #GIFunctionInfo
* *
* Obtain the virtual function associated with this #GIFunctionInfo. * Obtain the virtual function associated with this #GIFunctionInfo.
@ -193,10 +193,10 @@ g_function_info_get_property (GIFunctionInfo *info)
* a virtual function set. For other cases, %NULL will be returned. * a virtual function set. For other cases, %NULL will be returned.
* *
* Returns: (transfer full): the virtual function or %NULL if not set. * Returns: (transfer full): the virtual function or %NULL if not set.
* Free it by calling g_base_info_unref() when done. * Free it by calling gi_base_info_unref() when done.
*/ */
GIVFuncInfo * GIVFuncInfo *
g_function_info_get_vfunc (GIFunctionInfo *info) gi_function_info_get_vfunc (GIFunctionInfo *info)
{ {
GIRealInfo *rinfo; GIRealInfo *rinfo;
FunctionBlob *blob; FunctionBlob *blob;
@ -209,27 +209,27 @@ g_function_info_get_vfunc (GIFunctionInfo *info)
blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
container = (GIInterfaceInfo *)rinfo->container; container = (GIInterfaceInfo *)rinfo->container;
return g_interface_info_get_vfunc (container, blob->index); return gi_interface_info_get_vfunc (container, blob->index);
} }
/** /**
* g_invoke_error_quark: * gi_invoke_error_quark:
* *
* TODO * TODO
* *
* Returns: TODO * Returns: TODO
*/ */
GQuark GQuark
g_invoke_error_quark (void) gi_invoke_error_quark (void)
{ {
static GQuark quark = 0; static GQuark quark = 0;
if (quark == 0) if (quark == 0)
quark = g_quark_from_static_string ("g-invoke-error-quark"); quark = g_quark_from_static_string ("gi-invoke-error-quark");
return quark; return quark;
} }
/** /**
* g_function_info_invoke: (skip) * gi_function_info_invoke: (skip)
* @info: a #GIFunctionInfo describing the function to invoke * @info: a #GIFunctionInfo describing the function to invoke
* @in_args: (array length=n_in_args): an array of #GIArgument<!-- -->s, one for each in * @in_args: (array length=n_in_args): an array of #GIArgument<!-- -->s, one for each in
* parameter of @info. If there are no in parameter, @in_args * parameter of @info. If there are no in parameter, @in_args
@ -254,7 +254,7 @@ g_invoke_error_quark (void)
* error occurred. * error occurred.
*/ */
gboolean gboolean
g_function_info_invoke (GIFunctionInfo *info, gi_function_info_invoke (GIFunctionInfo *info,
const GIArgument *in_args, const GIArgument *in_args,
int n_in_args, int n_in_args,
const GIArgument *out_args, const GIArgument *out_args,
@ -267,24 +267,24 @@ g_function_info_invoke (GIFunctionInfo *info,
gboolean is_method; gboolean is_method;
gboolean throws; gboolean throws;
symbol = g_function_info_get_symbol (info); symbol = gi_function_info_get_symbol (info);
if (!g_typelib_symbol (g_base_info_get_typelib((GIBaseInfo *) info), if (!gi_typelib_symbol (gi_base_info_get_typelib ((GIBaseInfo *) info),
symbol, &func)) symbol, &func))
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_SYMBOL_NOT_FOUND, GI_INVOKE_ERROR_SYMBOL_NOT_FOUND,
"Could not locate %s: %s", symbol, g_module_error ()); "Could not locate %s: %s", symbol, g_module_error ());
return FALSE; return FALSE;
} }
is_method = (g_function_info_get_flags (info) & GI_FUNCTION_IS_METHOD) != 0 is_method = (gi_function_info_get_flags (info) & GI_FUNCTION_IS_METHOD) != 0
&& (g_function_info_get_flags (info) & GI_FUNCTION_IS_CONSTRUCTOR) == 0; && (gi_function_info_get_flags (info) & GI_FUNCTION_IS_CONSTRUCTOR) == 0;
throws = g_function_info_get_flags (info) & GI_FUNCTION_THROWS; throws = gi_function_info_get_flags (info) & GI_FUNCTION_THROWS;
return g_callable_info_invoke ((GICallableInfo*) info, return gi_callable_info_invoke ((GICallableInfo*) info,
func, func,
in_args, in_args,
n_in_args, n_in_args,

View File

@ -39,53 +39,53 @@ G_BEGIN_DECLS
* Checks if @info is a #GIFunctionInfo. * Checks if @info is a #GIFunctionInfo.
*/ */
#define GI_IS_FUNCTION_INFO(info) \ #define GI_IS_FUNCTION_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FUNCTION) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FUNCTION)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_function_info_get_symbol (GIFunctionInfo *info); const gchar * gi_function_info_get_symbol (GIFunctionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfoFlags g_function_info_get_flags (GIFunctionInfo *info); GIFunctionInfoFlags gi_function_info_get_flags (GIFunctionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIPropertyInfo * g_function_info_get_property (GIFunctionInfo *info); GIPropertyInfo * gi_function_info_get_property (GIFunctionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfo * g_function_info_get_vfunc (GIFunctionInfo *info); GIVFuncInfo * gi_function_info_get_vfunc (GIFunctionInfo *info);
/** /**
* G_INVOKE_ERROR: * GI_INVOKE_ERROR:
* *
* TODO * TODO
*/ */
#define G_INVOKE_ERROR (g_invoke_error_quark ()) #define GI_INVOKE_ERROR (gi_invoke_error_quark ())
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GQuark g_invoke_error_quark (void); GQuark gi_invoke_error_quark (void);
/** /**
* GInvokeError: * GIInvokeError:
* @G_INVOKE_ERROR_FAILED: invokation failed, unknown error. * @GI_INVOKE_ERROR_FAILED: invokation failed, unknown error.
* @G_INVOKE_ERROR_SYMBOL_NOT_FOUND: symbol couldn't be found in any of the * @GI_INVOKE_ERROR_SYMBOL_NOT_FOUND: symbol couldn't be found in any of the
* libraries associated with the typelib of the function. * libraries associated with the typelib of the function.
* @G_INVOKE_ERROR_ARGUMENT_MISMATCH: the arguments provided didn't match * @GI_INVOKE_ERROR_ARGUMENT_MISMATCH: the arguments provided didn't match
* the expected arguments for the functions type signature. * the expected arguments for the functions type signature.
* *
* An error occuring while invoking a function via * An error occuring while invoking a function via
* g_function_info_invoke(). * gi_function_info_invoke().
*/ */
typedef enum typedef enum
{ {
G_INVOKE_ERROR_FAILED, GI_INVOKE_ERROR_FAILED,
G_INVOKE_ERROR_SYMBOL_NOT_FOUND, GI_INVOKE_ERROR_SYMBOL_NOT_FOUND,
G_INVOKE_ERROR_ARGUMENT_MISMATCH GI_INVOKE_ERROR_ARGUMENT_MISMATCH
} GInvokeError; } GIInvokeError;
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_function_info_invoke (GIFunctionInfo *info, gboolean gi_function_info_invoke (GIFunctionInfo *info,
const GIArgument *in_args, const GIArgument *in_args,
int n_in_args, int n_in_args,
const GIArgument *out_args, const GIArgument *out_args,

View File

@ -43,7 +43,7 @@
*/ */
/** /**
* g_interface_info_get_n_prerequisites: * gi_interface_info_get_n_prerequisites:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* *
* Obtain the number of prerequisites for this interface type. * Obtain the number of prerequisites for this interface type.
@ -53,7 +53,7 @@
* Returns: number of prerequisites * Returns: number of prerequisites
*/ */
gint gint
g_interface_info_get_n_prerequisites (GIInterfaceInfo *info) gi_interface_info_get_n_prerequisites (GIInterfaceInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -67,17 +67,17 @@ g_interface_info_get_n_prerequisites (GIInterfaceInfo *info)
} }
/** /**
* g_interface_info_get_prerequisite: * gi_interface_info_get_prerequisite:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @n: index of prerequisites to get * @n: index of prerequisites to get
* *
* Obtain an interface type prerequisites index @n. * Obtain an interface type prerequisites index @n.
* *
* Returns: (transfer full): the prerequisites as a #GIBaseInfo. Free the struct by calling * Returns: (transfer full): the prerequisites as a #GIBaseInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIBaseInfo * GIBaseInfo *
g_interface_info_get_prerequisite (GIInterfaceInfo *info, gi_interface_info_get_prerequisite (GIInterfaceInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -88,13 +88,13 @@ g_interface_info_get_prerequisite (GIInterfaceInfo *info,
blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset];
return _g_info_from_entry (rinfo->repository, return gi_info_from_entry (rinfo->repository,
rinfo->typelib, blob->prerequisites[n]); rinfo->typelib, blob->prerequisites[n]);
} }
/** /**
* g_interface_info_get_n_properties: * gi_interface_info_get_n_properties:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* *
* Obtain the number of properties that this interface type has. * Obtain the number of properties that this interface type has.
@ -102,7 +102,7 @@ g_interface_info_get_prerequisite (GIInterfaceInfo *info,
* Returns: number of properties * Returns: number of properties
*/ */
gint gint
g_interface_info_get_n_properties (GIInterfaceInfo *info) gi_interface_info_get_n_properties (GIInterfaceInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -116,17 +116,17 @@ g_interface_info_get_n_properties (GIInterfaceInfo *info)
} }
/** /**
* g_interface_info_get_property: * gi_interface_info_get_property:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @n: index of property to get * @n: index of property to get
* *
* Obtain an interface type property at index @n. * Obtain an interface type property at index @n.
* *
* Returns: (transfer full): the #GIPropertyInfo. Free the struct by calling * Returns: (transfer full): the #GIPropertyInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIPropertyInfo * GIPropertyInfo *
g_interface_info_get_property (GIInterfaceInfo *info, gi_interface_info_get_property (GIInterfaceInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -144,12 +144,12 @@ g_interface_info_get_property (GIInterfaceInfo *info,
+ (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2
+ n * header->property_blob_size; + n * header->property_blob_size;
return (GIPropertyInfo *) g_info_new (GI_INFO_TYPE_PROPERTY, (GIBaseInfo*)info, return (GIPropertyInfo *) gi_info_new (GI_INFO_TYPE_PROPERTY, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_interface_info_get_n_methods: * gi_interface_info_get_n_methods:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* *
* Obtain the number of methods that this interface type has. * Obtain the number of methods that this interface type has.
@ -157,7 +157,7 @@ g_interface_info_get_property (GIInterfaceInfo *info,
* Returns: number of methods * Returns: number of methods
*/ */
gint gint
g_interface_info_get_n_methods (GIInterfaceInfo *info) gi_interface_info_get_n_methods (GIInterfaceInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -171,17 +171,17 @@ g_interface_info_get_n_methods (GIInterfaceInfo *info)
} }
/** /**
* g_interface_info_get_method: * gi_interface_info_get_method:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @n: index of method to get * @n: index of method to get
* *
* Obtain an interface type method at index @n. * Obtain an interface type method at index @n.
* *
* Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling * Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_interface_info_get_method (GIInterfaceInfo *info, gi_interface_info_get_method (GIInterfaceInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -200,12 +200,12 @@ g_interface_info_get_method (GIInterfaceInfo *info,
+ blob->n_properties * header->property_blob_size + blob->n_properties * header->property_blob_size
+ n * header->function_blob_size; + n * header->function_blob_size;
return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_interface_info_find_method: * gi_interface_info_find_method:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @name: name of method to obtain * @name: name of method to obtain
* *
@ -213,10 +213,10 @@ g_interface_info_get_method (GIInterfaceInfo *info,
* returned if there's no method available with that name. * returned if there's no method available with that name.
* *
* Returns: (transfer full): the #GIFunctionInfo or %NULL if none found. * Returns: (transfer full): the #GIFunctionInfo or %NULL if none found.
* Free the struct by calling g_base_info_unref() when done. * Free the struct by calling gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_interface_info_find_method (GIInterfaceInfo *info, gi_interface_info_find_method (GIInterfaceInfo *info,
const gchar *name) const gchar *name)
{ {
gint offset; gint offset;
@ -228,11 +228,11 @@ g_interface_info_find_method (GIInterfaceInfo *info,
+ (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2
+ blob->n_properties * header->property_blob_size; + blob->n_properties * header->property_blob_size;
return _g_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_methods, name); return gi_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_methods, name);
} }
/** /**
* g_interface_info_get_n_signals: * gi_interface_info_get_n_signals:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* *
* Obtain the number of signals that this interface type has. * Obtain the number of signals that this interface type has.
@ -240,7 +240,7 @@ g_interface_info_find_method (GIInterfaceInfo *info,
* Returns: number of signals * Returns: number of signals
*/ */
gint gint
g_interface_info_get_n_signals (GIInterfaceInfo *info) gi_interface_info_get_n_signals (GIInterfaceInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -254,17 +254,17 @@ g_interface_info_get_n_signals (GIInterfaceInfo *info)
} }
/** /**
* g_interface_info_get_signal: * gi_interface_info_get_signal:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @n: index of signal to get * @n: index of signal to get
* *
* Obtain an interface type signal at index @n. * Obtain an interface type signal at index @n.
* *
* Returns: (transfer full): the #GISignalInfo. Free the struct by calling * Returns: (transfer full): the #GISignalInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GISignalInfo * GISignalInfo *
g_interface_info_get_signal (GIInterfaceInfo *info, gi_interface_info_get_signal (GIInterfaceInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -284,12 +284,12 @@ g_interface_info_get_signal (GIInterfaceInfo *info,
+ blob->n_methods * header->function_blob_size + blob->n_methods * header->function_blob_size
+ n * header->signal_blob_size; + n * header->signal_blob_size;
return (GISignalInfo *) g_info_new (GI_INFO_TYPE_SIGNAL, (GIBaseInfo*)info, return (GISignalInfo *) gi_info_new (GI_INFO_TYPE_SIGNAL, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_interface_info_find_signal: * gi_interface_info_find_signal:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @name: Name of signal * @name: Name of signal
* *
@ -300,20 +300,20 @@ g_interface_info_get_signal (GIInterfaceInfo *info,
* Since: 1.34 * Since: 1.34
*/ */
GISignalInfo * GISignalInfo *
g_interface_info_find_signal (GIInterfaceInfo *info, gi_interface_info_find_signal (GIInterfaceInfo *info,
const gchar *name) const gchar *name)
{ {
gint n_signals; gint n_signals;
gint i; gint i;
n_signals = g_interface_info_get_n_signals (info); n_signals = gi_interface_info_get_n_signals (info);
for (i = 0; i < n_signals; i++) for (i = 0; i < n_signals; i++)
{ {
GISignalInfo *siginfo = g_interface_info_get_signal (info, i); GISignalInfo *siginfo = gi_interface_info_get_signal (info, i);
if (g_strcmp0 (g_base_info_get_name (siginfo), name) != 0) if (g_strcmp0 (gi_base_info_get_name (siginfo), name) != 0)
{ {
g_base_info_unref ((GIBaseInfo*)siginfo); gi_base_info_unref ((GIBaseInfo*)siginfo);
continue; continue;
} }
@ -323,7 +323,7 @@ g_interface_info_find_signal (GIInterfaceInfo *info,
} }
/** /**
* g_interface_info_get_n_vfuncs: * gi_interface_info_get_n_vfuncs:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* *
* Obtain the number of virtual functions that this interface type has. * Obtain the number of virtual functions that this interface type has.
@ -331,7 +331,7 @@ g_interface_info_find_signal (GIInterfaceInfo *info,
* Returns: number of virtual functions * Returns: number of virtual functions
*/ */
gint gint
g_interface_info_get_n_vfuncs (GIInterfaceInfo *info) gi_interface_info_get_n_vfuncs (GIInterfaceInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -345,17 +345,17 @@ g_interface_info_get_n_vfuncs (GIInterfaceInfo *info)
} }
/** /**
* g_interface_info_get_vfunc: * gi_interface_info_get_vfunc:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @n: index of virtual function to get * @n: index of virtual function to get
* *
* Obtain an interface type virtual function at index @n. * Obtain an interface type virtual function at index @n.
* *
* Returns: (transfer full): the #GIVFuncInfo. Free the struct by calling * Returns: (transfer full): the #GIVFuncInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIVFuncInfo * GIVFuncInfo *
g_interface_info_get_vfunc (GIInterfaceInfo *info, gi_interface_info_get_vfunc (GIInterfaceInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -376,23 +376,23 @@ g_interface_info_get_vfunc (GIInterfaceInfo *info,
+ blob->n_signals * header->signal_blob_size + blob->n_signals * header->signal_blob_size
+ n * header->vfunc_blob_size; + n * header->vfunc_blob_size;
return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*)info, return (GIVFuncInfo *) gi_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_interface_info_find_vfunc: * gi_interface_info_find_vfunc:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @name: The name of a virtual function to find. * @name: The name of a virtual function to find.
* *
* Locate a virtual function slot with name @name. See the documentation * Locate a virtual function slot with name @name. See the documentation
* for g_object_info_find_vfunc() for more information on virtuals. * for gi_object_info_find_vfunc() for more information on virtuals.
* *
* Returns: (transfer full): the #GIVFuncInfo, or %NULL. Free it with * Returns: (transfer full): the #GIVFuncInfo, or %NULL. Free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIVFuncInfo * GIVFuncInfo *
g_interface_info_find_vfunc (GIInterfaceInfo *info, gi_interface_info_find_vfunc (GIInterfaceInfo *info,
const gchar *name) const gchar *name)
{ {
gint offset; gint offset;
@ -412,11 +412,11 @@ g_interface_info_find_vfunc (GIInterfaceInfo *info,
+ blob->n_methods * header->function_blob_size + blob->n_methods * header->function_blob_size
+ blob->n_signals * header->signal_blob_size; + blob->n_signals * header->signal_blob_size;
return _g_base_info_find_vfunc (rinfo, offset, blob->n_vfuncs, name); return gi_base_info_find_vfunc (rinfo, offset, blob->n_vfuncs, name);
} }
/** /**
* g_interface_info_get_n_constants: * gi_interface_info_get_n_constants:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* *
* Obtain the number of constants that this interface type has. * Obtain the number of constants that this interface type has.
@ -424,7 +424,7 @@ g_interface_info_find_vfunc (GIInterfaceInfo *info,
* Returns: number of constants * Returns: number of constants
*/ */
gint gint
g_interface_info_get_n_constants (GIInterfaceInfo *info) gi_interface_info_get_n_constants (GIInterfaceInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -438,17 +438,17 @@ g_interface_info_get_n_constants (GIInterfaceInfo *info)
} }
/** /**
* g_interface_info_get_constant: * gi_interface_info_get_constant:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* @n: index of constant to get * @n: index of constant to get
* *
* Obtain an interface type constant at index @n. * Obtain an interface type constant at index @n.
* *
* Returns: (transfer full): the #GIConstantInfo. Free the struct by calling * Returns: (transfer full): the #GIConstantInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIConstantInfo * GIConstantInfo *
g_interface_info_get_constant (GIInterfaceInfo *info, gi_interface_info_get_constant (GIInterfaceInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -470,21 +470,21 @@ g_interface_info_get_constant (GIInterfaceInfo *info,
+ blob->n_vfuncs * header->vfunc_blob_size + blob->n_vfuncs * header->vfunc_blob_size
+ n * header->constant_blob_size; + n * header->constant_blob_size;
return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info, return (GIConstantInfo *) gi_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_interface_info_get_iface_struct: * gi_interface_info_get_iface_struct:
* @info: a #GIInterfaceInfo * @info: a #GIInterfaceInfo
* *
* Returns the layout C structure associated with this #GInterface. * Returns the layout C structure associated with this #GInterface.
* *
* Returns: (transfer full): the #GIStructInfo or %NULL. Free it with * Returns: (transfer full): the #GIStructInfo or %NULL. Free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIStructInfo * GIStructInfo *
g_interface_info_get_iface_struct (GIInterfaceInfo *info) gi_interface_info_get_iface_struct (GIInterfaceInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -495,7 +495,7 @@ g_interface_info_get_iface_struct (GIInterfaceInfo *info)
blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->gtype_struct) if (blob->gtype_struct)
return (GIStructInfo *) _g_info_from_entry (rinfo->repository, return (GIStructInfo *) gi_info_from_entry (rinfo->repository,
rinfo->typelib, blob->gtype_struct); rinfo->typelib, blob->gtype_struct);
else else
return NULL; return NULL;

View File

@ -39,65 +39,65 @@ G_BEGIN_DECLS
* Checks if @info is a #GIInterfaceInfo. * Checks if @info is a #GIInterfaceInfo.
*/ */
#define GI_IS_INTERFACE_INFO(info) \ #define GI_IS_INTERFACE_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_interface_info_get_n_prerequisites (GIInterfaceInfo *info); gint gi_interface_info_get_n_prerequisites (GIInterfaceInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_interface_info_get_prerequisite (GIInterfaceInfo *info, GIBaseInfo * gi_interface_info_get_prerequisite (GIInterfaceInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_interface_info_get_n_properties (GIInterfaceInfo *info); gint gi_interface_info_get_n_properties (GIInterfaceInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIPropertyInfo * g_interface_info_get_property (GIInterfaceInfo *info, GIPropertyInfo * gi_interface_info_get_property (GIInterfaceInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_interface_info_get_n_methods (GIInterfaceInfo *info); gint gi_interface_info_get_n_methods (GIInterfaceInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_interface_info_get_method (GIInterfaceInfo *info, GIFunctionInfo * gi_interface_info_get_method (GIInterfaceInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_interface_info_find_method (GIInterfaceInfo *info, GIFunctionInfo * gi_interface_info_find_method (GIInterfaceInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_interface_info_get_n_signals (GIInterfaceInfo *info); gint gi_interface_info_get_n_signals (GIInterfaceInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GISignalInfo * g_interface_info_get_signal (GIInterfaceInfo *info, GISignalInfo * gi_interface_info_get_signal (GIInterfaceInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GISignalInfo * g_interface_info_find_signal (GIInterfaceInfo *info, GISignalInfo * gi_interface_info_find_signal (GIInterfaceInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_interface_info_get_n_vfuncs (GIInterfaceInfo *info); gint gi_interface_info_get_n_vfuncs (GIInterfaceInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfo * g_interface_info_get_vfunc (GIInterfaceInfo *info, GIVFuncInfo * gi_interface_info_get_vfunc (GIInterfaceInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfo * g_interface_info_find_vfunc (GIInterfaceInfo *info, GIVFuncInfo * gi_interface_info_find_vfunc (GIInterfaceInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_interface_info_get_n_constants (GIInterfaceInfo *info); gint gi_interface_info_get_n_constants (GIInterfaceInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIConstantInfo * g_interface_info_get_constant (GIInterfaceInfo *info, GIConstantInfo * gi_interface_info_get_constant (GIInterfaceInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIStructInfo * g_interface_info_get_iface_struct (GIInterfaceInfo *info); GIStructInfo * gi_interface_info_get_iface_struct (GIInterfaceInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -49,7 +49,7 @@
*/ */
/** /**
* g_object_info_get_field_offset: * gi_object_info_get_field_offset:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of queried field * @n: index of queried field
* *
@ -58,7 +58,7 @@
* Returns: field offset in bytes * Returns: field offset in bytes
*/ */
static gint32 static gint32
g_object_info_get_field_offset (GIObjectInfo *info, gi_object_info_get_field_offset (GIObjectInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -83,16 +83,16 @@ g_object_info_get_field_offset (GIObjectInfo *info,
} }
/** /**
* g_object_info_get_parent: * gi_object_info_get_parent:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the parent of the object type. * Obtain the parent of the object type.
* *
* Returns: (transfer full) (nullable): the #GIObjectInfo. Free the struct by calling * Returns: (transfer full) (nullable): the #GIObjectInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIObjectInfo * GIObjectInfo *
g_object_info_get_parent (GIObjectInfo *info) gi_object_info_get_parent (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -103,14 +103,14 @@ g_object_info_get_parent (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->parent) if (blob->parent)
return (GIObjectInfo *) _g_info_from_entry (rinfo->repository, return (GIObjectInfo *) gi_info_from_entry (rinfo->repository,
rinfo->typelib, blob->parent); rinfo->typelib, blob->parent);
else else
return NULL; return NULL;
} }
/** /**
* g_object_info_get_abstract: * gi_object_info_get_abstract:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain if the object type is an abstract type, eg if it cannot be * Obtain if the object type is an abstract type, eg if it cannot be
@ -119,7 +119,7 @@ g_object_info_get_parent (GIObjectInfo *info)
* Returns: %TRUE if the object type is abstract * Returns: %TRUE if the object type is abstract
*/ */
gboolean gboolean
g_object_info_get_abstract (GIObjectInfo *info) gi_object_info_get_abstract (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -133,7 +133,7 @@ g_object_info_get_abstract (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_final: * gi_object_info_get_final:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Checks whether the object type is a final type, i.e. if it cannot * Checks whether the object type is a final type, i.e. if it cannot
@ -144,7 +144,7 @@ g_object_info_get_abstract (GIObjectInfo *info)
* Since: 1.70 * Since: 1.70
*/ */
gboolean gboolean
g_object_info_get_final (GIObjectInfo *info) gi_object_info_get_final (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *) info; GIRealInfo *rinfo = (GIRealInfo *) info;
ObjectBlob *blob; ObjectBlob *blob;
@ -158,7 +158,7 @@ g_object_info_get_final (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_fundamental: * gi_object_info_get_fundamental:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain if the object type is of a fundamental type which is not * Obtain if the object type is of a fundamental type which is not
@ -167,7 +167,7 @@ g_object_info_get_final (GIObjectInfo *info)
* Returns: %TRUE if the object type is a fundamental type * Returns: %TRUE if the object type is a fundamental type
*/ */
gboolean gboolean
g_object_info_get_fundamental (GIObjectInfo *info) gi_object_info_get_fundamental (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -181,7 +181,7 @@ g_object_info_get_fundamental (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_type_name: * gi_object_info_get_type_name:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the name of the objects class/type. * Obtain the name of the objects class/type.
@ -189,7 +189,7 @@ g_object_info_get_fundamental (GIObjectInfo *info)
* Returns: name of the objects type * Returns: name of the objects type
*/ */
const gchar * const gchar *
g_object_info_get_type_name (GIObjectInfo *info) gi_object_info_get_type_name (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -199,11 +199,11 @@ g_object_info_get_type_name (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->gtype_name); return gi_typelib_get_string (rinfo->typelib, blob->gtype_name);
} }
/** /**
* g_object_info_get_type_init: * gi_object_info_get_type_init:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the function which when called will return the GType * Obtain the function which when called will return the GType
@ -212,7 +212,7 @@ g_object_info_get_type_name (GIObjectInfo *info)
* Returns: the type init function * Returns: the type init function
*/ */
const gchar * const gchar *
g_object_info_get_type_init (GIObjectInfo *info) gi_object_info_get_type_init (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -222,11 +222,11 @@ g_object_info_get_type_init (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->gtype_init); return gi_typelib_get_string (rinfo->typelib, blob->gtype_init);
} }
/** /**
* g_object_info_get_n_interfaces: * gi_object_info_get_n_interfaces:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the number of interfaces that this object type has. * Obtain the number of interfaces that this object type has.
@ -234,7 +234,7 @@ g_object_info_get_type_init (GIObjectInfo *info)
* Returns: number of interfaces * Returns: number of interfaces
*/ */
gint gint
g_object_info_get_n_interfaces (GIObjectInfo *info) gi_object_info_get_n_interfaces (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -248,17 +248,17 @@ g_object_info_get_n_interfaces (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_interface: * gi_object_info_get_interface:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of interface to get * @n: index of interface to get
* *
* Obtain an object type interface at index @n. * Obtain an object type interface at index @n.
* *
* Returns: (transfer full): the #GIInterfaceInfo. Free the struct by calling * Returns: (transfer full): the #GIInterfaceInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIInterfaceInfo * GIInterfaceInfo *
g_object_info_get_interface (GIObjectInfo *info, gi_object_info_get_interface (GIObjectInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -269,12 +269,12 @@ g_object_info_get_interface (GIObjectInfo *info,
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
return (GIInterfaceInfo *) _g_info_from_entry (rinfo->repository, return (GIInterfaceInfo *) gi_info_from_entry (rinfo->repository,
rinfo->typelib, blob->interfaces[n]); rinfo->typelib, blob->interfaces[n]);
} }
/** /**
* g_object_info_get_n_fields: * gi_object_info_get_n_fields:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the number of fields that this object type has. * Obtain the number of fields that this object type has.
@ -282,7 +282,7 @@ g_object_info_get_interface (GIObjectInfo *info,
* Returns: number of fields * Returns: number of fields
*/ */
gint gint
g_object_info_get_n_fields (GIObjectInfo *info) gi_object_info_get_n_fields (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -296,17 +296,17 @@ g_object_info_get_n_fields (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_field: * gi_object_info_get_field:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of field to get * @n: index of field to get
* *
* Obtain an object type field at index @n. * Obtain an object type field at index @n.
* *
* Returns: (transfer full): the #GIFieldInfo. Free the struct by calling * Returns: (transfer full): the #GIFieldInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIFieldInfo * GIFieldInfo *
g_object_info_get_field (GIObjectInfo *info, gi_object_info_get_field (GIObjectInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -315,13 +315,13 @@ g_object_info_get_field (GIObjectInfo *info,
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL); g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL);
offset = g_object_info_get_field_offset(info, n); offset = gi_object_info_get_field_offset(info, n);
return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib, offset); return (GIFieldInfo *) gi_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib, offset);
} }
/** /**
* g_object_info_get_n_properties: * gi_object_info_get_n_properties:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the number of properties that this object type has. * Obtain the number of properties that this object type has.
@ -329,7 +329,7 @@ g_object_info_get_field (GIObjectInfo *info,
* Returns: number of properties * Returns: number of properties
*/ */
gint gint
g_object_info_get_n_properties (GIObjectInfo *info) gi_object_info_get_n_properties (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -342,17 +342,17 @@ g_object_info_get_n_properties (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_property: * gi_object_info_get_property:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of property to get * @n: index of property to get
* *
* Obtain an object type property at index @n. * Obtain an object type property at index @n.
* *
* Returns: (transfer full): the #GIPropertyInfo. Free the struct by calling * Returns: (transfer full): the #GIPropertyInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIPropertyInfo * GIPropertyInfo *
g_object_info_get_property (GIObjectInfo *info, gi_object_info_get_property (GIObjectInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -372,12 +372,12 @@ g_object_info_get_property (GIObjectInfo *info,
+ blob->n_field_callbacks * header->callback_blob_size + blob->n_field_callbacks * header->callback_blob_size
+ n * header->property_blob_size; + n * header->property_blob_size;
return (GIPropertyInfo *) g_info_new (GI_INFO_TYPE_PROPERTY, (GIBaseInfo*)info, return (GIPropertyInfo *) gi_info_new (GI_INFO_TYPE_PROPERTY, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_object_info_get_n_methods: * gi_object_info_get_n_methods:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the number of methods that this object type has. * Obtain the number of methods that this object type has.
@ -385,7 +385,7 @@ g_object_info_get_property (GIObjectInfo *info,
* Returns: number of methods * Returns: number of methods
*/ */
gint gint
g_object_info_get_n_methods (GIObjectInfo *info) gi_object_info_get_n_methods (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -399,17 +399,17 @@ g_object_info_get_n_methods (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_method: * gi_object_info_get_method:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of method to get * @n: index of method to get
* *
* Obtain an object type method at index @n. * Obtain an object type method at index @n.
* *
* Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling * Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_object_info_get_method (GIObjectInfo *info, gi_object_info_get_method (GIObjectInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -431,12 +431,12 @@ g_object_info_get_method (GIObjectInfo *info,
+ blob->n_properties * header->property_blob_size + blob->n_properties * header->property_blob_size
+ n * header->function_blob_size; + n * header->function_blob_size;
return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_object_info_find_method: * gi_object_info_find_method:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @name: name of method to obtain * @name: name of method to obtain
* *
@ -444,10 +444,10 @@ g_object_info_get_method (GIObjectInfo *info,
* returned if there's no method available with that name. * returned if there's no method available with that name.
* *
* Returns: (transfer full) (nullable): the #GIFunctionInfo. Free the struct by calling * Returns: (transfer full) (nullable): the #GIFunctionInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_object_info_find_method (GIObjectInfo *info, gi_object_info_find_method (GIObjectInfo *info,
const gchar *name) const gchar *name)
{ {
gint offset; gint offset;
@ -467,11 +467,11 @@ g_object_info_find_method (GIObjectInfo *info,
+ blob->n_field_callbacks * header->callback_blob_size + blob->n_field_callbacks * header->callback_blob_size
+ blob->n_properties * header->property_blob_size; + blob->n_properties * header->property_blob_size;
return _g_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_methods, name); return gi_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_methods, name);
} }
/** /**
* g_object_info_find_method_using_interfaces: * gi_object_info_find_method_using_interfaces:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @name: name of method to obtain * @name: name of method to obtain
* @implementor: (out) (transfer full): The implementor of the interface * @implementor: (out) (transfer full): The implementor of the interface
@ -484,51 +484,51 @@ g_object_info_find_method (GIObjectInfo *info,
* to chain up if that's desired. * to chain up if that's desired.
* *
* Returns: (transfer full) (nullable): the #GIFunctionInfo. Free the struct by calling * Returns: (transfer full) (nullable): the #GIFunctionInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_object_info_find_method_using_interfaces (GIObjectInfo *info, gi_object_info_find_method_using_interfaces (GIObjectInfo *info,
const gchar *name, const gchar *name,
GIObjectInfo **implementor) GIObjectInfo **implementor)
{ {
GIFunctionInfo *result = NULL; GIFunctionInfo *result = NULL;
GIObjectInfo *implementor_result = NULL; GIObjectInfo *implementor_result = NULL;
result = g_object_info_find_method (info, name); result = gi_object_info_find_method (info, name);
if (result) if (result)
implementor_result = g_base_info_ref ((GIBaseInfo*) info); implementor_result = gi_base_info_ref ((GIBaseInfo*) info);
if (result == NULL) if (result == NULL)
{ {
int n_interfaces; int n_interfaces;
int i; int i;
n_interfaces = g_object_info_get_n_interfaces (info); n_interfaces = gi_object_info_get_n_interfaces (info);
for (i = 0; i < n_interfaces; ++i) for (i = 0; i < n_interfaces; ++i)
{ {
GIInterfaceInfo *iface_info; GIInterfaceInfo *iface_info;
iface_info = g_object_info_get_interface (info, i); iface_info = gi_object_info_get_interface (info, i);
result = g_interface_info_find_method (iface_info, name); result = gi_interface_info_find_method (iface_info, name);
if (result != NULL) if (result != NULL)
{ {
implementor_result = iface_info; implementor_result = iface_info;
break; break;
} }
g_base_info_unref ((GIBaseInfo*) iface_info); gi_base_info_unref ((GIBaseInfo*) iface_info);
} }
} }
if (implementor) if (implementor)
*implementor = implementor_result; *implementor = implementor_result;
else if (implementor_result != NULL) else if (implementor_result != NULL)
g_base_info_unref ((GIBaseInfo*) implementor_result); gi_base_info_unref ((GIBaseInfo*) implementor_result);
return result; return result;
} }
/** /**
* g_object_info_get_n_signals: * gi_object_info_get_n_signals:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the number of signals that this object type has. * Obtain the number of signals that this object type has.
@ -536,7 +536,7 @@ g_object_info_find_method_using_interfaces (GIObjectInfo *info,
* Returns: number of signals * Returns: number of signals
*/ */
gint gint
g_object_info_get_n_signals (GIObjectInfo *info) gi_object_info_get_n_signals (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -550,17 +550,17 @@ g_object_info_get_n_signals (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_signal: * gi_object_info_get_signal:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of signal to get * @n: index of signal to get
* *
* Obtain an object type signal at index @n. * Obtain an object type signal at index @n.
* *
* Returns: (transfer full): the #GISignalInfo. Free the struct by calling * Returns: (transfer full): the #GISignalInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GISignalInfo * GISignalInfo *
g_object_info_get_signal (GIObjectInfo *info, gi_object_info_get_signal (GIObjectInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -582,12 +582,12 @@ g_object_info_get_signal (GIObjectInfo *info,
+ blob->n_methods * header->function_blob_size + blob->n_methods * header->function_blob_size
+ n * header->signal_blob_size; + n * header->signal_blob_size;
return (GISignalInfo *) g_info_new (GI_INFO_TYPE_SIGNAL, (GIBaseInfo*)info, return (GISignalInfo *) gi_info_new (GI_INFO_TYPE_SIGNAL, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_object_info_find_signal: * gi_object_info_find_signal:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @name: Name of signal * @name: Name of signal
* *
@ -596,20 +596,20 @@ g_object_info_get_signal (GIObjectInfo *info,
* Returns: (transfer full) (nullable): Info for the signal with name @name in @info, or %NULL on failure. * Returns: (transfer full) (nullable): Info for the signal with name @name in @info, or %NULL on failure.
*/ */
GISignalInfo * GISignalInfo *
g_object_info_find_signal (GIObjectInfo *info, gi_object_info_find_signal (GIObjectInfo *info,
const gchar *name) const gchar *name)
{ {
gint n_signals; gint n_signals;
gint i; gint i;
n_signals = g_object_info_get_n_signals (info); n_signals = gi_object_info_get_n_signals (info);
for (i = 0; i < n_signals; i++) for (i = 0; i < n_signals; i++)
{ {
GISignalInfo *siginfo = g_object_info_get_signal (info, i); GISignalInfo *siginfo = gi_object_info_get_signal (info, i);
if (g_strcmp0 (g_base_info_get_name (siginfo), name) != 0) if (g_strcmp0 (gi_base_info_get_name (siginfo), name) != 0)
{ {
g_base_info_unref ((GIBaseInfo*)siginfo); gi_base_info_unref ((GIBaseInfo*)siginfo);
continue; continue;
} }
@ -620,7 +620,7 @@ g_object_info_find_signal (GIObjectInfo *info,
/** /**
* g_object_info_get_n_vfuncs: * gi_object_info_get_n_vfuncs:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the number of virtual functions that this object type has. * Obtain the number of virtual functions that this object type has.
@ -628,7 +628,7 @@ g_object_info_find_signal (GIObjectInfo *info,
* Returns: number of virtual functions * Returns: number of virtual functions
*/ */
gint gint
g_object_info_get_n_vfuncs (GIObjectInfo *info) gi_object_info_get_n_vfuncs (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -642,17 +642,17 @@ g_object_info_get_n_vfuncs (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_vfunc: * gi_object_info_get_vfunc:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of virtual function to get * @n: index of virtual function to get
* *
* Obtain an object type virtual function at index @n. * Obtain an object type virtual function at index @n.
* *
* Returns: (transfer full): the #GIVFuncInfo. Free the struct by calling * Returns: (transfer full): the #GIVFuncInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIVFuncInfo * GIVFuncInfo *
g_object_info_get_vfunc (GIObjectInfo *info, gi_object_info_get_vfunc (GIObjectInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -675,28 +675,28 @@ g_object_info_get_vfunc (GIObjectInfo *info,
+ blob->n_signals * header->signal_blob_size + blob->n_signals * header->signal_blob_size
+ n * header->vfunc_blob_size; + n * header->vfunc_blob_size;
return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*)info, return (GIVFuncInfo *) gi_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_object_info_find_vfunc: * gi_object_info_find_vfunc:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @name: The name of a virtual function to find. * @name: The name of a virtual function to find.
* *
* Locate a virtual function slot with name @name. Note that the namespace * Locate a virtual function slot with name @name. Note that the namespace
* for virtuals is distinct from that of methods; there may or may not be * for virtuals is distinct from that of methods; there may or may not be
* a concrete method associated for a virtual. If there is one, it may * a concrete method associated for a virtual. If there is one, it may
* be retrieved using g_vfunc_info_get_invoker(), otherwise %NULL will be * be retrieved using gi_vfunc_info_get_invoker(), otherwise %NULL will be
* returned. * returned.
* See the documentation for g_vfunc_info_get_invoker() for more * See the documentation for gi_vfunc_info_get_invoker() for more
* information on invoking virtuals. * information on invoking virtuals.
* *
* Returns: (transfer full) (nullable): the #GIVFuncInfo, or %NULL. Free it with * Returns: (transfer full) (nullable): the #GIVFuncInfo, or %NULL. Free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIVFuncInfo * GIVFuncInfo *
g_object_info_find_vfunc (GIObjectInfo *info, gi_object_info_find_vfunc (GIObjectInfo *info,
const gchar *name) const gchar *name)
{ {
gint offset; gint offset;
@ -718,11 +718,11 @@ g_object_info_find_vfunc (GIObjectInfo *info,
+ blob->n_methods * header->function_blob_size + blob->n_methods * header->function_blob_size
+ blob->n_signals * header->signal_blob_size; + blob->n_signals * header->signal_blob_size;
return _g_base_info_find_vfunc (rinfo, offset, blob->n_vfuncs, name); return gi_base_info_find_vfunc (rinfo, offset, blob->n_vfuncs, name);
} }
/** /**
* g_object_info_find_vfunc_using_interfaces: * gi_object_info_find_vfunc_using_interfaces:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @name: name of vfunc to obtain * @name: name of vfunc to obtain
* @implementor: (out) (transfer full): The implementor of the interface * @implementor: (out) (transfer full): The implementor of the interface
@ -731,58 +731,58 @@ g_object_info_find_vfunc (GIObjectInfo *info,
* @info and any interfaces it implements. Note that the namespace for * @info and any interfaces it implements. Note that the namespace for
* virtuals is distinct from that of methods; there may or may not be a * virtuals is distinct from that of methods; there may or may not be a
* concrete method associated for a virtual. If there is one, it may be * concrete method associated for a virtual. If there is one, it may be
* retrieved using g_vfunc_info_get_invoker(), otherwise %NULL will be * retrieved using gi_vfunc_info_get_invoker(), otherwise %NULL will be
* returned. * returned.
* *
* Note that this function does *not* search parent classes; you will have * Note that this function does *not* search parent classes; you will have
* to chain up if that's desired. * to chain up if that's desired.
* *
* Returns: (transfer full) (nullable): the #GIVFuncInfo. Free the struct by calling * Returns: (transfer full) (nullable): the #GIVFuncInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIVFuncInfo * GIVFuncInfo *
g_object_info_find_vfunc_using_interfaces (GIObjectInfo *info, gi_object_info_find_vfunc_using_interfaces (GIObjectInfo *info,
const gchar *name, const gchar *name,
GIObjectInfo **implementor) GIObjectInfo **implementor)
{ {
GIVFuncInfo *result = NULL; GIVFuncInfo *result = NULL;
GIObjectInfo *implementor_result = NULL; GIObjectInfo *implementor_result = NULL;
result = g_object_info_find_vfunc (info, name); result = gi_object_info_find_vfunc (info, name);
if (result) if (result)
implementor_result = g_base_info_ref ((GIBaseInfo*) info); implementor_result = gi_base_info_ref ((GIBaseInfo*) info);
if (result == NULL) if (result == NULL)
{ {
int n_interfaces; int n_interfaces;
int i; int i;
n_interfaces = g_object_info_get_n_interfaces (info); n_interfaces = gi_object_info_get_n_interfaces (info);
for (i = 0; i < n_interfaces; ++i) for (i = 0; i < n_interfaces; ++i)
{ {
GIInterfaceInfo *iface_info; GIInterfaceInfo *iface_info;
iface_info = g_object_info_get_interface (info, i); iface_info = gi_object_info_get_interface (info, i);
result = g_interface_info_find_vfunc (iface_info, name); result = gi_interface_info_find_vfunc (iface_info, name);
if (result != NULL) if (result != NULL)
{ {
implementor_result = iface_info; implementor_result = iface_info;
break; break;
} }
g_base_info_unref ((GIBaseInfo*) iface_info); gi_base_info_unref ((GIBaseInfo*) iface_info);
} }
} }
if (implementor) if (implementor)
*implementor = implementor_result; *implementor = implementor_result;
else if (implementor_result != NULL) else if (implementor_result != NULL)
g_base_info_unref ((GIBaseInfo*) implementor_result); gi_base_info_unref ((GIBaseInfo*) implementor_result);
return result; return result;
} }
/** /**
* g_object_info_get_n_constants: * gi_object_info_get_n_constants:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the number of constants that this object type has. * Obtain the number of constants that this object type has.
@ -790,7 +790,7 @@ g_object_info_find_vfunc_using_interfaces (GIObjectInfo *info,
* Returns: number of constants * Returns: number of constants
*/ */
gint gint
g_object_info_get_n_constants (GIObjectInfo *info) gi_object_info_get_n_constants (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -804,17 +804,17 @@ g_object_info_get_n_constants (GIObjectInfo *info)
} }
/** /**
* g_object_info_get_constant: * gi_object_info_get_constant:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* @n: index of constant to get * @n: index of constant to get
* *
* Obtain an object type constant at index @n. * Obtain an object type constant at index @n.
* *
* Returns: (transfer full): the #GIConstantInfo. Free the struct by calling * Returns: (transfer full): the #GIConstantInfo. Free the struct by calling
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIConstantInfo * GIConstantInfo *
g_object_info_get_constant (GIObjectInfo *info, gi_object_info_get_constant (GIObjectInfo *info,
gint n) gint n)
{ {
gint offset; gint offset;
@ -838,22 +838,22 @@ g_object_info_get_constant (GIObjectInfo *info,
+ blob->n_vfuncs * header->vfunc_blob_size + blob->n_vfuncs * header->vfunc_blob_size
+ n * header->constant_blob_size; + n * header->constant_blob_size;
return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info, return (GIConstantInfo *) gi_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_object_info_get_class_struct: * gi_object_info_get_class_struct:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Every #GObject has two structures; an instance structure and a class * Every #GObject has two structures; an instance structure and a class
* structure. This function returns the metadata for the class structure. * structure. This function returns the metadata for the class structure.
* *
* Returns: (transfer full) (nullable): the #GIStructInfo or %NULL. Free with * Returns: (transfer full) (nullable): the #GIStructInfo or %NULL. Free with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIStructInfo * GIStructInfo *
g_object_info_get_class_struct (GIObjectInfo *info) gi_object_info_get_class_struct (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -864,7 +864,7 @@ g_object_info_get_class_struct (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->gtype_struct) if (blob->gtype_struct)
return (GIStructInfo *) _g_info_from_entry (rinfo->repository, return (GIStructInfo *) gi_info_from_entry (rinfo->repository,
rinfo->typelib, blob->gtype_struct); rinfo->typelib, blob->gtype_struct);
else else
return NULL; return NULL;
@ -881,11 +881,11 @@ _get_func(GIObjectInfo *info,
GIObjectInfo *parent_info; GIObjectInfo *parent_info;
gpointer func = NULL; gpointer func = NULL;
parent_info = g_base_info_ref (info); parent_info = gi_base_info_ref (info);
while (parent_info != NULL) while (parent_info != NULL)
{ {
parents = g_slist_prepend (parents, parent_info); parents = g_slist_prepend (parents, parent_info);
parent_info = g_object_info_get_parent (parent_info); parent_info = gi_object_info_get_parent (parent_info);
} }
for (l = parents; l; l = l->next) for (l = parents; l; l = l->next)
@ -895,28 +895,28 @@ _get_func(GIObjectInfo *info,
if (symbol == NULL) if (symbol == NULL)
continue; continue;
g_typelib_symbol (((GIRealInfo *)parent_info)->typelib, symbol, (gpointer*) &func); gi_typelib_symbol (((GIRealInfo *)parent_info)->typelib, symbol, (gpointer*) &func);
if (func) if (func)
break; break;
} }
g_slist_free_full (parents, (GDestroyNotify) g_base_info_unref); g_slist_free_full (parents, (GDestroyNotify) gi_base_info_unref);
return func; return func;
} }
/** /**
* g_object_info_get_ref_function: * gi_object_info_get_ref_function:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the symbol name of the function that should be called to ref this * Obtain the symbol name of the function that should be called to ref this
* object type. It's mainly used fundamental types. The type signature for * object type. It's mainly used fundamental types. The type signature for
* the symbol is %GIObjectInfoRefFunction, to fetch the function pointer * the symbol is %GIObjectInfoRefFunction, to fetch the function pointer
* see g_object_info_get_ref_function(). * see gi_object_info_get_ref_function().
* *
* Returns: (nullable): the symbol or %NULL * Returns: (nullable): the symbol or %NULL
*/ */
const char * const char *
g_object_info_get_ref_function (GIObjectInfo *info) gi_object_info_get_ref_function (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -927,13 +927,13 @@ g_object_info_get_ref_function (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->ref_func) if (blob->ref_func)
return g_typelib_get_string (rinfo->typelib, blob->ref_func); return gi_typelib_get_string (rinfo->typelib, blob->ref_func);
return NULL; return NULL;
} }
/** /**
* g_object_info_get_ref_function_pointer: (skip) * gi_object_info_get_ref_function_pointer: (skip)
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain a pointer to a function which can be used to * Obtain a pointer to a function which can be used to
@ -944,27 +944,27 @@ g_object_info_get_ref_function (GIObjectInfo *info)
* Returns: (nullable): the function pointer or %NULL * Returns: (nullable): the function pointer or %NULL
*/ */
GIObjectInfoRefFunction GIObjectInfoRefFunction
g_object_info_get_ref_function_pointer (GIObjectInfo *info) gi_object_info_get_ref_function_pointer (GIObjectInfo *info)
{ {
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL); g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL);
return (GIObjectInfoRefFunction)_get_func(info, (SymbolGetter)g_object_info_get_ref_function); return (GIObjectInfoRefFunction)_get_func(info, (SymbolGetter)gi_object_info_get_ref_function);
} }
/** /**
* g_object_info_get_unref_function: * gi_object_info_get_unref_function:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the symbol name of the function that should be called to unref this * Obtain the symbol name of the function that should be called to unref this
* object type. It's mainly used fundamental types. The type signature for * object type. It's mainly used fundamental types. The type signature for
* the symbol is %GIObjectInfoUnrefFunction, to fetch the function pointer * the symbol is %GIObjectInfoUnrefFunction, to fetch the function pointer
* see g_object_info_get_unref_function(). * see gi_object_info_get_unref_function().
* *
* Returns: (nullable): the symbol or %NULL * Returns: (nullable): the symbol or %NULL
*/ */
const char * const char *
g_object_info_get_unref_function (GIObjectInfo *info) gi_object_info_get_unref_function (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -975,13 +975,13 @@ g_object_info_get_unref_function (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->unref_func) if (blob->unref_func)
return g_typelib_get_string (rinfo->typelib, blob->unref_func); return gi_typelib_get_string (rinfo->typelib, blob->unref_func);
return NULL; return NULL;
} }
/** /**
* g_object_info_get_unref_function_pointer: (skip) * gi_object_info_get_unref_function_pointer: (skip)
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain a pointer to a function which can be used to * Obtain a pointer to a function which can be used to
@ -992,28 +992,28 @@ g_object_info_get_unref_function (GIObjectInfo *info)
* Returns: (nullable): the function pointer or %NULL * Returns: (nullable): the function pointer or %NULL
*/ */
GIObjectInfoUnrefFunction GIObjectInfoUnrefFunction
g_object_info_get_unref_function_pointer (GIObjectInfo *info) gi_object_info_get_unref_function_pointer (GIObjectInfo *info)
{ {
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL); g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL);
return (GIObjectInfoUnrefFunction)_get_func(info, (SymbolGetter)g_object_info_get_unref_function); return (GIObjectInfoUnrefFunction)_get_func(info, (SymbolGetter)gi_object_info_get_unref_function);
} }
/** /**
* g_object_info_get_set_value_function: * gi_object_info_get_set_value_function:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the symbol name of the function that should be called to convert * Obtain the symbol name of the function that should be called to convert
* set a GValue giving an object instance pointer of this object type. * set a GValue giving an object instance pointer of this object type.
* I's mainly used fundamental types. The type signature for the symbol * I's mainly used fundamental types. The type signature for the symbol
* is %GIObjectInfoSetValueFunction, to fetch the function pointer * is %GIObjectInfoSetValueFunction, to fetch the function pointer
* see g_object_info_get_set_value_function(). * see gi_object_info_get_set_value_function().
* *
* Returns: (nullable): the symbol or %NULL * Returns: (nullable): the symbol or %NULL
*/ */
const char * const char *
g_object_info_get_set_value_function (GIObjectInfo *info) gi_object_info_get_set_value_function (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -1024,13 +1024,13 @@ g_object_info_get_set_value_function (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->set_value_func) if (blob->set_value_func)
return g_typelib_get_string (rinfo->typelib, blob->set_value_func); return gi_typelib_get_string (rinfo->typelib, blob->set_value_func);
return NULL; return NULL;
} }
/** /**
* g_object_info_get_set_value_function_pointer: (skip) * gi_object_info_get_set_value_function_pointer: (skip)
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain a pointer to a function which can be used to * Obtain a pointer to a function which can be used to
@ -1041,28 +1041,28 @@ g_object_info_get_set_value_function (GIObjectInfo *info)
* Returns: (nullable): the function pointer or %NULL * Returns: (nullable): the function pointer or %NULL
*/ */
GIObjectInfoSetValueFunction GIObjectInfoSetValueFunction
g_object_info_get_set_value_function_pointer (GIObjectInfo *info) gi_object_info_get_set_value_function_pointer (GIObjectInfo *info)
{ {
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL); g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL);
return (GIObjectInfoSetValueFunction)_get_func(info, (SymbolGetter)g_object_info_get_set_value_function); return (GIObjectInfoSetValueFunction)_get_func(info, (SymbolGetter)gi_object_info_get_set_value_function);
} }
/** /**
* g_object_info_get_get_value_function: * gi_object_info_get_get_value_function:
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain the symbol name of the function that should be called to convert * Obtain the symbol name of the function that should be called to convert
* an object instance pointer of this object type to a GValue. * an object instance pointer of this object type to a GValue.
* I's mainly used fundamental types. The type signature for the symbol * I's mainly used fundamental types. The type signature for the symbol
* is %GIObjectInfoGetValueFunction, to fetch the function pointer * is %GIObjectInfoGetValueFunction, to fetch the function pointer
* see g_object_info_get_get_value_function(). * see gi_object_info_get_get_value_function().
* *
* Returns: (nullable): the symbol or %NULL * Returns: (nullable): the symbol or %NULL
*/ */
const char * const char *
g_object_info_get_get_value_function (GIObjectInfo *info) gi_object_info_get_get_value_function (GIObjectInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
ObjectBlob *blob; ObjectBlob *blob;
@ -1073,13 +1073,13 @@ g_object_info_get_get_value_function (GIObjectInfo *info)
blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->get_value_func) if (blob->get_value_func)
return g_typelib_get_string (rinfo->typelib, blob->get_value_func); return gi_typelib_get_string (rinfo->typelib, blob->get_value_func);
return NULL; return NULL;
} }
/** /**
* g_object_info_get_get_value_function_pointer: (skip) * gi_object_info_get_get_value_function_pointer: (skip)
* @info: a #GIObjectInfo * @info: a #GIObjectInfo
* *
* Obtain a pointer to a function which can be used to * Obtain a pointer to a function which can be used to
@ -1090,10 +1090,10 @@ g_object_info_get_get_value_function (GIObjectInfo *info)
* Returns: (nullable): the function pointer or %NULL * Returns: (nullable): the function pointer or %NULL
*/ */
GIObjectInfoGetValueFunction GIObjectInfoGetValueFunction
g_object_info_get_get_value_function_pointer (GIObjectInfo *info) gi_object_info_get_get_value_function_pointer (GIObjectInfo *info)
{ {
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL); g_return_val_if_fail (GI_IS_OBJECT_INFO (info), NULL);
return (GIObjectInfoGetValueFunction)_get_func(info, (SymbolGetter)g_object_info_get_get_value_function); return (GIObjectInfoGetValueFunction)_get_func(info, (SymbolGetter)gi_object_info_get_get_value_function);
} }

View File

@ -76,132 +76,132 @@ typedef void * (*GIObjectInfoGetValueFunction) (const GValue *value);
* Checks if @info is a #GIObjectInfo. * Checks if @info is a #GIObjectInfo.
*/ */
#define GI_IS_OBJECT_INFO(info) \ #define GI_IS_OBJECT_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_object_info_get_type_name (GIObjectInfo *info); const gchar * gi_object_info_get_type_name (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_object_info_get_type_init (GIObjectInfo *info); const gchar * gi_object_info_get_type_init (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_object_info_get_abstract (GIObjectInfo *info); gboolean gi_object_info_get_abstract (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_object_info_get_final (GIObjectInfo *info); gboolean gi_object_info_get_final (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_object_info_get_fundamental (GIObjectInfo *info); gboolean gi_object_info_get_fundamental (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIObjectInfo * g_object_info_get_parent (GIObjectInfo *info); GIObjectInfo * gi_object_info_get_parent (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_object_info_get_n_interfaces (GIObjectInfo *info); gint gi_object_info_get_n_interfaces (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIInterfaceInfo * g_object_info_get_interface (GIObjectInfo *info, GIInterfaceInfo * gi_object_info_get_interface (GIObjectInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_object_info_get_n_fields (GIObjectInfo *info); gint gi_object_info_get_n_fields (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFieldInfo * g_object_info_get_field (GIObjectInfo *info, GIFieldInfo * gi_object_info_get_field (GIObjectInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_object_info_get_n_properties (GIObjectInfo *info); gint gi_object_info_get_n_properties (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIPropertyInfo * g_object_info_get_property (GIObjectInfo *info, GIPropertyInfo * gi_object_info_get_property (GIObjectInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_object_info_get_n_methods (GIObjectInfo *info); gint gi_object_info_get_n_methods (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_object_info_get_method (GIObjectInfo *info, GIFunctionInfo * gi_object_info_get_method (GIObjectInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_object_info_find_method (GIObjectInfo *info, GIFunctionInfo * gi_object_info_find_method (GIObjectInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_object_info_find_method_using_interfaces (GIObjectInfo *info, GIFunctionInfo * gi_object_info_find_method_using_interfaces (GIObjectInfo *info,
const gchar *name, const gchar *name,
GIObjectInfo **implementor); GIObjectInfo **implementor);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_object_info_get_n_signals (GIObjectInfo *info); gint gi_object_info_get_n_signals (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GISignalInfo * g_object_info_get_signal (GIObjectInfo *info, GISignalInfo * gi_object_info_get_signal (GIObjectInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GISignalInfo * g_object_info_find_signal (GIObjectInfo *info, GISignalInfo * gi_object_info_find_signal (GIObjectInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_object_info_get_n_vfuncs (GIObjectInfo *info); gint gi_object_info_get_n_vfuncs (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfo * g_object_info_get_vfunc (GIObjectInfo *info, GIVFuncInfo * gi_object_info_get_vfunc (GIObjectInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfo * g_object_info_find_vfunc (GIObjectInfo *info, GIVFuncInfo * gi_object_info_find_vfunc (GIObjectInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfo * g_object_info_find_vfunc_using_interfaces (GIObjectInfo *info, GIVFuncInfo * gi_object_info_find_vfunc_using_interfaces (GIObjectInfo *info,
const gchar *name, const gchar *name,
GIObjectInfo **implementor); GIObjectInfo **implementor);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_object_info_get_n_constants (GIObjectInfo *info); gint gi_object_info_get_n_constants (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIConstantInfo * g_object_info_get_constant (GIObjectInfo *info, GIConstantInfo * gi_object_info_get_constant (GIObjectInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIStructInfo * g_object_info_get_class_struct (GIObjectInfo *info); GIStructInfo * gi_object_info_get_class_struct (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_object_info_get_ref_function (GIObjectInfo *info); const char * gi_object_info_get_ref_function (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIObjectInfoRefFunction g_object_info_get_ref_function_pointer (GIObjectInfo *info); GIObjectInfoRefFunction gi_object_info_get_ref_function_pointer (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_object_info_get_unref_function (GIObjectInfo *info); const char * gi_object_info_get_unref_function (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIObjectInfoUnrefFunction g_object_info_get_unref_function_pointer (GIObjectInfo *info); GIObjectInfoUnrefFunction gi_object_info_get_unref_function_pointer (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_object_info_get_set_value_function (GIObjectInfo *info); const char * gi_object_info_get_set_value_function (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIObjectInfoSetValueFunction g_object_info_get_set_value_function_pointer (GIObjectInfo *info); GIObjectInfoSetValueFunction gi_object_info_get_set_value_function_pointer (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_object_info_get_get_value_function (GIObjectInfo *info); const char * gi_object_info_get_get_value_function (GIObjectInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIObjectInfoGetValueFunction g_object_info_get_get_value_function_pointer (GIObjectInfo *info); GIObjectInfoGetValueFunction gi_object_info_get_get_value_function_pointer (GIObjectInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -42,7 +42,7 @@
*/ */
/** /**
* g_property_info_get_flags: * gi_property_info_get_flags:
* @info: a #GIPropertyInfo * @info: a #GIPropertyInfo
* *
* Obtain the flags for this property info. See #GParamFlags for * Obtain the flags for this property info. See #GParamFlags for
@ -51,7 +51,7 @@
* Returns: the flags * Returns: the flags
*/ */
GParamFlags GParamFlags
g_property_info_get_flags (GIPropertyInfo *info) gi_property_info_get_flags (GIPropertyInfo *info)
{ {
GParamFlags flags; GParamFlags flags;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -80,29 +80,29 @@ g_property_info_get_flags (GIPropertyInfo *info)
} }
/** /**
* g_property_info_get_type: * gi_property_info_get_type:
* @info: a #GIPropertyInfo * @info: a #GIPropertyInfo
* *
* Obtain the type information for the property @info. * Obtain the type information for the property @info.
* *
* Returns: (transfer full): the #GITypeInfo, free it with * Returns: (transfer full): the #GITypeInfo, free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GITypeInfo * GITypeInfo *
g_property_info_get_type (GIPropertyInfo *info) gi_property_info_get_type (GIPropertyInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_PROPERTY_INFO (info), NULL); g_return_val_if_fail (GI_IS_PROPERTY_INFO (info), NULL);
return _g_type_info_new ((GIBaseInfo*)info, return gi_type_info_new ((GIBaseInfo*)info,
rinfo->typelib, rinfo->typelib,
rinfo->offset + G_STRUCT_OFFSET (PropertyBlob, type)); rinfo->offset + G_STRUCT_OFFSET (PropertyBlob, type));
} }
/** /**
* g_property_info_get_ownership_transfer: * gi_property_info_get_ownership_transfer:
* @info: a #GIPropertyInfo * @info: a #GIPropertyInfo
* *
* Obtain the ownership transfer for this property. See #GITransfer for more * Obtain the ownership transfer for this property. See #GITransfer for more
@ -111,7 +111,7 @@ g_property_info_get_type (GIPropertyInfo *info)
* Returns: the transfer * Returns: the transfer
*/ */
GITransfer GITransfer
g_property_info_get_ownership_transfer (GIPropertyInfo *info) gi_property_info_get_ownership_transfer (GIPropertyInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
PropertyBlob *blob; PropertyBlob *blob;
@ -130,7 +130,7 @@ g_property_info_get_ownership_transfer (GIPropertyInfo *info)
} }
/** /**
* g_property_info_get_setter: * gi_property_info_get_setter:
* @info: a #GIPropertyInfo * @info: a #GIPropertyInfo
* *
* Obtains the setter function associated with this #GIPropertyInfo. * Obtains the setter function associated with this #GIPropertyInfo.
@ -139,10 +139,10 @@ g_property_info_get_ownership_transfer (GIPropertyInfo *info)
* are also not %G_PARAM_CONSTRUCT_ONLY. * are also not %G_PARAM_CONSTRUCT_ONLY.
* *
* Returns: (transfer full) (nullable): the function info or %NULL if not set. * Returns: (transfer full) (nullable): the function info or %NULL if not set.
* Free it with g_base_info_unref() when done. * Free it with gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_property_info_get_setter (GIPropertyInfo *info) gi_property_info_get_setter (GIPropertyInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
PropertyBlob *blob; PropertyBlob *blob;
@ -160,17 +160,17 @@ g_property_info_get_setter (GIPropertyInfo *info)
return NULL; return NULL;
container = rinfo->container; container = rinfo->container;
parent_type = g_base_info_get_type (container); parent_type = gi_base_info_get_type (container);
if (parent_type == GI_INFO_TYPE_OBJECT) if (parent_type == GI_INFO_TYPE_OBJECT)
return g_object_info_get_method ((GIObjectInfo *) container, blob->setter); return gi_object_info_get_method ((GIObjectInfo *) container, blob->setter);
else if (parent_type == GI_INFO_TYPE_INTERFACE) else if (parent_type == GI_INFO_TYPE_INTERFACE)
return g_interface_info_get_method ((GIInterfaceInfo *) container, blob->setter); return gi_interface_info_get_method ((GIInterfaceInfo *) container, blob->setter);
else else
return NULL; return NULL;
} }
/** /**
* g_property_info_get_getter: * gi_property_info_get_getter:
* @info: a #GIPropertyInfo * @info: a #GIPropertyInfo
* *
* Obtains the getter function associated with this #GIPropertyInfo. * Obtains the getter function associated with this #GIPropertyInfo.
@ -178,10 +178,10 @@ g_property_info_get_setter (GIPropertyInfo *info)
* The setter is only available for %G_PARAM_READABLE properties. * The setter is only available for %G_PARAM_READABLE properties.
* *
* Returns: (transfer full) (nullable): the function info or %NULL if not set. * Returns: (transfer full) (nullable): the function info or %NULL if not set.
* Free it with g_base_info_unref() when done. * Free it with gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_property_info_get_getter (GIPropertyInfo *info) gi_property_info_get_getter (GIPropertyInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
PropertyBlob *blob; PropertyBlob *blob;
@ -199,11 +199,11 @@ g_property_info_get_getter (GIPropertyInfo *info)
return NULL; return NULL;
container = rinfo->container; container = rinfo->container;
parent_type = g_base_info_get_type (container); parent_type = gi_base_info_get_type (container);
if (parent_type == GI_INFO_TYPE_OBJECT) if (parent_type == GI_INFO_TYPE_OBJECT)
return g_object_info_get_method ((GIObjectInfo *) container, blob->getter); return gi_object_info_get_method ((GIObjectInfo *) container, blob->getter);
else if (parent_type == GI_INFO_TYPE_INTERFACE) else if (parent_type == GI_INFO_TYPE_INTERFACE)
return g_interface_info_get_method ((GIInterfaceInfo *) container, blob->getter); return gi_interface_info_get_method ((GIInterfaceInfo *) container, blob->getter);
else else
return NULL; return NULL;
} }

View File

@ -39,22 +39,22 @@ G_BEGIN_DECLS
* Checks if @info is a #GIPropertyInfo. * Checks if @info is a #GIPropertyInfo.
*/ */
#define GI_IS_PROPERTY_INFO(info) \ #define GI_IS_PROPERTY_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_PROPERTY) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_PROPERTY)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GParamFlags g_property_info_get_flags (GIPropertyInfo *info); GParamFlags gi_property_info_get_flags (GIPropertyInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * g_property_info_get_type (GIPropertyInfo *info); GITypeInfo * gi_property_info_get_type (GIPropertyInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITransfer g_property_info_get_ownership_transfer (GIPropertyInfo *info); GITransfer gi_property_info_get_ownership_transfer (GIPropertyInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo *g_property_info_get_setter (GIPropertyInfo *info); GIFunctionInfo *gi_property_info_get_setter (GIPropertyInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo *g_property_info_get_getter (GIPropertyInfo *info); GIFunctionInfo *gi_property_info_get_getter (GIPropertyInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -45,13 +45,13 @@
* *
* A registered type info struct has a name and a type function. * A registered type info struct has a name and a type function.
* *
* To get the name call g_registered_type_info_get_type_name(). * To get the name call gi_registered_type_info_get_type_name().
* Most users want to call g_registered_type_info_get_g_type() and don't worry * Most users want to call gi_registered_type_info_get_g_type() and don't worry
* about the rest of the details. * about the rest of the details.
*/ */
/** /**
* g_registered_type_info_get_type_name: * gi_registered_type_info_get_type_name:
* @info: a #GIRegisteredTypeInfo * @info: a #GIRegisteredTypeInfo
* *
* Obtain the type name of the struct within the GObject type system. * Obtain the type name of the struct within the GObject type system.
@ -60,7 +60,7 @@
* Returns: the type name * Returns: the type name
*/ */
const gchar * const gchar *
g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info) gi_registered_type_info_get_type_name (GIRegisteredTypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
RegisteredTypeBlob *blob; RegisteredTypeBlob *blob;
@ -71,25 +71,25 @@ g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info)
blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->gtype_name) if (blob->gtype_name)
return g_typelib_get_string (rinfo->typelib, blob->gtype_name); return gi_typelib_get_string (rinfo->typelib, blob->gtype_name);
return NULL; return NULL;
} }
/** /**
* g_registered_type_info_get_type_init: * gi_registered_type_info_get_type_init:
* @info: a #GIRegisteredTypeInfo * @info: a #GIRegisteredTypeInfo
* *
* Obtain the type init function for @info. The type init function is the * Obtain the type init function for @info. The type init function is the
* function which will register the GType within the GObject type system. * function which will register the GType within the GObject type system.
* Usually this is not called by langauge bindings or applications, use * Usually this is not called by langauge bindings or applications, use
* g_registered_type_info_get_g_type() directly instead. * gi_registered_type_info_get_g_type() directly instead.
* *
* Returns: the symbol name of the type init function, suitable for * Returns: the symbol name of the type init function, suitable for
* passing into g_module_symbol(). * passing into g_module_symbol().
*/ */
const gchar * const gchar *
g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info) gi_registered_type_info_get_type_init (GIRegisteredTypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
RegisteredTypeBlob *blob; RegisteredTypeBlob *blob;
@ -100,13 +100,13 @@ g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info)
blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->gtype_init) if (blob->gtype_init)
return g_typelib_get_string (rinfo->typelib, blob->gtype_init); return gi_typelib_get_string (rinfo->typelib, blob->gtype_init);
return NULL; return NULL;
} }
/** /**
* g_registered_type_info_get_g_type: * gi_registered_type_info_get_g_type:
* @info: a #GIRegisteredTypeInfo * @info: a #GIRegisteredTypeInfo
* *
* Obtain the #GType for this registered type or G_TYPE_NONE which a special meaning. * Obtain the #GType for this registered type or G_TYPE_NONE which a special meaning.
@ -117,7 +117,7 @@ g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info)
* Returns: the #GType. * Returns: the #GType.
*/ */
GType GType
g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info) gi_registered_type_info_get_g_type (GIRegisteredTypeInfo *info)
{ {
const char *type_init; const char *type_init;
GType (* get_type_func) (void); GType (* get_type_func) (void);
@ -126,17 +126,17 @@ g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info)
g_return_val_if_fail (info != NULL, G_TYPE_INVALID); g_return_val_if_fail (info != NULL, G_TYPE_INVALID);
g_return_val_if_fail (GI_IS_REGISTERED_TYPE_INFO (info), G_TYPE_INVALID); g_return_val_if_fail (GI_IS_REGISTERED_TYPE_INFO (info), G_TYPE_INVALID);
type_init = g_registered_type_info_get_type_init (info); type_init = gi_registered_type_info_get_type_init (info);
if (type_init == NULL) if (type_init == NULL)
return G_TYPE_NONE; return G_TYPE_NONE;
else if (!strcmp (type_init, "intern")) else if (!strcmp (type_init, "intern"))
/* The special string "intern" is used for some types exposed by libgobject /* The special string "intern" is used for some types exposed by libgobject
(that therefore should be always available) */ (that therefore should be always available) */
return g_type_from_name (g_registered_type_info_get_type_name (info)); return g_type_from_name (gi_registered_type_info_get_type_name (info));
get_type_func = NULL; get_type_func = NULL;
if (!g_typelib_symbol (rinfo->typelib, if (!gi_typelib_symbol (rinfo->typelib,
type_init, type_init,
(void**) &get_type_func)) (void**) &get_type_func))
return G_TYPE_NONE; return G_TYPE_NONE;

View File

@ -40,22 +40,22 @@ G_BEGIN_DECLS
* Checks if @info is a #GIRegisteredTypeInfo or derived from it. * Checks if @info is a #GIRegisteredTypeInfo or derived from it.
*/ */
#define GI_IS_REGISTERED_TYPE_INFO(info) \ #define GI_IS_REGISTERED_TYPE_INFO(info) \
((g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_BOXED) || \ ((gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_BOXED) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FLAGS) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_FLAGS) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION) || \ (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION) || \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_BOXED)) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_BOXED))
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info); const gchar * gi_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info); const gchar * gi_registered_type_info_get_type_init (GIRegisteredTypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GType g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info); GType gi_registered_type_info_get_g_type (GIRegisteredTypeInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -78,38 +78,38 @@ struct _GIUnresolvedInfo
const gchar *namespace; const gchar *namespace;
}; };
void _g_info_init (GIRealInfo *info, void gi_info_init (GIRealInfo *info,
GIInfoType type, GIInfoType type,
GIRepository *repository, GIRepository *repository,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset); guint32 offset);
GIBaseInfo * _g_info_from_entry (GIRepository *repository, GIBaseInfo * gi_info_from_entry (GIRepository *repository,
GITypelib *typelib, GITypelib *typelib,
guint16 index); guint16 index);
GIBaseInfo * _g_info_new_full (GIInfoType type, GIBaseInfo * gi_info_new_full (GIInfoType type,
GIRepository *repository, GIRepository *repository,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset); guint32 offset);
GITypeInfo * _g_type_info_new (GIBaseInfo *container, GITypeInfo * gi_type_info_new (GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset); guint32 offset);
void _g_type_info_init (GIBaseInfo *info, void gi_type_info_init (GIBaseInfo *info,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
guint32 offset); guint32 offset);
GIFunctionInfo * _g_base_info_find_method (GIBaseInfo *base, GIFunctionInfo * gi_base_info_find_method (GIBaseInfo *base,
guint32 offset, guint32 offset,
gint n_methods, gint n_methods,
const gchar *name); const gchar *name);
GIVFuncInfo * _g_base_info_find_vfunc (GIRealInfo *rinfo, GIVFuncInfo * gi_base_info_find_vfunc (GIRealInfo *rinfo,
guint32 offset, guint32 offset,
gint n_vfuncs, gint n_vfuncs,
const gchar *name); const gchar *name);

View File

@ -50,10 +50,10 @@
* under the library directory used when compiling gobject-introspection. * under the library directory used when compiling gobject-introspection.
* *
* It is possible to control the search paths programmatically, using * It is possible to control the search paths programmatically, using
* g_irepository_prepend_search_path(). It is also possible to modify * gi_repository_prepend_search_path(). It is also possible to modify
* the search paths by using the `GI_TYPELIB_PATH` environment variable. * the search paths by using the `GI_TYPELIB_PATH` environment variable.
* The environment variable takes precedence over the default search path * The environment variable takes precedence over the default search path
* and the g_irepository_prepend_search_path() calls. * and the gi_repository_prepend_search_path() calls.
*/ */
@ -72,7 +72,7 @@ gtype_interface_cache_free (gpointer data)
guint i; guint i;
for (i = 0; i < cache->n_interfaces; i++) for (i = 0; i < cache->n_interfaces; i++)
g_base_info_unref ((GIBaseInfo*) cache->interfaces[i]); gi_base_info_unref ((GIBaseInfo*) cache->interfaces[i]);
g_free (cache); g_free (cache);
} }
@ -86,7 +86,7 @@ struct _GIRepositoryPrivate
GHashTable *unknown_gtypes; /* hashset of GType */ GHashTable *unknown_gtypes; /* hashset of GType */
}; };
G_DEFINE_TYPE_WITH_CODE (GIRepository, g_irepository, G_TYPE_OBJECT, G_ADD_PRIVATE (GIRepository)); G_DEFINE_TYPE_WITH_CODE (GIRepository, gi_repository, G_TYPE_OBJECT, G_ADD_PRIVATE (GIRepository));
#ifdef G_PLATFORM_WIN32 #ifdef G_PLATFORM_WIN32
@ -124,13 +124,13 @@ DllMain (HINSTANCE hinstDLL,
#endif #endif
static void static void
g_irepository_init (GIRepository *repository) gi_repository_init (GIRepository *repository)
{ {
repository->priv = g_irepository_get_instance_private (repository); repository->priv = gi_repository_get_instance_private (repository);
repository->priv->typelibs repository->priv->typelibs
= g_hash_table_new_full (g_str_hash, g_str_equal, = g_hash_table_new_full (g_str_hash, g_str_equal,
(GDestroyNotify) NULL, (GDestroyNotify) NULL,
(GDestroyNotify) g_typelib_free); (GDestroyNotify) gi_typelib_free);
repository->priv->lazy_typelibs repository->priv->lazy_typelibs
= g_hash_table_new_full (g_str_hash, g_str_equal, = g_hash_table_new_full (g_str_hash, g_str_equal,
(GDestroyNotify) g_free, (GDestroyNotify) g_free,
@ -138,11 +138,11 @@ g_irepository_init (GIRepository *repository)
repository->priv->info_by_gtype repository->priv->info_by_gtype
= g_hash_table_new_full (g_direct_hash, g_direct_equal, = g_hash_table_new_full (g_direct_hash, g_direct_equal,
(GDestroyNotify) NULL, (GDestroyNotify) NULL,
(GDestroyNotify) g_base_info_unref); (GDestroyNotify) gi_base_info_unref);
repository->priv->info_by_error_domain repository->priv->info_by_error_domain
= g_hash_table_new_full (g_direct_hash, g_direct_equal, = g_hash_table_new_full (g_direct_hash, g_direct_equal,
(GDestroyNotify) NULL, (GDestroyNotify) NULL,
(GDestroyNotify) g_base_info_unref); (GDestroyNotify) gi_base_info_unref);
repository->priv->interfaces_for_gtype repository->priv->interfaces_for_gtype
= g_hash_table_new_full (g_direct_hash, g_direct_equal, = g_hash_table_new_full (g_direct_hash, g_direct_equal,
(GDestroyNotify) NULL, (GDestroyNotify) NULL,
@ -151,9 +151,9 @@ g_irepository_init (GIRepository *repository)
} }
static void static void
g_irepository_finalize (GObject *object) gi_repository_finalize (GObject *object)
{ {
GIRepository *repository = G_IREPOSITORY (object); GIRepository *repository = GI_REPOSITORY (object);
g_hash_table_destroy (repository->priv->typelibs); g_hash_table_destroy (repository->priv->typelibs);
g_hash_table_destroy (repository->priv->lazy_typelibs); g_hash_table_destroy (repository->priv->lazy_typelibs);
@ -162,17 +162,17 @@ g_irepository_finalize (GObject *object)
g_hash_table_destroy (repository->priv->interfaces_for_gtype); g_hash_table_destroy (repository->priv->interfaces_for_gtype);
g_hash_table_destroy (repository->priv->unknown_gtypes); g_hash_table_destroy (repository->priv->unknown_gtypes);
(* G_OBJECT_CLASS (g_irepository_parent_class)->finalize) (G_OBJECT (repository)); (* G_OBJECT_CLASS (gi_repository_parent_class)->finalize) (G_OBJECT (repository));
} }
static void static void
g_irepository_class_init (GIRepositoryClass *class) gi_repository_class_init (GIRepositoryClass *class)
{ {
GObjectClass *gobject_class; GObjectClass *gobject_class;
gobject_class = G_OBJECT_CLASS (class); gobject_class = G_OBJECT_CLASS (class);
gobject_class->finalize = g_irepository_finalize; gobject_class->finalize = gi_repository_finalize;
} }
static void static void
@ -184,7 +184,7 @@ init_globals (void)
return; return;
if (default_repository == NULL) if (default_repository == NULL)
default_repository = g_object_new (G_TYPE_IREPOSITORY, NULL); default_repository = g_object_new (GI_TYPE_REPOSITORY, NULL);
if (typelib_search_path == NULL) if (typelib_search_path == NULL)
{ {
@ -194,7 +194,7 @@ init_globals (void)
/* This variable is intended to take precedence over both: /* This variable is intended to take precedence over both:
* - the default search path; * - the default search path;
* - all g_irepository_prepend_search_path() calls. * - all gi_repository_prepend_search_path() calls.
*/ */
type_lib_path_env = g_getenv ("GI_TYPELIB_PATH"); type_lib_path_env = g_getenv ("GI_TYPELIB_PATH");
@ -230,23 +230,23 @@ init_globals (void)
} }
/** /**
* g_irepository_prepend_search_path: * gi_repository_prepend_search_path:
* @directory: (type filename): directory name to prepend to the typelib * @directory: (type filename): directory name to prepend to the typelib
* search path * search path
* *
* Prepends @directory to the typelib search path. * Prepends @directory to the typelib search path.
* *
* See also: g_irepository_get_search_path(). * See also: gi_repository_get_search_path().
*/ */
void void
g_irepository_prepend_search_path (const char *directory) gi_repository_prepend_search_path (const char *directory)
{ {
init_globals (); init_globals ();
typelib_search_path = g_slist_prepend (typelib_search_path, g_strdup (directory)); typelib_search_path = g_slist_prepend (typelib_search_path, g_strdup (directory));
} }
/** /**
* g_irepository_get_search_path: * gi_repository_get_search_path:
* *
* Returns the current search path #GIRepository will use when loading * Returns the current search path #GIRepository will use when loading
* typelib files. The list is internal to #GIRepository and should not * typelib files. The list is internal to #GIRepository and should not
@ -255,7 +255,7 @@ g_irepository_prepend_search_path (const char *directory)
* Returns: (element-type filename) (transfer none): #GSList of strings * Returns: (element-type filename) (transfer none): #GSList of strings
*/ */
GSList * GSList *
g_irepository_get_search_path (void) gi_repository_get_search_path (void)
{ {
return typelib_search_path; return typelib_search_path;
} }
@ -282,7 +282,7 @@ get_typelib_dependencies (GITypelib *typelib)
if (header->dependencies == 0) if (header->dependencies == 0)
return NULL; return NULL;
dependencies_glob = g_typelib_get_string (typelib, header->dependencies); dependencies_glob = gi_typelib_get_string (typelib, header->dependencies);
return g_strsplit (dependencies_glob, "|", 0); return g_strsplit (dependencies_glob, "|", 0);
} }
@ -314,7 +314,7 @@ check_version_conflict (GITypelib *typelib,
} }
header = (Header*)typelib->data; header = (Header*)typelib->data;
loaded_version = g_typelib_get_string (typelib, header->nsversion); loaded_version = gi_typelib_get_string (typelib, header->nsversion);
g_assert (loaded_version != NULL); g_assert (loaded_version != NULL);
if (strcmp (expected_version, loaded_version) != 0) if (strcmp (expected_version, loaded_version) != 0)
@ -385,7 +385,7 @@ load_dependencies_recurse (GIRepository *repository,
dependency_namespace = g_strndup (dependency, last_dash - dependency); dependency_namespace = g_strndup (dependency, last_dash - dependency);
dependency_version = last_dash+1; dependency_version = last_dash+1;
if (!g_irepository_require (repository, dependency_namespace, dependency_version, if (!gi_repository_require (repository, dependency_namespace, dependency_version,
0, error)) 0, error))
{ {
g_free (dependency_namespace); g_free (dependency_namespace);
@ -415,7 +415,7 @@ register_internal (GIRepository *repository,
g_return_val_if_fail (header != NULL, FALSE); g_return_val_if_fail (header != NULL, FALSE);
namespace = g_typelib_get_string (typelib, header->namespace); namespace = gi_typelib_get_string (typelib, header->namespace);
if (lazy) if (lazy)
{ {
@ -451,7 +451,7 @@ register_internal (GIRepository *repository,
} }
/** /**
* g_irepository_get_immediate_dependencies: * gi_repository_get_immediate_dependencies:
* @repository: (nullable): A #GIRepository or %NULL for the singleton * @repository: (nullable): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace of interest * @namespace_: Namespace of interest
@ -460,10 +460,10 @@ register_internal (GIRepository *repository,
* Returned strings are of the form `namespace-version`. * Returned strings are of the form `namespace-version`.
* *
* Note: @namespace_ must have already been loaded using a function * Note: @namespace_ must have already been loaded using a function
* such as g_irepository_require() before calling this function. * such as gi_repository_require() before calling this function.
* *
* To get the transitive closure of dependencies for @namespace_, use * To get the transitive closure of dependencies for @namespace_, use
* g_irepository_get_dependencies(). * gi_repository_get_dependencies().
* *
* Returns: (transfer full): Zero-terminated string array of immediate versioned * Returns: (transfer full): Zero-terminated string array of immediate versioned
* dependencies * dependencies
@ -471,7 +471,7 @@ register_internal (GIRepository *repository,
* Since: 1.44 * Since: 1.44
*/ */
char ** char **
g_irepository_get_immediate_dependencies (GIRepository *repository, gi_repository_get_immediate_dependencies (GIRepository *repository,
const char *namespace) const char *namespace)
{ {
GITypelib *typelib; GITypelib *typelib;
@ -534,7 +534,7 @@ get_typelib_dependencies_transitive (GIRepository *repository,
} }
/** /**
* g_irepository_get_dependencies: * gi_repository_get_dependencies:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace of interest * @namespace_: Namespace of interest
@ -545,16 +545,16 @@ get_typelib_dependencies_transitive (GIRepository *repository,
* The strings are of the form `namespace-version`. * The strings are of the form `namespace-version`.
* *
* Note: @namespace_ must have already been loaded using a function * Note: @namespace_ must have already been loaded using a function
* such as g_irepository_require() before calling this function. * such as gi_repository_require() before calling this function.
* *
* To get only the immediate dependencies for @namespace_, use * To get only the immediate dependencies for @namespace_, use
* g_irepository_get_immediate_dependencies(). * gi_repository_get_immediate_dependencies().
* *
* Returns: (transfer full) (array zero-terminated=1): all versioned * Returns: (transfer full) (array zero-terminated=1): all versioned
* dependencies * dependencies
*/ */
char ** char **
g_irepository_get_dependencies (GIRepository *repository, gi_repository_get_dependencies (GIRepository *repository,
const char *namespace) const char *namespace)
{ {
GITypelib *typelib; GITypelib *typelib;
@ -596,7 +596,7 @@ g_irepository_get_dependencies (GIRepository *repository,
} }
/** /**
* g_irepository_load_typelib: * gi_repository_load_typelib:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @typelib: TODO * @typelib: TODO
@ -606,7 +606,7 @@ g_irepository_get_dependencies (GIRepository *repository,
* TODO * TODO
*/ */
const char * const char *
g_irepository_load_typelib (GIRepository *repository, gi_repository_load_typelib (GIRepository *repository,
GITypelib *typelib, GITypelib *typelib,
GIRepositoryLoadFlags flags, GIRepositoryLoadFlags flags,
GError **error) GError **error)
@ -614,23 +614,23 @@ g_irepository_load_typelib (GIRepository *repository,
Header *header; Header *header;
const char *namespace; const char *namespace;
const char *nsversion; const char *nsversion;
gboolean allow_lazy = flags & G_IREPOSITORY_LOAD_FLAG_LAZY; gboolean allow_lazy = flags & GI_REPOSITORY_LOAD_FLAG_LAZY;
gboolean is_lazy; gboolean is_lazy;
char *version_conflict; char *version_conflict;
repository = get_repository (repository); repository = get_repository (repository);
header = (Header *) typelib->data; header = (Header *) typelib->data;
namespace = g_typelib_get_string (typelib, header->namespace); namespace = gi_typelib_get_string (typelib, header->namespace);
nsversion = g_typelib_get_string (typelib, header->nsversion); nsversion = gi_typelib_get_string (typelib, header->nsversion);
if (get_registered_status (repository, namespace, nsversion, allow_lazy, if (get_registered_status (repository, namespace, nsversion, allow_lazy,
&is_lazy, &version_conflict)) &is_lazy, &version_conflict))
{ {
if (version_conflict != NULL) if (version_conflict != NULL)
{ {
g_set_error (error, G_IREPOSITORY_ERROR, g_set_error (error, GI_REPOSITORY_ERROR,
G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT,
"Attempting to load namespace '%s', version '%s', but '%s' is already loaded", "Attempting to load namespace '%s', version '%s', but '%s' is already loaded",
namespace, nsversion, version_conflict); namespace, nsversion, version_conflict);
return NULL; return NULL;
@ -642,7 +642,7 @@ g_irepository_load_typelib (GIRepository *repository,
} }
/** /**
* g_irepository_is_registered: * gi_repository_is_registered:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace of interest * @namespace_: Namespace of interest
@ -651,14 +651,14 @@ g_irepository_load_typelib (GIRepository *repository,
* Check whether a particular namespace (and optionally, a specific * Check whether a particular namespace (and optionally, a specific
* version thereof) is currently loaded. This function is likely to * version thereof) is currently loaded. This function is likely to
* only be useful in unusual circumstances; in order to act upon * only be useful in unusual circumstances; in order to act upon
* metadata in the namespace, you should call g_irepository_require() * metadata in the namespace, you should call gi_repository_require()
* instead which will ensure the namespace is loaded, and return as * instead which will ensure the namespace is loaded, and return as
* quickly as this function will if it has already been loaded. * quickly as this function will if it has already been loaded.
* *
* Returns: %TRUE if namespace-version is loaded, %FALSE otherwise * Returns: %TRUE if namespace-version is loaded, %FALSE otherwise
*/ */
gboolean gboolean
g_irepository_is_registered (GIRepository *repository, gi_repository_is_registered (GIRepository *repository,
const gchar *namespace, const gchar *namespace,
const gchar *version) const gchar *version)
{ {
@ -667,7 +667,7 @@ g_irepository_is_registered (GIRepository *repository,
} }
/** /**
* g_irepository_get_default: * gi_repository_get_default:
* *
* Returns the singleton process-global default #GIRepository. It is * Returns the singleton process-global default #GIRepository. It is
* not currently supported to have multiple repositories in a * not currently supported to have multiple repositories in a
@ -683,13 +683,13 @@ g_irepository_is_registered (GIRepository *repository,
* Returns: (transfer none): The global singleton #GIRepository * Returns: (transfer none): The global singleton #GIRepository
*/ */
GIRepository * GIRepository *
g_irepository_get_default (void) gi_repository_get_default (void)
{ {
return get_repository (NULL); return get_repository (NULL);
} }
/** /**
* g_irepository_get_n_infos: * gi_repository_get_n_infos:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace to inspect * @namespace_: Namespace to inspect
@ -701,7 +701,7 @@ g_irepository_get_default (void)
* Returns: number of metadata entries * Returns: number of metadata entries
*/ */
gint gint
g_irepository_get_n_infos (GIRepository *repository, gi_repository_get_n_infos (GIRepository *repository,
const gchar *namespace) const gchar *namespace)
{ {
GITypelib *typelib; GITypelib *typelib;
@ -721,7 +721,7 @@ g_irepository_get_n_infos (GIRepository *repository,
} }
/** /**
* g_irepository_get_info: * gi_repository_get_info:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace to inspect * @namespace_: Namespace to inspect
@ -730,13 +730,13 @@ g_irepository_get_n_infos (GIRepository *repository,
* This function returns a particular metadata entry in the * This function returns a particular metadata entry in the
* given namespace @namespace_. The namespace must have * given namespace @namespace_. The namespace must have
* already been loaded before calling this function. * already been loaded before calling this function.
* See g_irepository_get_n_infos() to find the maximum number of * See gi_repository_get_n_infos() to find the maximum number of
* entries. * entries.
* *
* Returns: (transfer full): #GIBaseInfo containing metadata * Returns: (transfer full): #GIBaseInfo containing metadata
*/ */
GIBaseInfo * GIBaseInfo *
g_irepository_get_info (GIRepository *repository, gi_repository_get_info (GIRepository *repository,
const gchar *namespace, const gchar *namespace,
gint index) gint index)
{ {
@ -751,10 +751,10 @@ g_irepository_get_info (GIRepository *repository,
g_return_val_if_fail (typelib != NULL, NULL); g_return_val_if_fail (typelib != NULL, NULL);
entry = g_typelib_get_dir_entry (typelib, index + 1); entry = gi_typelib_get_dir_entry (typelib, index + 1);
if (entry == NULL) if (entry == NULL)
return NULL; return NULL;
return _g_info_new_full (entry->blob_type, return gi_info_new_full (entry->blob_type,
repository, repository,
NULL, typelib, entry->offset); NULL, typelib, entry->offset);
} }
@ -777,11 +777,11 @@ find_by_gtype (GHashTable *table, FindByGTypeData *data, gboolean check_prefix)
GITypelib *typelib = (GITypelib*)value; GITypelib *typelib = (GITypelib*)value;
if (check_prefix) if (check_prefix)
{ {
if (!g_typelib_matches_gtype_name_prefix (typelib, data->gtype_name)) if (!gi_typelib_matches_gtype_name_prefix (typelib, data->gtype_name))
continue; continue;
} }
ret = g_typelib_get_dir_entry_by_gtype_name (typelib, data->gtype_name); ret = gi_typelib_get_dir_entry_by_gtype_name (typelib, data->gtype_name);
if (ret) if (ret)
{ {
data->result_typelib = typelib; data->result_typelib = typelib;
@ -793,7 +793,7 @@ find_by_gtype (GHashTable *table, FindByGTypeData *data, gboolean check_prefix)
} }
/** /**
* g_irepository_find_by_gtype: * gi_repository_find_by_gtype:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @gtype: GType to search for * @gtype: GType to search for
@ -808,7 +808,7 @@ find_by_gtype (GHashTable *table, FindByGTypeData *data, gboolean check_prefix)
* Returns: (transfer full): #GIBaseInfo representing metadata about @type, or %NULL * Returns: (transfer full): #GIBaseInfo representing metadata about @type, or %NULL
*/ */
GIBaseInfo * GIBaseInfo *
g_irepository_find_by_gtype (GIRepository *repository, gi_repository_find_by_gtype (GIRepository *repository,
GType gtype) GType gtype)
{ {
FindByGTypeData data; FindByGTypeData data;
@ -823,7 +823,7 @@ g_irepository_find_by_gtype (GIRepository *repository,
(gpointer)gtype); (gpointer)gtype);
if (cached != NULL) if (cached != NULL)
return g_base_info_ref (cached); return gi_base_info_ref (cached);
if (g_hash_table_contains (repository->priv->unknown_gtypes, (gpointer)gtype)) if (g_hash_table_contains (repository->priv->unknown_gtypes, (gpointer)gtype))
return NULL; return NULL;
@ -854,13 +854,13 @@ g_irepository_find_by_gtype (GIRepository *repository,
if (entry != NULL) if (entry != NULL)
{ {
cached = _g_info_new_full (entry->blob_type, cached = gi_info_new_full (entry->blob_type,
repository, repository,
NULL, data.result_typelib, entry->offset); NULL, data.result_typelib, entry->offset);
g_hash_table_insert (repository->priv->info_by_gtype, g_hash_table_insert (repository->priv->info_by_gtype,
(gpointer) gtype, (gpointer) gtype,
g_base_info_ref (cached)); gi_base_info_ref (cached));
return cached; return cached;
} }
else else
@ -871,7 +871,7 @@ g_irepository_find_by_gtype (GIRepository *repository,
} }
/** /**
* g_irepository_find_by_name: * gi_repository_find_by_name:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace which will be searched * @namespace_: Namespace which will be searched
@ -879,13 +879,13 @@ g_irepository_find_by_gtype (GIRepository *repository,
* *
* Searches for a particular entry in a namespace. Before calling * Searches for a particular entry in a namespace. Before calling
* this function for a particular namespace, you must call * this function for a particular namespace, you must call
* g_irepository_require() once to load the namespace, or otherwise * gi_repository_require() once to load the namespace, or otherwise
* ensure the namespace has already been loaded. * ensure the namespace has already been loaded.
* *
* Returns: (transfer full): #GIBaseInfo representing metadata about @name, or %NULL * Returns: (transfer full): #GIBaseInfo representing metadata about @name, or %NULL
*/ */
GIBaseInfo * GIBaseInfo *
g_irepository_find_by_name (GIRepository *repository, gi_repository_find_by_name (GIRepository *repository,
const gchar *namespace, const gchar *namespace,
const gchar *name) const gchar *name)
{ {
@ -898,10 +898,10 @@ g_irepository_find_by_name (GIRepository *repository,
typelib = get_registered (repository, namespace, NULL); typelib = get_registered (repository, namespace, NULL);
g_return_val_if_fail (typelib != NULL, NULL); g_return_val_if_fail (typelib != NULL, NULL);
entry = g_typelib_get_dir_entry_by_name (typelib, name); entry = gi_typelib_get_dir_entry_by_name (typelib, name);
if (entry == NULL) if (entry == NULL)
return NULL; return NULL;
return _g_info_new_full (entry->blob_type, return gi_info_new_full (entry->blob_type,
repository, repository,
NULL, typelib, entry->offset); NULL, typelib, entry->offset);
} }
@ -925,20 +925,20 @@ find_by_error_domain_foreach (gpointer key,
if (data->result != NULL) if (data->result != NULL)
return; return;
data->result = g_typelib_get_dir_entry_by_error_domain (typelib, data->domain); data->result = gi_typelib_get_dir_entry_by_error_domain (typelib, data->domain);
if (data->result) if (data->result)
data->result_typelib = typelib; data->result_typelib = typelib;
} }
/** /**
* g_irepository_find_by_error_domain: * gi_repository_find_by_error_domain:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @domain: a #GError domain * @domain: a #GError domain
* *
* Searches for the enum type corresponding to the given #GError * Searches for the enum type corresponding to the given #GError
* domain. Before calling this function for a particular namespace, * domain. Before calling this function for a particular namespace,
* you must call g_irepository_require() once to load the namespace, or * you must call gi_repository_require() once to load the namespace, or
* otherwise ensure the namespace has already been loaded. * otherwise ensure the namespace has already been loaded.
* *
* Returns: (transfer full): #GIEnumInfo representing metadata about @domain's * Returns: (transfer full): #GIEnumInfo representing metadata about @domain's
@ -946,7 +946,7 @@ find_by_error_domain_foreach (gpointer key,
* Since: 1.30 * Since: 1.30
*/ */
GIEnumInfo * GIEnumInfo *
g_irepository_find_by_error_domain (GIRepository *repository, gi_repository_find_by_error_domain (GIRepository *repository,
GQuark domain) GQuark domain)
{ {
FindByErrorDomainData data; FindByErrorDomainData data;
@ -958,7 +958,7 @@ g_irepository_find_by_error_domain (GIRepository *repository,
GUINT_TO_POINTER (domain)); GUINT_TO_POINTER (domain));
if (cached != NULL) if (cached != NULL)
return g_base_info_ref ((GIBaseInfo *)cached); return gi_base_info_ref ((GIBaseInfo *)cached);
data.repository = repository; data.repository = repository;
data.domain = domain; data.domain = domain;
@ -971,20 +971,20 @@ g_irepository_find_by_error_domain (GIRepository *repository,
if (data.result != NULL) if (data.result != NULL)
{ {
cached = _g_info_new_full (data.result->blob_type, cached = gi_info_new_full (data.result->blob_type,
repository, repository,
NULL, data.result_typelib, data.result->offset); NULL, data.result_typelib, data.result->offset);
g_hash_table_insert (repository->priv->info_by_error_domain, g_hash_table_insert (repository->priv->info_by_error_domain,
GUINT_TO_POINTER (domain), GUINT_TO_POINTER (domain),
g_base_info_ref (cached)); gi_base_info_ref (cached));
return cached; return cached;
} }
return NULL; return NULL;
} }
/** /**
* g_irepository_get_object_gtype_interfaces: * gi_repository_get_object_gtype_interfaces:
* @repository: (nullable): a #GIRepository, or %NULL for the default repository * @repository: (nullable): a #GIRepository, or %NULL for the default repository
* @gtype: a #GType whose fundamental type is G_TYPE_OBJECT * @gtype: a #GType whose fundamental type is G_TYPE_OBJECT
* @n_interfaces_out: (out): Number of interfaces * @n_interfaces_out: (out): Number of interfaces
@ -1005,7 +1005,7 @@ g_irepository_find_by_error_domain (GIRepository *repository,
* Since: 1.62 * Since: 1.62
*/ */
void void
g_irepository_get_object_gtype_interfaces (GIRepository *repository, gi_repository_get_object_gtype_interfaces (GIRepository *repository,
GType gtype, GType gtype,
guint *n_interfaces_out, guint *n_interfaces_out,
GIInterfaceInfo ***interfaces_out) GIInterfaceInfo ***interfaces_out)
@ -1030,14 +1030,14 @@ g_irepository_get_object_gtype_interfaces (GIRepository *repository,
{ {
GIBaseInfo *base_info; GIBaseInfo *base_info;
base_info = g_irepository_find_by_gtype (repository, interfaces[i]); base_info = gi_repository_find_by_gtype (repository, interfaces[i]);
if (base_info == NULL) if (base_info == NULL)
continue; continue;
if (g_base_info_get_type (base_info) != GI_INFO_TYPE_INTERFACE) if (gi_base_info_get_type (base_info) != GI_INFO_TYPE_INTERFACE)
{ {
/* FIXME - could this really happen? */ /* FIXME - could this really happen? */
g_base_info_unref (base_info); gi_base_info_unref (base_info);
continue; continue;
} }
@ -1073,7 +1073,7 @@ collect_namespaces (gpointer key,
} }
/** /**
* g_irepository_get_loaded_namespaces: * gi_repository_get_loaded_namespaces:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* *
@ -1082,7 +1082,7 @@ collect_namespaces (gpointer key,
* Returns: (element-type utf8) (transfer full): List of namespaces * Returns: (element-type utf8) (transfer full): List of namespaces
*/ */
gchar ** gchar **
g_irepository_get_loaded_namespaces (GIRepository *repository) gi_repository_get_loaded_namespaces (GIRepository *repository)
{ {
GList *l, *list = NULL; GList *l, *list = NULL;
gchar **names; gchar **names;
@ -1103,7 +1103,7 @@ g_irepository_get_loaded_namespaces (GIRepository *repository)
} }
/** /**
* g_irepository_get_version: * gi_repository_get_version:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace to inspect * @namespace_: Namespace to inspect
@ -1112,12 +1112,12 @@ g_irepository_get_loaded_namespaces (GIRepository *repository)
* namespace @namespace_. * namespace @namespace_.
* *
* Note: The namespace must have already been loaded using a function * Note: The namespace must have already been loaded using a function
* such as g_irepository_require() before calling this function. * such as gi_repository_require() before calling this function.
* *
* Returns: Loaded version * Returns: Loaded version
*/ */
const gchar * const gchar *
g_irepository_get_version (GIRepository *repository, gi_repository_get_version (GIRepository *repository,
const gchar *namespace) const gchar *namespace)
{ {
GITypelib *typelib; GITypelib *typelib;
@ -1132,11 +1132,11 @@ g_irepository_get_version (GIRepository *repository,
g_return_val_if_fail (typelib != NULL, NULL); g_return_val_if_fail (typelib != NULL, NULL);
header = (Header *) typelib->data; header = (Header *) typelib->data;
return g_typelib_get_string (typelib, header->nsversion); return gi_typelib_get_string (typelib, header->nsversion);
} }
/** /**
* g_irepository_get_shared_library: * gi_repository_get_shared_library:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace to inspect * @namespace_: Namespace to inspect
@ -1147,13 +1147,13 @@ g_irepository_get_version (GIRepository *repository,
* function will return %NULL. * function will return %NULL.
* *
* Note: The namespace must have already been loaded using a function * Note: The namespace must have already been loaded using a function
* such as g_irepository_require() before calling this function. * such as gi_repository_require() before calling this function.
* *
* Returns: (nullable): Comma-separated list of paths to shared libraries, * Returns: (nullable): Comma-separated list of paths to shared libraries,
* or %NULL if none are associated * or %NULL if none are associated
*/ */
const gchar * const gchar *
g_irepository_get_shared_library (GIRepository *repository, gi_repository_get_shared_library (GIRepository *repository,
const gchar *namespace) const gchar *namespace)
{ {
GITypelib *typelib; GITypelib *typelib;
@ -1169,13 +1169,13 @@ g_irepository_get_shared_library (GIRepository *repository,
header = (Header *) typelib->data; header = (Header *) typelib->data;
if (header->shared_library) if (header->shared_library)
return g_typelib_get_string (typelib, header->shared_library); return gi_typelib_get_string (typelib, header->shared_library);
else else
return NULL; return NULL;
} }
/** /**
* g_irepository_get_c_prefix: * gi_repository_get_c_prefix:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: Namespace to inspect * @namespace_: Namespace to inspect
@ -1185,12 +1185,12 @@ g_irepository_get_shared_library (GIRepository *repository,
* starts with this prefix, as well each #GType in the library. * starts with this prefix, as well each #GType in the library.
* *
* Note: The namespace must have already been loaded using a function * Note: The namespace must have already been loaded using a function
* such as g_irepository_require() before calling this function. * such as gi_repository_require() before calling this function.
* *
* Returns: C namespace prefix, or %NULL if none associated * Returns: C namespace prefix, or %NULL if none associated
*/ */
const gchar * const gchar *
g_irepository_get_c_prefix (GIRepository *repository, gi_repository_get_c_prefix (GIRepository *repository,
const gchar *namespace_) const gchar *namespace_)
{ {
GITypelib *typelib; GITypelib *typelib;
@ -1206,13 +1206,13 @@ g_irepository_get_c_prefix (GIRepository *repository,
header = (Header *) typelib->data; header = (Header *) typelib->data;
if (header->c_prefix) if (header->c_prefix)
return g_typelib_get_string (typelib, header->c_prefix); return gi_typelib_get_string (typelib, header->c_prefix);
else else
return NULL; return NULL;
} }
/** /**
* g_irepository_get_typelib_path: * gi_repository_get_typelib_path:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: GI namespace to use, e.g. "Gtk" * @namespace_: GI namespace to use, e.g. "Gtk"
@ -1226,7 +1226,7 @@ g_irepository_get_c_prefix (GIRepository *repository,
*/ */
const gchar * const gchar *
g_irepository_get_typelib_path (GIRepository *repository, gi_repository_get_typelib_path (GIRepository *repository,
const gchar *namespace) const gchar *namespace)
{ {
gpointer orig_key, value; gpointer orig_key, value;
@ -1488,7 +1488,7 @@ find_namespace_latest (const gchar *namespace,
} }
/** /**
* g_irepository_enumerate_versions: * gi_repository_enumerate_versions:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: GI namespace, e.g. "Gtk" * @namespace_: GI namespace, e.g. "Gtk"
@ -1499,7 +1499,7 @@ find_namespace_latest (const gchar *namespace,
* Returns: (element-type utf8) (transfer full): the array of versions. * Returns: (element-type utf8) (transfer full): the array of versions.
*/ */
GList * GList *
g_irepository_enumerate_versions (GIRepository *repository, gi_repository_enumerate_versions (GIRepository *repository,
const gchar *namespace_) const gchar *namespace_)
{ {
GList *ret = NULL; GList *ret = NULL;
@ -1521,9 +1521,9 @@ g_irepository_enumerate_versions (GIRepository *repository,
* available versions, as it could have been loaded using * available versions, as it could have been loaded using
* require_private(). * require_private().
*/ */
if (g_irepository_is_registered (repository, namespace_, NULL)) if (gi_repository_is_registered (repository, namespace_, NULL))
{ {
loaded_version = g_irepository_get_version (repository, namespace_); loaded_version = gi_repository_get_version (repository, namespace_);
if (loaded_version && !g_list_find_custom (ret, loaded_version, g_str_equal)) if (loaded_version && !g_list_find_custom (ret, loaded_version, g_str_equal))
ret = g_list_prepend (ret, g_strdup (loaded_version)); ret = g_list_prepend (ret, g_strdup (loaded_version));
} }
@ -1544,7 +1544,7 @@ require_internal (GIRepository *repository,
Header *header; Header *header;
GITypelib *typelib = NULL; GITypelib *typelib = NULL;
const gchar *typelib_namespace, *typelib_version; const gchar *typelib_namespace, *typelib_version;
gboolean allow_lazy = (flags & G_IREPOSITORY_LOAD_FLAG_LAZY) > 0; gboolean allow_lazy = (flags & GI_REPOSITORY_LOAD_FLAG_LAZY) > 0;
gboolean is_lazy; gboolean is_lazy;
char *version_conflict = NULL; char *version_conflict = NULL;
char *path = NULL; char *path = NULL;
@ -1561,8 +1561,8 @@ require_internal (GIRepository *repository,
if (version_conflict != NULL) if (version_conflict != NULL)
{ {
g_set_error (error, G_IREPOSITORY_ERROR, g_set_error (error, GI_REPOSITORY_ERROR,
G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT,
"Requiring namespace '%s' version '%s', but '%s' is already loaded", "Requiring namespace '%s' version '%s', but '%s' is already loaded",
namespace, version, version_conflict); namespace, version, version_conflict);
return NULL; return NULL;
@ -1583,13 +1583,13 @@ require_internal (GIRepository *repository,
if (mfile == NULL) if (mfile == NULL)
{ {
if (version != NULL) if (version != NULL)
g_set_error (error, G_IREPOSITORY_ERROR, g_set_error (error, GI_REPOSITORY_ERROR,
G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND, GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND,
"Typelib file for namespace '%s', version '%s' not found", "Typelib file for namespace '%s', version '%s' not found",
namespace, version); namespace, version);
else else
g_set_error (error, G_IREPOSITORY_ERROR, g_set_error (error, GI_REPOSITORY_ERROR,
G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND, GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND,
"Typelib file for namespace '%s' (any version) not found", "Typelib file for namespace '%s' (any version) not found",
namespace); namespace);
goto out; goto out;
@ -1597,11 +1597,11 @@ require_internal (GIRepository *repository,
{ {
GError *temp_error = NULL; GError *temp_error = NULL;
typelib = g_typelib_new_from_mapped_file (mfile, &temp_error); typelib = gi_typelib_new_from_mapped_file (mfile, &temp_error);
if (!typelib) if (!typelib)
{ {
g_set_error (error, G_IREPOSITORY_ERROR, g_set_error (error, GI_REPOSITORY_ERROR,
G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND, GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND,
"Failed to load typelib file '%s' for namespace '%s': %s", "Failed to load typelib file '%s' for namespace '%s': %s",
path, namespace, temp_error->message); path, namespace, temp_error->message);
g_clear_error (&temp_error); g_clear_error (&temp_error);
@ -1609,34 +1609,34 @@ require_internal (GIRepository *repository,
} }
} }
header = (Header *) typelib->data; header = (Header *) typelib->data;
typelib_namespace = g_typelib_get_string (typelib, header->namespace); typelib_namespace = gi_typelib_get_string (typelib, header->namespace);
typelib_version = g_typelib_get_string (typelib, header->nsversion); typelib_version = gi_typelib_get_string (typelib, header->nsversion);
if (strcmp (typelib_namespace, namespace) != 0) if (strcmp (typelib_namespace, namespace) != 0)
{ {
g_set_error (error, G_IREPOSITORY_ERROR, g_set_error (error, GI_REPOSITORY_ERROR,
G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH, GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH,
"Typelib file %s for namespace '%s' contains " "Typelib file %s for namespace '%s' contains "
"namespace '%s' which doesn't match the file name", "namespace '%s' which doesn't match the file name",
path, namespace, typelib_namespace); path, namespace, typelib_namespace);
g_typelib_free (typelib); gi_typelib_free (typelib);
goto out; goto out;
} }
if (version != NULL && strcmp (typelib_version, version) != 0) if (version != NULL && strcmp (typelib_version, version) != 0)
{ {
g_set_error (error, G_IREPOSITORY_ERROR, g_set_error (error, GI_REPOSITORY_ERROR,
G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH, GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH,
"Typelib file %s for namespace '%s' contains " "Typelib file %s for namespace '%s' contains "
"version '%s' which doesn't match the expected version '%s'", "version '%s' which doesn't match the expected version '%s'",
path, namespace, typelib_version, version); path, namespace, typelib_version, version);
g_typelib_free (typelib); gi_typelib_free (typelib);
goto out; goto out;
} }
if (!register_internal (repository, path, allow_lazy, if (!register_internal (repository, path, allow_lazy,
typelib, error)) typelib, error))
{ {
g_typelib_free (typelib); gi_typelib_free (typelib);
goto out; goto out;
} }
ret = typelib; ret = typelib;
@ -1647,7 +1647,7 @@ require_internal (GIRepository *repository,
} }
/** /**
* g_irepository_require: * gi_repository_require:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @namespace_: GI namespace to use, e.g. "Gtk" * @namespace_: GI namespace to use, e.g. "Gtk"
@ -1664,7 +1664,7 @@ require_internal (GIRepository *repository,
* Returns: (transfer none): a pointer to the #GITypelib if successful, %NULL otherwise * Returns: (transfer none): a pointer to the #GITypelib if successful, %NULL otherwise
*/ */
GITypelib * GITypelib *
g_irepository_require (GIRepository *repository, gi_repository_require (GIRepository *repository,
const gchar *namespace, const gchar *namespace,
const gchar *version, const gchar *version,
GIRepositoryLoadFlags flags, GIRepositoryLoadFlags flags,
@ -1680,7 +1680,7 @@ g_irepository_require (GIRepository *repository,
} }
/** /**
* g_irepository_require_private: * gi_repository_require_private:
* @repository: (allow-none): A #GIRepository or %NULL for the singleton * @repository: (allow-none): A #GIRepository or %NULL for the singleton
* process-global default #GIRepository * process-global default #GIRepository
* @typelib_dir: Private directory where to find the requested typelib * @typelib_dir: Private directory where to find the requested typelib
@ -1698,7 +1698,7 @@ g_irepository_require (GIRepository *repository,
* Returns: (transfer none): a pointer to the #GITypelib if successful, %NULL otherwise * Returns: (transfer none): a pointer to the #GITypelib if successful, %NULL otherwise
*/ */
GITypelib * GITypelib *
g_irepository_require_private (GIRepository *repository, gi_repository_require_private (GIRepository *repository,
const gchar *typelib_dir, const gchar *typelib_dir,
const gchar *namespace, const gchar *namespace,
const gchar *version, const gchar *version,
@ -1712,13 +1712,13 @@ g_irepository_require_private (GIRepository *repository,
} }
static gboolean static gboolean
g_irepository_introspect_cb (const char *option_name, gi_repository_introspect_cb (const char *option_name,
const char *value, const char *value,
gpointer data, gpointer data,
GError **error) GError **error)
{ {
GError *tmp_error = NULL; GError *tmp_error = NULL;
gboolean ret = g_irepository_dump (value, &tmp_error); gboolean ret = gi_repository_dump (value, &tmp_error);
if (!ret) if (!ret)
{ {
g_error ("Failed to extract GType data: %s", g_error ("Failed to extract GType data: %s",
@ -1730,13 +1730,13 @@ g_irepository_introspect_cb (const char *option_name,
static const GOptionEntry introspection_args[] = { static const GOptionEntry introspection_args[] = {
{ "introspect-dump", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_CALLBACK, { "introspect-dump", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_CALLBACK,
g_irepository_introspect_cb, "Dump introspection information", gi_repository_introspect_cb, "Dump introspection information",
"infile.txt,outfile.xml" }, "infile.txt,outfile.xml" },
G_OPTION_ENTRY_NULL G_OPTION_ENTRY_NULL
}; };
/** /**
* g_irepository_get_option_group: * gi_repository_get_option_group:
* *
* Obtain the option group for girepository, it's used * Obtain the option group for girepository, it's used
* by the dumper and for programs that wants to provide * by the dumper and for programs that wants to provide
@ -1745,7 +1745,7 @@ static const GOptionEntry introspection_args[] = {
* Returns: (transfer full): the option group * Returns: (transfer full): the option group
*/ */
GOptionGroup * GOptionGroup *
g_irepository_get_option_group (void) gi_repository_get_option_group (void)
{ {
GOptionGroup *group; GOptionGroup *group;
group = g_option_group_new ("girepository", "Introspection Options", "Show Introspection Options", NULL, NULL); group = g_option_group_new ("girepository", "Introspection Options", "Show Introspection Options", NULL, NULL);
@ -1755,7 +1755,7 @@ g_irepository_get_option_group (void)
} }
GQuark GQuark
g_irepository_error_quark (void) gi_repository_error_quark (void)
{ {
static GQuark quark = 0; static GQuark quark = 0;
if (quark == 0) if (quark == 0)
@ -1764,7 +1764,7 @@ g_irepository_error_quark (void)
} }
/** /**
* g_type_tag_to_string: * gi_type_tag_to_string:
* @type: the type_tag * @type: the type_tag
* *
* Obtain a string representation of @type * Obtain a string representation of @type
@ -1772,7 +1772,7 @@ g_irepository_error_quark (void)
* Returns: the string * Returns: the string
*/ */
const gchar* const gchar*
g_type_tag_to_string (GITypeTag type) gi_type_tag_to_string (GITypeTag type)
{ {
switch (type) switch (type)
{ {
@ -1826,7 +1826,7 @@ g_type_tag_to_string (GITypeTag type)
} }
/** /**
* g_info_type_to_string: * gi_info_type_to_string:
* @type: the info type * @type: the info type
* *
* Obtain a string representation of @type * Obtain a string representation of @type
@ -1834,7 +1834,7 @@ g_type_tag_to_string (GITypeTag type)
* Returns: the string * Returns: the string
*/ */
const gchar* const gchar*
g_info_type_to_string (GIInfoType type) gi_info_type_to_string (GIInfoType type)
{ {
switch (type) switch (type)
{ {

View File

@ -52,12 +52,12 @@
G_BEGIN_DECLS G_BEGIN_DECLS
#define G_TYPE_IREPOSITORY (g_irepository_get_type ()) #define GI_TYPE_REPOSITORY (gi_repository_get_type ())
#define G_IREPOSITORY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_IREPOSITORY, GIRepository)) #define GI_REPOSITORY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GI_TYPE_REPOSITORY, GIRepository))
#define G_IREPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), G_TYPE_IREPOSITORY, GIRepositoryClass)) #define GI_REPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_TYPE_REPOSITORY, GIRepositoryClass))
#define G_IS_IREPOSITORY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_IREPOSITORY)) #define GI_IS_REPOSITORY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GI_TYPE_REPOSITORY))
#define G_IS_IREPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G_TYPE_IREPOSITORY)) #define GI_IS_REPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_TYPE_REPOSITORY))
#define G_IREPOSITORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), G_TYPE_IREPOSITORY, GIRepositoryClass)) #define GI_REPOSITORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_TYPE_REPOSITORY, GIRepositoryClass))
/** /**
* GIRepository: * GIRepository:
@ -84,61 +84,61 @@ struct _GIRepositoryClass
/** /**
* GIRepositoryLoadFlags: * GIRepositoryLoadFlags:
* @G_IREPOSITORY_LOAD_FLAG_LAZY: Lazily load the typelib. * @GI_REPOSITORY_LOAD_FLAG_LAZY: Lazily load the typelib.
* *
* Flags that control how a typelib is loaded. * Flags that control how a typelib is loaded.
*/ */
typedef enum typedef enum
{ {
G_IREPOSITORY_LOAD_FLAG_LAZY = 1 << 0 GI_REPOSITORY_LOAD_FLAG_LAZY = 1 << 0
} GIRepositoryLoadFlags; } GIRepositoryLoadFlags;
/* Repository */ /* Repository */
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GType g_irepository_get_type (void) G_GNUC_CONST; GType gi_repository_get_type (void) G_GNUC_CONST;
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIRepository *g_irepository_get_default (void); GIRepository *gi_repository_get_default (void);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_irepository_prepend_search_path (const char *directory); void gi_repository_prepend_search_path (const char *directory);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_irepository_prepend_library_path (const char *directory); void gi_repository_prepend_library_path (const char *directory);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GSList * g_irepository_get_search_path (void); GSList * gi_repository_get_search_path (void);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_irepository_load_typelib (GIRepository *repository, const char * gi_repository_load_typelib (GIRepository *repository,
GITypelib *typelib, GITypelib *typelib,
GIRepositoryLoadFlags flags, GIRepositoryLoadFlags flags,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_irepository_is_registered (GIRepository *repository, gboolean gi_repository_is_registered (GIRepository *repository,
const gchar *namespace_, const gchar *namespace_,
const gchar *version); const gchar *version);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_irepository_find_by_name (GIRepository *repository, GIBaseInfo * gi_repository_find_by_name (GIRepository *repository,
const gchar *namespace_, const gchar *namespace_,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GList * g_irepository_enumerate_versions (GIRepository *repository, GList * gi_repository_enumerate_versions (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypelib * g_irepository_require (GIRepository *repository, GITypelib * gi_repository_require (GIRepository *repository,
const gchar *namespace_, const gchar *namespace_,
const gchar *version, const gchar *version,
GIRepositoryLoadFlags flags, GIRepositoryLoadFlags flags,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypelib * g_irepository_require_private (GIRepository *repository, GITypelib * gi_repository_require_private (GIRepository *repository,
const gchar *typelib_dir, const gchar *typelib_dir,
const gchar *namespace_, const gchar *namespace_,
const gchar *version, const gchar *version,
@ -146,92 +146,92 @@ GITypelib * g_irepository_require_private (GIRepository *repository,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gchar ** g_irepository_get_immediate_dependencies (GIRepository *repository, gchar ** gi_repository_get_immediate_dependencies (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gchar ** g_irepository_get_dependencies (GIRepository *repository, gchar ** gi_repository_get_dependencies (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gchar ** g_irepository_get_loaded_namespaces (GIRepository *repository); gchar ** gi_repository_get_loaded_namespaces (GIRepository *repository);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_irepository_find_by_gtype (GIRepository *repository, GIBaseInfo * gi_repository_find_by_gtype (GIRepository *repository,
GType gtype); GType gtype);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_irepository_get_object_gtype_interfaces (GIRepository *repository, void gi_repository_get_object_gtype_interfaces (GIRepository *repository,
GType gtype, GType gtype,
guint *n_interfaces_out, guint *n_interfaces_out,
GIInterfaceInfo ***interfaces_out); GIInterfaceInfo ***interfaces_out);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_irepository_get_n_infos (GIRepository *repository, gint gi_repository_get_n_infos (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_irepository_get_info (GIRepository *repository, GIBaseInfo * gi_repository_get_info (GIRepository *repository,
const gchar *namespace_, const gchar *namespace_,
gint index); gint index);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIEnumInfo * g_irepository_find_by_error_domain (GIRepository *repository, GIEnumInfo * gi_repository_find_by_error_domain (GIRepository *repository,
GQuark domain); GQuark domain);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_typelib_path (GIRepository *repository, const gchar * gi_repository_get_typelib_path (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_shared_library (GIRepository *repository, const gchar * gi_repository_get_shared_library (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_c_prefix (GIRepository *repository, const gchar * gi_repository_get_c_prefix (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_version (GIRepository *repository, const gchar * gi_repository_get_version (GIRepository *repository,
const gchar *namespace_); const gchar *namespace_);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GOptionGroup * g_irepository_get_option_group (void); GOptionGroup * gi_repository_get_option_group (void);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_irepository_dump (const char *arg, GError **error); gboolean gi_repository_dump (const char *arg, GError **error);
/** /**
* GIRepositoryError: * GIRepositoryError:
* @G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND: the typelib could not be found. * @GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND: the typelib could not be found.
* @G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH: the namespace does not match the * @GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH: the namespace does not match the
* requested namespace. * requested namespace.
* @G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT: the version of the * @GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT: the version of the
* typelib does not match the requested version. * typelib does not match the requested version.
* @G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND: the library used by the typelib * @GI_REPOSITORY_ERROR_LIBRARY_NOT_FOUND: the library used by the typelib
* could not be found. * could not be found.
* *
* An error code used with #G_IREPOSITORY_ERROR in a #GError returned * An error code used with #GI_REPOSITORY_ERROR in a #GError returned
* from a #GIRepository routine. * from a #GIRepository routine.
*/ */
typedef enum typedef enum
{ {
G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND, GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND,
G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH, GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH,
G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT,
G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND GI_REPOSITORY_ERROR_LIBRARY_NOT_FOUND
} GIRepositoryError; } GIRepositoryError;
/** /**
* G_IREPOSITORY_ERROR: * GI_REPOSITORY_ERROR:
* *
* Error domain for #GIRepository. Errors in this domain will be from the * Error domain for #GIRepository. Errors in this domain will be from the
* #GIRepositoryError enumeration. See #GError for more information on * #GIRepositoryError enumeration. See #GError for more information on
* error domains. * error domains.
*/ */
#define G_IREPOSITORY_ERROR (g_irepository_error_quark ()) #define GI_REPOSITORY_ERROR (gi_repository_error_quark ())
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GQuark g_irepository_error_quark (void); GQuark gi_repository_error_quark (void);
/* Global utility functions */ /* Global utility functions */

View File

@ -130,7 +130,7 @@ gi_type_tag_get_ffi_type (GITypeTag type_tag,
} }
/** /**
* g_type_info_get_ffi_type: * gi_type_info_get_ffi_type:
* @info: A #GITypeInfo * @info: A #GITypeInfo
* *
* TODO * TODO
@ -138,15 +138,15 @@ gi_type_tag_get_ffi_type (GITypeTag type_tag,
* Returns: A #ffi_type corresponding to the platform default C ABI for @info. * Returns: A #ffi_type corresponding to the platform default C ABI for @info.
*/ */
ffi_type * ffi_type *
g_type_info_get_ffi_type (GITypeInfo *info) gi_type_info_get_ffi_type (GITypeInfo *info)
{ {
gboolean is_enum = FALSE; gboolean is_enum = FALSE;
GIBaseInfo *iinfo; GIBaseInfo *iinfo;
if (g_type_info_get_tag (info) == GI_TYPE_TAG_INTERFACE) if (gi_type_info_get_tag (info) == GI_TYPE_TAG_INTERFACE)
{ {
iinfo = g_type_info_get_interface (info); iinfo = gi_type_info_get_interface (info);
switch (g_base_info_get_type (iinfo)) switch (gi_base_info_get_type (iinfo))
{ {
case GI_INFO_TYPE_ENUM: case GI_INFO_TYPE_ENUM:
case GI_INFO_TYPE_FLAGS: case GI_INFO_TYPE_FLAGS:
@ -155,14 +155,14 @@ g_type_info_get_ffi_type (GITypeInfo *info)
default: default:
break; break;
} }
g_base_info_unref (iinfo); gi_base_info_unref (iinfo);
} }
return gi_type_tag_get_ffi_type_internal (g_type_info_get_tag (info), g_type_info_is_pointer (info), is_enum); return gi_type_tag_get_ffi_type_internal (gi_type_info_get_tag (info), gi_type_info_is_pointer (info), is_enum);
} }
/** /**
* g_callable_info_get_ffi_arg_types: * gi_callable_info_get_ffi_arg_types:
* @callable_info: a callable info from a typelib * @callable_info: a callable info from a typelib
* @n_args_p: (out): The number of arguments * @n_args_p: (out): The number of arguments
* *
@ -172,7 +172,7 @@ g_type_info_get_ffi_type (GITypeInfo *info)
* should be freed using g_free() after use. * should be freed using g_free() after use.
*/ */
static ffi_type ** static ffi_type **
g_callable_info_get_ffi_arg_types (GICallableInfo *callable_info, gi_callable_info_get_ffi_arg_types (GICallableInfo *callable_info,
int *n_args_p) int *n_args_p)
{ {
ffi_type **arg_types; ffi_type **arg_types;
@ -181,9 +181,9 @@ g_callable_info_get_ffi_arg_types (GICallableInfo *callable_info,
g_return_val_if_fail (callable_info != NULL, NULL); g_return_val_if_fail (callable_info != NULL, NULL);
n_args = g_callable_info_get_n_args (callable_info); n_args = gi_callable_info_get_n_args (callable_info);
is_method = g_callable_info_is_method (callable_info); is_method = gi_callable_info_is_method (callable_info);
throws = g_callable_info_can_throw_gerror (callable_info); throws = gi_callable_info_can_throw_gerror (callable_info);
offset = is_method ? 1 : 0; offset = is_method ? 1 : 0;
n_invoke_args = n_args; n_invoke_args = n_args;
@ -208,12 +208,12 @@ g_callable_info_get_ffi_arg_types (GICallableInfo *callable_info,
GIArgInfo arg_info; GIArgInfo arg_info;
GITypeInfo arg_type; GITypeInfo arg_type;
g_callable_info_load_arg (callable_info, i, &arg_info); gi_callable_info_load_arg (callable_info, i, &arg_info);
g_arg_info_load_type (&arg_info, &arg_type); gi_arg_info_load_type (&arg_info, &arg_type);
switch (g_arg_info_get_direction (&arg_info)) switch (gi_arg_info_get_direction (&arg_info))
{ {
case GI_DIRECTION_IN: case GI_DIRECTION_IN:
arg_types[i + offset] = g_type_info_get_ffi_type (&arg_type); arg_types[i + offset] = gi_type_info_get_ffi_type (&arg_type);
break; break;
case GI_DIRECTION_OUT: case GI_DIRECTION_OUT:
case GI_DIRECTION_INOUT: case GI_DIRECTION_INOUT:
@ -230,7 +230,7 @@ g_callable_info_get_ffi_arg_types (GICallableInfo *callable_info,
} }
/** /**
* g_callable_info_get_ffi_return_type: * gi_callable_info_get_ffi_return_type:
* @callable_info: a callable info from a typelib * @callable_info: a callable info from a typelib
* *
* Fetches the ffi_type for a corresponding return value of * Fetches the ffi_type for a corresponding return value of
@ -239,22 +239,22 @@ g_callable_info_get_ffi_arg_types (GICallableInfo *callable_info,
* Returns: the ffi_type for the return value * Returns: the ffi_type for the return value
*/ */
static ffi_type * static ffi_type *
g_callable_info_get_ffi_return_type (GICallableInfo *callable_info) gi_callable_info_get_ffi_return_type (GICallableInfo *callable_info)
{ {
GITypeInfo *return_type; GITypeInfo *return_type;
ffi_type *return_ffi_type; ffi_type *return_ffi_type;
g_return_val_if_fail (callable_info != NULL, NULL); g_return_val_if_fail (callable_info != NULL, NULL);
return_type = g_callable_info_get_return_type (callable_info); return_type = gi_callable_info_get_return_type (callable_info);
return_ffi_type = g_type_info_get_ffi_type (return_type); return_ffi_type = gi_type_info_get_ffi_type (return_type);
g_base_info_unref((GIBaseInfo*)return_type); gi_base_info_unref((GIBaseInfo*)return_type);
return return_ffi_type; return return_ffi_type;
} }
/** /**
* g_function_info_prep_invoker: * gi_function_info_prep_invoker:
* @info: A #GIFunctionInfo * @info: A #GIFunctionInfo
* @invoker: Output invoker structure * @invoker: Output invoker structure
* @error: A #GError * @error: A #GError
@ -270,7 +270,7 @@ g_callable_info_get_ffi_return_type (GICallableInfo *callable_info)
* Returns: %TRUE on success, %FALSE otherwise with @error set. * Returns: %TRUE on success, %FALSE otherwise with @error set.
*/ */
gboolean gboolean
g_function_info_prep_invoker (GIFunctionInfo *info, gi_function_info_prep_invoker (GIFunctionInfo *info,
GIFunctionInvoker *invoker, GIFunctionInvoker *invoker,
GError **error) GError **error)
{ {
@ -280,24 +280,24 @@ g_function_info_prep_invoker (GIFunctionInfo *info,
g_return_val_if_fail (info != NULL, FALSE); g_return_val_if_fail (info != NULL, FALSE);
g_return_val_if_fail (invoker != NULL, FALSE); g_return_val_if_fail (invoker != NULL, FALSE);
symbol = g_function_info_get_symbol ((GIFunctionInfo*) info); symbol = gi_function_info_get_symbol ((GIFunctionInfo*) info);
if (!g_typelib_symbol (g_base_info_get_typelib((GIBaseInfo *) info), if (!gi_typelib_symbol (gi_base_info_get_typelib ((GIBaseInfo *) info),
symbol, &addr)) symbol, &addr))
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_SYMBOL_NOT_FOUND, GI_INVOKE_ERROR_SYMBOL_NOT_FOUND,
"Could not locate %s: %s", symbol, g_module_error ()); "Could not locate %s: %s", symbol, g_module_error ());
return FALSE; return FALSE;
} }
return g_function_invoker_new_for_address (addr, info, invoker, error); return gi_function_invoker_new_for_address (addr, info, invoker, error);
} }
/** /**
* g_function_invoker_new_for_address: * gi_function_invoker_new_for_address:
* @addr: The address * @addr: The address
* @info: A #GICallableInfo * @info: A #GICallableInfo
* @invoker: Output invoker structure * @invoker: Output invoker structure
@ -314,7 +314,7 @@ g_function_info_prep_invoker (GIFunctionInfo *info,
* Returns: %TRUE on success, %FALSE otherwise with @error set. * Returns: %TRUE on success, %FALSE otherwise with @error set.
*/ */
gboolean gboolean
g_function_invoker_new_for_address (gpointer addr, gi_function_invoker_new_for_address (gpointer addr,
GICallableInfo *info, GICallableInfo *info,
GIFunctionInvoker *invoker, GIFunctionInvoker *invoker,
GError **error) GError **error)
@ -327,15 +327,15 @@ g_function_invoker_new_for_address (gpointer addr,
invoker->native_address = addr; invoker->native_address = addr;
atypes = g_callable_info_get_ffi_arg_types (info, &n_args); atypes = gi_callable_info_get_ffi_arg_types (info, &n_args);
return ffi_prep_cif (&(invoker->cif), FFI_DEFAULT_ABI, n_args, return ffi_prep_cif (&(invoker->cif), FFI_DEFAULT_ABI, n_args,
g_callable_info_get_ffi_return_type (info), gi_callable_info_get_ffi_return_type (info),
atypes) == FFI_OK; atypes) == FFI_OK;
} }
/** /**
* g_function_invoker_destroy: * gi_function_invoker_destroy:
* @invoker: A #GIFunctionInvoker * @invoker: A #GIFunctionInvoker
* *
* Release all resources allocated for the internals of @invoker; callers * Release all resources allocated for the internals of @invoker; callers
@ -343,7 +343,7 @@ g_function_invoker_new_for_address (gpointer addr,
* itself however. * itself however.
*/ */
void void
g_function_invoker_destroy (GIFunctionInvoker *invoker) gi_function_invoker_destroy (GIFunctionInvoker *invoker)
{ {
g_free (invoker->cif.arg_types); g_free (invoker->cif.arg_types);
} }
@ -355,7 +355,7 @@ typedef struct {
} GIClosureWrapper; } GIClosureWrapper;
/** /**
* g_callable_info_create_closure: * gi_callable_info_create_closure:
* @callable_info: a callable info from a typelib * @callable_info: a callable info from a typelib
* @cif: a ffi_cif structure * @cif: a ffi_cif structure
* @callback: the ffi callback * @callback: the ffi callback
@ -364,10 +364,10 @@ typedef struct {
* Prepares a callback for ffi invocation. * Prepares a callback for ffi invocation.
* *
* Returns: the ffi_closure or NULL on error. The return value * Returns: the ffi_closure or NULL on error. The return value
* should be freed by calling g_callable_info_destroy_closure(). * should be freed by calling gi_callable_info_destroy_closure().
*/ */
ffi_closure * ffi_closure *
g_callable_info_create_closure (GICallableInfo *callable_info, gi_callable_info_create_closure (GICallableInfo *callable_info,
ffi_cif *cif, ffi_cif *cif,
GIFFIClosureCallback callback, GIFFIClosureCallback callback,
gpointer user_data) gpointer user_data)
@ -392,9 +392,9 @@ g_callable_info_create_closure (GICallableInfo *callable_info,
closure->native_address = exec_ptr; closure->native_address = exec_ptr;
atypes = g_callable_info_get_ffi_arg_types (callable_info, &n_args); atypes = gi_callable_info_get_ffi_arg_types (callable_info, &n_args);
status = ffi_prep_cif (cif, FFI_DEFAULT_ABI, n_args, status = ffi_prep_cif (cif, FFI_DEFAULT_ABI, n_args,
g_callable_info_get_ffi_return_type (callable_info), gi_callable_info_get_ffi_return_type (callable_info),
atypes); atypes);
if (status != FFI_OK) if (status != FFI_OK)
{ {
@ -415,14 +415,14 @@ g_callable_info_create_closure (GICallableInfo *callable_info,
} }
/** /**
* g_callable_info_get_closure_native_address: * gi_callable_info_get_closure_native_address:
* @callable_info: a callable info from a typelib * @callable_info: a callable info from a typelib
* @closure: ffi closure * @closure: ffi closure
* *
* Gets callable code from ffi_closure prepared by g_callable_info_create_closure() * Gets callable code from ffi_closure prepared by gi_callable_info_create_closure()
*/ */
gpointer * gpointer *
g_callable_info_get_closure_native_address (GICallableInfo *callable_info, gi_callable_info_get_closure_native_address (GICallableInfo *callable_info,
ffi_closure *closure) ffi_closure *closure)
{ {
GIClosureWrapper *wrapper = (GIClosureWrapper *)closure; GIClosureWrapper *wrapper = (GIClosureWrapper *)closure;
@ -430,14 +430,14 @@ g_callable_info_get_closure_native_address (GICallableInfo *callable_info,
} }
/** /**
* g_callable_info_destroy_closure: * gi_callable_info_destroy_closure:
* @callable_info: a callable info from a typelib * @callable_info: a callable info from a typelib
* @closure: ffi closure * @closure: ffi closure
* *
* Frees a ffi_closure returned from g_callable_info_create_closure() * Frees a ffi_closure returned from gi_callable_info_create_closure()
*/ */
void void
g_callable_info_destroy_closure (GICallableInfo *callable_info, gi_callable_info_destroy_closure (GICallableInfo *callable_info,
ffi_closure *closure) ffi_closure *closure)
{ {
GIClosureWrapper *wrapper = (GIClosureWrapper *)closure; GIClosureWrapper *wrapper = (GIClosureWrapper *)closure;

View File

@ -73,7 +73,7 @@ GI_AVAILABLE_IN_ALL
ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag, gboolean is_pointer); ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag, gboolean is_pointer);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
ffi_type * g_type_info_get_ffi_type (GITypeInfo *info); ffi_type * gi_type_info_get_ffi_type (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void gi_type_info_extract_ffi_return_value (GITypeInfo *return_info, void gi_type_info_extract_ffi_return_value (GITypeInfo *return_info,
@ -87,32 +87,32 @@ void gi_type_tag_extract_ffi_return_value (GITypeTag return_tag
GIArgument *arg); GIArgument *arg);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_function_info_prep_invoker (GIFunctionInfo *info, gboolean gi_function_info_prep_invoker (GIFunctionInfo *info,
GIFunctionInvoker *invoker, GIFunctionInvoker *invoker,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_function_invoker_new_for_address (gpointer addr, gboolean gi_function_invoker_new_for_address (gpointer addr,
GICallableInfo *info, GICallableInfo *info,
GIFunctionInvoker *invoker, GIFunctionInvoker *invoker,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_function_invoker_destroy (GIFunctionInvoker *invoker); void gi_function_invoker_destroy (GIFunctionInvoker *invoker);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
ffi_closure * g_callable_info_create_closure (GICallableInfo *callable_info, ffi_closure * gi_callable_info_create_closure (GICallableInfo *callable_info,
ffi_cif *cif, ffi_cif *cif,
GIFFIClosureCallback callback, GIFFIClosureCallback callback,
gpointer user_data); gpointer user_data);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gpointer * g_callable_info_get_closure_native_address (GICallableInfo *callable_info, gpointer * gi_callable_info_get_closure_native_address (GICallableInfo *callable_info,
ffi_closure *closure); ffi_closure *closure);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_callable_info_destroy_closure (GICallableInfo *callable_info, void gi_callable_info_destroy_closure (GICallableInfo *callable_info,
ffi_closure *closure); ffi_closure *closure);
G_END_DECLS G_END_DECLS

View File

@ -28,11 +28,11 @@
G_BEGIN_DECLS G_BEGIN_DECLS
typedef struct _GIrTypelibBuild GIrTypelibBuild; typedef struct _GIIrTypelibBuild GIIrTypelibBuild;
typedef struct _GIrModule GIrModule; typedef struct _GIIrModule GIIrModule;
struct _GIrTypelibBuild { struct _GIIrTypelibBuild {
GIrModule *module; GIIrModule *module;
GHashTable *strings; GHashTable *strings;
GHashTable *types; GHashTable *types;
GList *nodes_with_attributes; GList *nodes_with_attributes;
@ -41,7 +41,7 @@ struct _GIrTypelibBuild {
GList *stack; GList *stack;
}; };
struct _GIrModule struct _GIIrModule
{ {
gchar *name; gchar *name;
gchar *version; gchar *version;
@ -66,20 +66,20 @@ struct _GIrModule
GHashTable *disguised_structures; GHashTable *disguised_structures;
}; };
GIrModule *_g_ir_module_new (const gchar *name, GIIrModule *gi_ir_module_new (const gchar *name,
const gchar *nsversion, const gchar *nsversion,
const gchar *module_filename, const gchar *module_filename,
const gchar *c_prefix); const gchar *c_prefix);
void _g_ir_module_free (GIrModule *module); void gi_ir_module_free (GIIrModule *module);
void _g_ir_module_add_include_module (GIrModule *module, void gi_ir_module_add_include_module (GIIrModule *module,
GIrModule *include_module); GIIrModule *include_module);
GITypelib * _g_ir_module_build_typelib (GIrModule *module); GITypelib * gi_ir_module_build_typelib (GIIrModule *module);
void _g_ir_module_fatal (GIrTypelibBuild *build, guint line, const char *msg, ...) G_GNUC_PRINTF (3, 4) G_GNUC_NORETURN; void gi_ir_module_fatal (GIIrTypelibBuild *build, guint line, const char *msg, ...) G_GNUC_PRINTF (3, 4) G_GNUC_NORETURN;
void _g_irnode_init_stats (void); void gi_ir_node_init_stats (void);
void _g_irnode_dump_stats (void); void gi_ir_node_dump_stats (void);
G_END_DECLS G_END_DECLS

View File

@ -37,15 +37,15 @@
#define NUM_SECTIONS 2 #define NUM_SECTIONS 2
GIrModule * GIIrModule *
_g_ir_module_new (const gchar *name, gi_ir_module_new (const gchar *name,
const gchar *version, const gchar *version,
const gchar *shared_library, const gchar *shared_library,
const gchar *c_prefix) const gchar *c_prefix)
{ {
GIrModule *module; GIIrModule *module;
module = g_slice_new0 (GIrModule); module = g_slice_new0 (GIIrModule);
module->name = g_strdup (name); module->name = g_strdup (name);
module->version = g_strdup (version); module->version = g_strdup (version);
@ -64,14 +64,14 @@ _g_ir_module_new (const gchar *name,
} }
void void
_g_ir_module_free (GIrModule *module) gi_ir_module_free (GIIrModule *module)
{ {
GList *e; GList *e;
g_free (module->name); g_free (module->name);
for (e = module->entries; e; e = e->next) for (e = module->entries; e; e = e->next)
_g_ir_node_free ((GIrNode *)e->data); gi_ir_node_free ((GIIrNode *)e->data);
g_list_free (module->entries); g_list_free (module->entries);
/* Don't free dependencies, we inherit that from the parser */ /* Don't free dependencies, we inherit that from the parser */
@ -82,11 +82,11 @@ _g_ir_module_free (GIrModule *module)
g_hash_table_destroy (module->pointer_structures); g_hash_table_destroy (module->pointer_structures);
g_hash_table_destroy (module->disguised_structures); g_hash_table_destroy (module->disguised_structures);
g_slice_free (GIrModule, module); g_slice_free (GIIrModule, module);
} }
/** /**
* _g_ir_module_fatal: * gi_ir_module_fatal:
* @build: Current build * @build: Current build
* @line: Origin line number, or 0 if unknown * @line: Origin line number, or 0 if unknown
* @msg: printf-format string * @msg: printf-format string
@ -95,7 +95,7 @@ _g_ir_module_free (GIrModule *module)
* Report a fatal error, then exit. * Report a fatal error, then exit.
*/ */
void void
_g_ir_module_fatal (GIrTypelibBuild *build, gi_ir_module_fatal (GIIrTypelibBuild *build,
guint line, guint line,
const char *msg, const char *msg,
...) ...)
@ -117,7 +117,7 @@ _g_ir_module_fatal (GIrTypelibBuild *build,
g_string_append (context, "In "); g_string_append (context, "In ");
for (link = g_list_last (build->stack); link; link = link->prev) for (link = g_list_last (build->stack); link; link = link->prev)
{ {
GIrNode *node = link->data; GIIrNode *node = link->data;
const char *name = node->name; const char *name = node->name;
if (name) if (name)
g_string_append (context, name); g_string_append (context, name);
@ -142,7 +142,7 @@ add_alias_foreach (gpointer key,
gpointer value, gpointer value,
gpointer data) gpointer data)
{ {
GIrModule *module = data; GIIrModule *module = data;
g_hash_table_replace (module->aliases, g_strdup (key), g_strdup (value)); g_hash_table_replace (module->aliases, g_strdup (key), g_strdup (value));
} }
@ -152,7 +152,7 @@ add_pointer_structure_foreach (gpointer key,
gpointer value, gpointer value,
gpointer data) gpointer data)
{ {
GIrModule *module = data; GIIrModule *module = data;
g_hash_table_replace (module->pointer_structures, g_strdup (key), value); g_hash_table_replace (module->pointer_structures, g_strdup (key), value);
} }
@ -162,14 +162,14 @@ add_disguised_structure_foreach (gpointer key,
gpointer value, gpointer value,
gpointer data) gpointer data)
{ {
GIrModule *module = data; GIIrModule *module = data;
g_hash_table_replace (module->disguised_structures, g_strdup (key), value); g_hash_table_replace (module->disguised_structures, g_strdup (key), value);
} }
void void
_g_ir_module_add_include_module (GIrModule *module, gi_ir_module_add_include_module (GIIrModule *module,
GIrModule *include_module) GIIrModule *include_module)
{ {
module->include_modules = g_list_prepend (module->include_modules, module->include_modules = g_list_prepend (module->include_modules,
include_module); include_module);
@ -190,7 +190,7 @@ struct AttributeWriteData
{ {
guint count; guint count;
guchar *databuf; guchar *databuf;
GIrNode *node; GIIrNode *node;
GHashTable *strings; GHashTable *strings;
guint32 *offset; guint32 *offset;
guint32 *offset2; guint32 *offset2;
@ -206,15 +206,15 @@ write_attribute (gpointer key, gpointer value, gpointer datap)
*(data->offset) += sizeof (AttributeBlob); *(data->offset) += sizeof (AttributeBlob);
blob->offset = data->node->offset; blob->offset = data->node->offset;
blob->name = _g_ir_write_string ((const char*) key, data->strings, data->databuf, data->offset2); blob->name = gi_ir_write_string ((const char*) key, data->strings, data->databuf, data->offset2);
blob->value = _g_ir_write_string ((const char*) value, data->strings, data->databuf, data->offset2); blob->value = gi_ir_write_string ((const char*) value, data->strings, data->databuf, data->offset2);
data->count++; data->count++;
} }
static guint static guint
write_attributes (GIrModule *module, write_attributes (GIIrModule *module,
GIrNode *node, GIIrNode *node,
GHashTable *strings, GHashTable *strings,
guchar *data, guchar *data,
guint32 *offset, guint32 *offset,
@ -237,8 +237,8 @@ static gint
node_cmp_offset_func (gconstpointer a, node_cmp_offset_func (gconstpointer a,
gconstpointer b) gconstpointer b)
{ {
const GIrNode *na = a; const GIIrNode *na = a;
const GIrNode *nb = b; const GIIrNode *nb = b;
return na->offset - nb->offset; return na->offset - nb->offset;
} }
@ -265,7 +265,7 @@ alloc_section (guint8 *data, SectionType section_id, guint32 offset)
} }
static guint8* static guint8*
add_directory_index_section (guint8 *data, GIrModule *module, guint32 *offset2) add_directory_index_section (guint8 *data, GIIrModule *module, guint32 *offset2)
{ {
DirEntry *entry; DirEntry *entry;
Header *header = (Header*)data; Header *header = (Header*)data;
@ -274,7 +274,7 @@ add_directory_index_section (guint8 *data, GIrModule *module, guint32 *offset2)
guint16 required_size; guint16 required_size;
guint32 new_offset; guint32 new_offset;
dirindex_builder = _gi_typelib_hash_builder_new (); dirindex_builder = gi_typelib_hash_builder_new ();
n_interfaces = ((Header *)data)->n_local_entries; n_interfaces = ((Header *)data)->n_local_entries;
@ -283,37 +283,37 @@ add_directory_index_section (guint8 *data, GIrModule *module, guint32 *offset2)
const char *str; const char *str;
entry = (DirEntry *)&data[header->directory + (i * header->entry_blob_size)]; entry = (DirEntry *)&data[header->directory + (i * header->entry_blob_size)];
str = (const char *) (&data[entry->name]); str = (const char *) (&data[entry->name]);
_gi_typelib_hash_builder_add_string (dirindex_builder, str, i); gi_typelib_hash_builder_add_string (dirindex_builder, str, i);
} }
if (!_gi_typelib_hash_builder_prepare (dirindex_builder)) if (!gi_typelib_hash_builder_prepare (dirindex_builder))
{ {
/* This happens if CMPH couldn't create a perfect hash. So /* This happens if CMPH couldn't create a perfect hash. So
* we just punt and leave no directory index section. * we just punt and leave no directory index section.
*/ */
_gi_typelib_hash_builder_destroy (dirindex_builder); gi_typelib_hash_builder_destroy (dirindex_builder);
return data; return data;
} }
alloc_section (data, GI_SECTION_DIRECTORY_INDEX, *offset2); alloc_section (data, GI_SECTION_DIRECTORY_INDEX, *offset2);
required_size = _gi_typelib_hash_builder_get_buffer_size (dirindex_builder); required_size = gi_typelib_hash_builder_get_buffer_size (dirindex_builder);
required_size = ALIGN_VALUE (required_size, 4); required_size = ALIGN_VALUE (required_size, 4);
new_offset = *offset2 + required_size; new_offset = *offset2 + required_size;
data = g_realloc (data, new_offset); data = g_realloc (data, new_offset);
_gi_typelib_hash_builder_pack (dirindex_builder, ((guint8*)data) + *offset2, required_size); gi_typelib_hash_builder_pack (dirindex_builder, ((guint8*)data) + *offset2, required_size);
*offset2 = new_offset; *offset2 = new_offset;
_gi_typelib_hash_builder_destroy (dirindex_builder); gi_typelib_hash_builder_destroy (dirindex_builder);
return data; return data;
} }
GITypelib * GITypelib *
_g_ir_module_build_typelib (GIrModule *module) gi_ir_module_build_typelib (GIIrModule *module)
{ {
GError *error = NULL; GError *error = NULL;
GITypelib *typelib; GITypelib *typelib;
@ -360,7 +360,7 @@ _g_ir_module_build_typelib (GIrModule *module)
} }
restart: restart:
_g_irnode_init_stats (); gi_ir_node_init_stats ();
strings = g_hash_table_new (g_str_hash, g_str_equal); strings = g_hash_table_new (g_str_hash, g_str_equal);
types = g_hash_table_new (g_str_hash, g_str_equal); types = g_hash_table_new (g_str_hash, g_str_equal);
nodes_with_attributes = NULL; nodes_with_attributes = NULL;
@ -376,9 +376,9 @@ _g_ir_module_build_typelib (GIrModule *module)
for (e = module->entries; e; e = e->next) for (e = module->entries; e; e = e->next)
{ {
GIrNode *node = e->data; GIIrNode *node = e->data;
size += _g_ir_node_get_full_size (node); size += gi_ir_node_get_full_size (node);
/* Also reset the offset here */ /* Also reset the offset here */
node->offset = 0; node->offset = 0;
@ -402,7 +402,7 @@ _g_ir_module_build_typelib (GIrModule *module)
/* fill in header */ /* fill in header */
header = (Header *)data; header = (Header *)data;
memcpy (header, G_IR_MAGIC, 16); memcpy (header, GI_IR_MAGIC, 16);
header->major_version = 4; header->major_version = 4;
header->minor_version = 0; header->minor_version = 0;
header->reserved = 0; header->reserved = 0;
@ -414,17 +414,17 @@ _g_ir_module_build_typelib (GIrModule *module)
* the size calculations above. * the size calculations above.
*/ */
if (dependencies != NULL) if (dependencies != NULL)
header->dependencies = _g_ir_write_string (dependencies, strings, data, &header_size); header->dependencies = gi_ir_write_string (dependencies, strings, data, &header_size);
else else
header->dependencies = 0; header->dependencies = 0;
header->size = 0; /* filled in later */ header->size = 0; /* filled in later */
header->namespace = _g_ir_write_string (module->name, strings, data, &header_size); header->namespace = gi_ir_write_string (module->name, strings, data, &header_size);
header->nsversion = _g_ir_write_string (module->version, strings, data, &header_size); header->nsversion = gi_ir_write_string (module->version, strings, data, &header_size);
header->shared_library = (module->shared_library? header->shared_library = (module->shared_library?
_g_ir_write_string (module->shared_library, strings, data, &header_size) gi_ir_write_string (module->shared_library, strings, data, &header_size)
: 0); : 0);
if (module->c_prefix != NULL) if (module->c_prefix != NULL)
header->c_prefix = _g_ir_write_string (module->c_prefix, strings, data, &header_size); header->c_prefix = gi_ir_write_string (module->c_prefix, strings, data, &header_size);
else else
header->c_prefix = 0; header->c_prefix = 0;
header->entry_blob_size = sizeof (DirEntry); header->entry_blob_size = sizeof (DirEntry);
@ -469,8 +469,8 @@ _g_ir_module_build_typelib (GIrModule *module)
for (e = module->entries, i = 0; e; e = e->next, i++) for (e = module->entries, i = 0; e; e = e->next, i++)
{ {
GIrTypelibBuild build; GIIrTypelibBuild build;
GIrNode *node = e->data; GIIrNode *node = e->data;
if (strchr (node->name, '.')) if (strchr (node->name, '.'))
{ {
@ -488,7 +488,7 @@ _g_ir_module_build_typelib (GIrModule *module)
/* Reset the cached offsets */ /* Reset the cached offsets */
for (link = nodes_with_attributes; link; link = link->next) for (link = nodes_with_attributes; link; link = link->next)
((GIrNode *) link->data)->offset = 0; ((GIIrNode *) link->data)->offset = 0;
g_list_free (nodes_with_attributes); g_list_free (nodes_with_attributes);
strings = NULL; strings = NULL;
@ -501,24 +501,24 @@ _g_ir_module_build_typelib (GIrModule *module)
offset = offset2; offset = offset2;
if (node->type == G_IR_NODE_XREF) if (node->type == GI_IR_NODE_XREF)
{ {
const char *namespace = ((GIrNodeXRef*)node)->namespace; const char *namespace = ((GIIrNodeXRef*)node)->namespace;
entry->blob_type = 0; entry->blob_type = 0;
entry->local = FALSE; entry->local = FALSE;
entry->offset = _g_ir_write_string (namespace, strings, data, &offset2); entry->offset = gi_ir_write_string (namespace, strings, data, &offset2);
entry->name = _g_ir_write_string (node->name, strings, data, &offset2); entry->name = gi_ir_write_string (node->name, strings, data, &offset2);
} }
else else
{ {
old_offset = offset; old_offset = offset;
offset2 = offset + _g_ir_node_get_size (node); offset2 = offset + gi_ir_node_get_size (node);
entry->blob_type = node->type; entry->blob_type = node->type;
entry->local = TRUE; entry->local = TRUE;
entry->offset = offset; entry->offset = offset;
entry->name = _g_ir_write_string (node->name, strings, data, &offset2); entry->name = gi_ir_write_string (node->name, strings, data, &offset2);
memset (&build, 0, sizeof (build)); memset (&build, 0, sizeof (build));
build.module = module; build.module = module;
@ -527,13 +527,13 @@ _g_ir_module_build_typelib (GIrModule *module)
build.nodes_with_attributes = nodes_with_attributes; build.nodes_with_attributes = nodes_with_attributes;
build.n_attributes = header->n_attributes; build.n_attributes = header->n_attributes;
build.data = data; build.data = data;
_g_ir_node_build_typelib (node, NULL, &build, &offset, &offset2, NULL); gi_ir_node_build_typelib (node, NULL, &build, &offset, &offset2, NULL);
nodes_with_attributes = build.nodes_with_attributes; nodes_with_attributes = build.nodes_with_attributes;
header->n_attributes = build.n_attributes; header->n_attributes = build.n_attributes;
if (offset2 > old_offset + _g_ir_node_get_full_size (node)) if (offset2 > old_offset + gi_ir_node_get_full_size (node))
g_error ("left a hole of %d bytes\n", offset2 - old_offset - _g_ir_node_get_full_size (node)); g_error ("left a hole of %d bytes\n", offset2 - old_offset - gi_ir_node_get_full_size (node));
} }
entry++; entry++;
@ -544,7 +544,7 @@ _g_ir_module_build_typelib (GIrModule *module)
g_message ("header: %d entries, %d attributes", header->n_entries, header->n_attributes); g_message ("header: %d entries, %d attributes", header->n_entries, header->n_attributes);
_g_irnode_dump_stats (); gi_ir_node_dump_stats ();
/* Write attributes after the blobs */ /* Write attributes after the blobs */
offset = offset2; offset = offset2;
@ -553,7 +553,7 @@ _g_ir_module_build_typelib (GIrModule *module)
for (e = nodes_with_attributes; e; e = e->next) for (e = nodes_with_attributes; e; e = e->next)
{ {
GIrNode *node = e->data; GIIrNode *node = e->data;
write_attributes (module, node, strings, data, &offset, &offset2); write_attributes (module, node, strings, data, &offset, &offset2);
} }
@ -566,7 +566,7 @@ _g_ir_module_build_typelib (GIrModule *module)
header = (Header *)data; header = (Header *)data;
length = header->size = offset2; length = header->size = offset2;
typelib = g_typelib_new_from_memory (data, length, &error); typelib = gi_typelib_new_from_memory (data, length, &error);
if (!typelib) if (!typelib)
{ {
g_error ("error building typelib: %s", g_error ("error building typelib: %s",

View File

@ -29,68 +29,68 @@
G_BEGIN_DECLS G_BEGIN_DECLS
typedef struct _GIrNode GIrNode; typedef struct _GIIrNode GIIrNode;
typedef struct _GIrNodeFunction GIrNodeFunction; typedef struct _GIIrNodeFunction GIIrNodeFunction;
typedef struct _GIrNodeParam GIrNodeParam; typedef struct _GIIrNodeParam GIIrNodeParam;
typedef struct _GIrNodeType GIrNodeType; typedef struct _GIIrNodeType GIIrNodeType;
typedef struct _GIrNodeInterface GIrNodeInterface; typedef struct _GIIrNodeInterface GIIrNodeInterface;
typedef struct _GIrNodeSignal GIrNodeSignal; typedef struct _GIIrNodeSignal GIIrNodeSignal;
typedef struct _GIrNodeProperty GIrNodeProperty; typedef struct _GIIrNodeProperty GIIrNodeProperty;
typedef struct _GIrNodeVFunc GIrNodeVFunc; typedef struct _GIIrNodeVFunc GIIrNodeVFunc;
typedef struct _GIrNodeField GIrNodeField; typedef struct _GIIrNodeField GIIrNodeField;
typedef struct _GIrNodeValue GIrNodeValue; typedef struct _GIIrNodeValue GIIrNodeValue;
typedef struct _GIrNodeEnum GIrNodeEnum; typedef struct _GIIrNodeEnum GIIrNodeEnum;
typedef struct _GIrNodeBoxed GIrNodeBoxed; typedef struct _GIIrNodeBoxed GIIrNodeBoxed;
typedef struct _GIrNodeStruct GIrNodeStruct; typedef struct _GIIrNodeStruct GIIrNodeStruct;
typedef struct _GIrNodeConstant GIrNodeConstant; typedef struct _GIIrNodeConstant GIIrNodeConstant;
typedef struct _GIrNodeXRef GIrNodeXRef; typedef struct _GIIrNodeXRef GIIrNodeXRef;
typedef struct _GIrNodeUnion GIrNodeUnion; typedef struct _GIIrNodeUnion GIIrNodeUnion;
typedef enum typedef enum
{ {
G_IR_NODE_INVALID = 0, GI_IR_NODE_INVALID = 0,
G_IR_NODE_FUNCTION = 1, GI_IR_NODE_FUNCTION = 1,
G_IR_NODE_CALLBACK = 2, GI_IR_NODE_CALLBACK = 2,
G_IR_NODE_STRUCT = 3, GI_IR_NODE_STRUCT = 3,
G_IR_NODE_BOXED = 4, GI_IR_NODE_BOXED = 4,
G_IR_NODE_ENUM = 5, GI_IR_NODE_ENUM = 5,
G_IR_NODE_FLAGS = 6, GI_IR_NODE_FLAGS = 6,
G_IR_NODE_OBJECT = 7, GI_IR_NODE_OBJECT = 7,
G_IR_NODE_INTERFACE = 8, GI_IR_NODE_INTERFACE = 8,
G_IR_NODE_CONSTANT = 9, GI_IR_NODE_CONSTANT = 9,
G_IR_NODE_INVALID_0 = 10, /* DELETED - used to be ERROR_DOMAIN */ GI_IR_NODE_INVALID_0 = 10, /* DELETED - used to be ERROR_DOMAIN */
G_IR_NODE_UNION = 11, GI_IR_NODE_UNION = 11,
G_IR_NODE_PARAM = 12, GI_IR_NODE_PARAM = 12,
G_IR_NODE_TYPE = 13, GI_IR_NODE_TYPE = 13,
G_IR_NODE_PROPERTY = 14, GI_IR_NODE_PROPERTY = 14,
G_IR_NODE_SIGNAL = 15, GI_IR_NODE_SIGNAL = 15,
G_IR_NODE_VALUE = 16, GI_IR_NODE_VALUE = 16,
G_IR_NODE_VFUNC = 17, GI_IR_NODE_VFUNC = 17,
G_IR_NODE_FIELD = 18, GI_IR_NODE_FIELD = 18,
G_IR_NODE_XREF = 19 GI_IR_NODE_XREF = 19
} GIrNodeTypeId; } GIIrNodeTypeId;
struct _GIrNode struct _GIIrNode
{ {
GIrNodeTypeId type; GIIrNodeTypeId type;
gchar *name; gchar *name;
GIrModule *module; GIIrModule *module;
guint32 offset; /* Assigned as we build the typelib */ guint32 offset; /* Assigned as we build the typelib */
GHashTable *attributes; GHashTable *attributes;
}; };
struct _GIrNodeXRef struct _GIIrNodeXRef
{ {
GIrNode node; GIIrNode node;
gchar *namespace; gchar *namespace;
}; };
struct _GIrNodeFunction struct _GIIrNodeFunction
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
gboolean is_varargs; /* Not in typelib yet */ gboolean is_varargs; /* Not in typelib yet */
@ -106,13 +106,13 @@ struct _GIrNodeFunction
gchar *symbol; gchar *symbol;
char *property; char *property;
GIrNodeParam *result; GIIrNodeParam *result;
GList *parameters; GList *parameters;
}; };
struct _GIrNodeType struct _GIIrNodeType
{ {
GIrNode node; GIIrNode node;
gboolean is_pointer; gboolean is_pointer;
gboolean is_basic; gboolean is_basic;
@ -133,16 +133,16 @@ struct _GIrNodeType
gint size; gint size;
gint array_type; gint array_type;
GIrNodeType *parameter_type1; GIIrNodeType *parameter_type1;
GIrNodeType *parameter_type2; GIIrNodeType *parameter_type2;
gchar *giinterface; gchar *giinterface;
gchar **errors; gchar **errors;
}; };
struct _GIrNodeParam struct _GIIrNodeParam
{ {
GIrNode node; GIIrNode node;
gboolean in; gboolean in;
gboolean out; gboolean out;
@ -158,12 +158,12 @@ struct _GIrNodeParam
gint8 closure; gint8 closure;
gint8 destroy; gint8 destroy;
GIrNodeType *type; GIIrNodeType *type;
}; };
struct _GIrNodeProperty struct _GIIrNodeProperty
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
@ -178,12 +178,12 @@ struct _GIrNodeProperty
char *setter; char *setter;
char *getter; char *getter;
GIrNodeType *type; GIIrNodeType *type;
}; };
struct _GIrNodeSignal struct _GIIrNodeSignal
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
@ -202,12 +202,12 @@ struct _GIrNodeSignal
gint class_closure; gint class_closure;
GList *parameters; GList *parameters;
GIrNodeParam *result; GIIrNodeParam *result;
}; };
struct _GIrNodeVFunc struct _GIIrNodeVFunc
{ {
GIrNode node; GIIrNode node;
gboolean is_varargs; /* Not in typelib yet */ gboolean is_varargs; /* Not in typelib yet */
gboolean must_chain_up; gboolean must_chain_up;
@ -220,27 +220,27 @@ struct _GIrNodeVFunc
char *invoker; char *invoker;
GList *parameters; GList *parameters;
GIrNodeParam *result; GIIrNodeParam *result;
gint offset; gint offset;
}; };
struct _GIrNodeField struct _GIIrNodeField
{ {
GIrNode node; GIIrNode node;
gboolean readable; gboolean readable;
gboolean writable; gboolean writable;
gint bits; gint bits;
gint offset; gint offset;
GIrNodeFunction *callback; GIIrNodeFunction *callback;
GIrNodeType *type; GIIrNodeType *type;
}; };
struct _GIrNodeInterface struct _GIIrNodeInterface
{ {
GIrNode node; GIIrNode node;
gboolean abstract; gboolean abstract;
gboolean deprecated; gboolean deprecated;
@ -267,29 +267,29 @@ struct _GIrNodeInterface
GList *members; GList *members;
}; };
struct _GIrNodeValue struct _GIIrNodeValue
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
gint64 value; gint64 value;
}; };
struct _GIrNodeConstant struct _GIIrNodeConstant
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
GIrNodeType *type; GIIrNodeType *type;
gchar *value; gchar *value;
}; };
struct _GIrNodeEnum struct _GIIrNodeEnum
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
gint storage_type; gint storage_type;
@ -302,9 +302,9 @@ struct _GIrNodeEnum
GList *methods; GList *methods;
}; };
struct _GIrNodeBoxed struct _GIIrNodeBoxed
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
@ -317,9 +317,9 @@ struct _GIrNodeBoxed
GList *members; GList *members;
}; };
struct _GIrNodeStruct struct _GIIrNodeStruct
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
gboolean disguised; gboolean disguised;
@ -340,9 +340,9 @@ struct _GIrNodeStruct
GList *members; GList *members;
}; };
struct _GIrNodeUnion struct _GIIrNodeUnion
{ {
GIrNode node; GIIrNode node;
gboolean deprecated; gboolean deprecated;
@ -359,42 +359,42 @@ struct _GIrNodeUnion
gint size; gint size;
gint discriminator_offset; gint discriminator_offset;
GIrNodeType *discriminator_type; GIIrNodeType *discriminator_type;
}; };
GIrNode * _g_ir_node_new (GIrNodeTypeId type, GIIrNode *gi_ir_node_new (GIIrNodeTypeId type,
GIrModule *module); GIIrModule *module);
void _g_ir_node_free (GIrNode *node); void gi_ir_node_free (GIIrNode *node);
guint32 _g_ir_node_get_size (GIrNode *node); guint32 gi_ir_node_get_size (GIIrNode *node);
guint32 _g_ir_node_get_full_size (GIrNode *node); guint32 gi_ir_node_get_full_size (GIIrNode *node);
void _g_ir_node_build_typelib (GIrNode *node, void gi_ir_node_build_typelib (GIIrNode *node,
GIrNode *parent, GIIrNode *parent,
GIrTypelibBuild *build, GIIrTypelibBuild *build,
guint32 *offset, guint32 *offset,
guint32 *offset2, guint32 *offset2,
guint16 *count2); guint16 *count2);
int _g_ir_node_cmp (GIrNode *node, int gi_ir_node_cmp (GIIrNode *node,
GIrNode *other); GIIrNode *other);
gboolean _g_ir_node_can_have_member (GIrNode *node); gboolean gi_ir_node_can_have_member (GIIrNode *node);
void _g_ir_node_add_member (GIrNode *node, void gi_ir_node_add_member (GIIrNode *node,
GIrNodeFunction *member); GIIrNodeFunction *member);
guint32 _g_ir_write_string (const gchar *str, guint32 gi_ir_write_string (const gchar *str,
GHashTable *strings, GHashTable *strings,
guchar *data, guchar *data,
guint32 *offset); guint32 *offset);
const gchar * _g_ir_node_param_direction_string (GIrNodeParam * node); const gchar * gi_ir_node_param_direction_string (GIIrNodeParam * node);
const gchar * _g_ir_node_type_to_string (GIrNodeTypeId type); const gchar * gi_ir_node_type_to_string (GIIrNodeTypeId type);
GIrNode *_g_ir_find_node (GIrTypelibBuild *build, GIIrNode *gi_ir_find_node (GIIrTypelibBuild *build,
GIrModule *module, GIIrModule *module,
const char *name); const char *name);
/* In giroffsets.c */ /* In giroffsets.c */
void _g_ir_node_compute_offsets (GIrTypelibBuild *build, void gi_ir_node_compute_offsets (GIIrTypelibBuild *build,
GIrNode *node); GIIrNode *node);
G_END_DECLS G_END_DECLS

File diff suppressed because it is too large Load Diff

View File

@ -70,7 +70,7 @@ typedef enum {
} Enum9; } Enum9;
static void static void
compute_enum_storage_type (GIrNodeEnum *enum_node) compute_enum_storage_type (GIIrNodeEnum *enum_node)
{ {
GList *l; GList *l;
gint64 max_value = 0; gint64 max_value = 0;
@ -83,7 +83,7 @@ compute_enum_storage_type (GIrNodeEnum *enum_node)
for (l = enum_node->values; l; l = l->next) for (l = enum_node->values; l; l = l->next)
{ {
GIrNodeValue *value = l->data; GIIrNodeValue *value = l->data;
if (value->value > max_value) if (value->value > max_value)
max_value = value->value; max_value = value->value;
if (value->value < min_value) if (value->value < min_value)
@ -148,7 +148,7 @@ compute_enum_storage_type (GIrNodeEnum *enum_node)
} }
static gboolean static gboolean
get_enum_size_alignment (GIrNodeEnum *enum_node, get_enum_size_alignment (GIIrNodeEnum *enum_node,
gint *size, gint *size,
gint *alignment) gint *alignment)
{ {
@ -176,7 +176,7 @@ get_enum_size_alignment (GIrNodeEnum *enum_node,
break; break;
default: default:
g_error ("Unexpected enum storage type %s", g_error ("Unexpected enum storage type %s",
g_type_tag_to_string (enum_node->storage_type)); gi_type_tag_to_string (enum_node->storage_type));
} }
*size = type_ffi->size; *size = type_ffi->size;
@ -186,63 +186,63 @@ get_enum_size_alignment (GIrNodeEnum *enum_node,
} }
static gboolean static gboolean
get_interface_size_alignment (GIrTypelibBuild *build, get_interface_size_alignment (GIIrTypelibBuild *build,
GIrNodeType *type, GIIrNodeType *type,
gint *size, gint *size,
gint *alignment, gint *alignment,
const char *who) const char *who)
{ {
GIrNode *iface; GIIrNode *iface;
iface = _g_ir_find_node (build, ((GIrNode*)type)->module, type->giinterface); iface = gi_ir_find_node (build, ((GIIrNode*)type)->module, type->giinterface);
if (!iface) if (!iface)
{ {
_g_ir_module_fatal (build, 0, "Can't resolve type '%s' for %s", type->giinterface, who); gi_ir_module_fatal (build, 0, "Can't resolve type '%s' for %s", type->giinterface, who);
*size = -1; *size = -1;
*alignment = -1; *alignment = -1;
return FALSE; return FALSE;
} }
_g_ir_node_compute_offsets (build, iface); gi_ir_node_compute_offsets (build, iface);
switch (iface->type) switch (iface->type)
{ {
case G_IR_NODE_BOXED: case GI_IR_NODE_BOXED:
{ {
GIrNodeBoxed *boxed = (GIrNodeBoxed *)iface; GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)iface;
*size = boxed->size; *size = boxed->size;
*alignment = boxed->alignment; *alignment = boxed->alignment;
break; break;
} }
case G_IR_NODE_STRUCT: case GI_IR_NODE_STRUCT:
{ {
GIrNodeStruct *struct_ = (GIrNodeStruct *)iface; GIIrNodeStruct *struct_ = (GIIrNodeStruct *)iface;
*size = struct_->size; *size = struct_->size;
*alignment = struct_->alignment; *alignment = struct_->alignment;
break; break;
} }
case G_IR_NODE_OBJECT: case GI_IR_NODE_OBJECT:
case G_IR_NODE_INTERFACE: case GI_IR_NODE_INTERFACE:
{ {
GIrNodeInterface *interface = (GIrNodeInterface *)iface; GIIrNodeInterface *interface = (GIIrNodeInterface *)iface;
*size = interface->size; *size = interface->size;
*alignment = interface->alignment; *alignment = interface->alignment;
break; break;
} }
case G_IR_NODE_UNION: case GI_IR_NODE_UNION:
{ {
GIrNodeUnion *union_ = (GIrNodeUnion *)iface; GIIrNodeUnion *union_ = (GIIrNodeUnion *)iface;
*size = union_->size; *size = union_->size;
*alignment = union_->alignment; *alignment = union_->alignment;
break; break;
} }
case G_IR_NODE_ENUM: case GI_IR_NODE_ENUM:
case G_IR_NODE_FLAGS: case GI_IR_NODE_FLAGS:
{ {
return get_enum_size_alignment ((GIrNodeEnum *)iface, return get_enum_size_alignment ((GIIrNodeEnum *)iface,
size, alignment); size, alignment);
} }
case G_IR_NODE_CALLBACK: case GI_IR_NODE_CALLBACK:
{ {
*size = ffi_type_pointer.size; *size = ffi_type_pointer.size;
*alignment = ffi_type_pointer.alignment; *alignment = ffi_type_pointer.alignment;
@ -252,7 +252,7 @@ get_interface_size_alignment (GIrTypelibBuild *build,
{ {
g_warning ("%s has is not a pointer and is of type %s", g_warning ("%s has is not a pointer and is of type %s",
who, who,
_g_ir_node_type_to_string (iface->type)); gi_ir_node_type_to_string (iface->type));
*size = -1; *size = -1;
*alignment = -1; *alignment = -1;
break; break;
@ -263,8 +263,8 @@ get_interface_size_alignment (GIrTypelibBuild *build,
} }
static gboolean static gboolean
get_type_size_alignment (GIrTypelibBuild *build, get_type_size_alignment (GIIrTypelibBuild *build,
GIrNodeType *type, GIIrNodeType *type,
gint *size, gint *size,
gint *alignment, gint *alignment,
const char *who) const char *who)
@ -314,7 +314,7 @@ get_type_size_alignment (GIrTypelibBuild *build,
{ {
g_warning ("%s has is not a pointer and is of type %s", g_warning ("%s has is not a pointer and is of type %s",
who, who,
g_type_tag_to_string (type->tag)); gi_type_tag_to_string (type->tag));
*size = -1; *size = -1;
*alignment = -1; *alignment = -1;
return FALSE; return FALSE;
@ -330,17 +330,17 @@ get_type_size_alignment (GIrTypelibBuild *build,
} }
static gboolean static gboolean
get_field_size_alignment (GIrTypelibBuild *build, get_field_size_alignment (GIIrTypelibBuild *build,
GIrNodeField *field, GIIrNodeField *field,
GIrNode *parent_node, GIIrNode *parent_node,
gint *size, gint *size,
gint *alignment) gint *alignment)
{ {
GIrModule *module = build->module; GIIrModule *module = build->module;
gchar *who; gchar *who;
gboolean success; gboolean success;
who = g_strdup_printf ("field %s.%s.%s", module->name, parent_node->name, ((GIrNode *)field)->name); who = g_strdup_printf ("field %s.%s.%s", module->name, parent_node->name, ((GIIrNode *)field)->name);
if (field->callback) if (field->callback)
{ {
@ -358,8 +358,8 @@ get_field_size_alignment (GIrTypelibBuild *build,
#define GI_ALIGN(n, align) (((n) + (align) - 1) & ~((align) - 1)) #define GI_ALIGN(n, align) (((n) + (align) - 1) & ~((align) - 1))
static gboolean static gboolean
compute_struct_field_offsets (GIrTypelibBuild *build, compute_struct_field_offsets (GIIrTypelibBuild *build,
GIrNode *node, GIIrNode *node,
GList *members, GList *members,
gint *size_out, gint *size_out,
gint *alignment_out) gint *alignment_out)
@ -373,11 +373,11 @@ compute_struct_field_offsets (GIrTypelibBuild *build,
for (l = members; l; l = l->next) for (l = members; l; l = l->next)
{ {
GIrNode *member = (GIrNode *)l->data; GIIrNode *member = (GIIrNode *)l->data;
if (member->type == G_IR_NODE_FIELD) if (member->type == GI_IR_NODE_FIELD)
{ {
GIrNodeField *field = (GIrNodeField *)member; GIIrNodeField *field = (GIIrNodeField *)member;
if (!have_error) if (!have_error)
{ {
@ -399,7 +399,7 @@ compute_struct_field_offsets (GIrTypelibBuild *build,
if (have_error) if (have_error)
field->offset = -1; field->offset = -1;
} }
else if (member->type == G_IR_NODE_CALLBACK) else if (member->type == GI_IR_NODE_CALLBACK)
{ {
size = GI_ALIGN (size, ffi_type_pointer.alignment); size = GI_ALIGN (size, ffi_type_pointer.alignment);
alignment = MAX (alignment, ffi_type_pointer.alignment); alignment = MAX (alignment, ffi_type_pointer.alignment);
@ -425,8 +425,8 @@ compute_struct_field_offsets (GIrTypelibBuild *build,
} }
static gboolean static gboolean
compute_union_field_offsets (GIrTypelibBuild *build, compute_union_field_offsets (GIIrTypelibBuild *build,
GIrNode *node, GIIrNode *node,
GList *members, GList *members,
gint *size_out, gint *size_out,
gint *alignment_out) gint *alignment_out)
@ -440,11 +440,11 @@ compute_union_field_offsets (GIrTypelibBuild *build,
for (l = members; l; l = l->next) for (l = members; l; l = l->next)
{ {
GIrNode *member = (GIrNode *)l->data; GIIrNode *member = (GIIrNode *)l->data;
if (member->type == G_IR_NODE_FIELD) if (member->type == GI_IR_NODE_FIELD)
{ {
GIrNodeField *field = (GIrNodeField *)member; GIIrNodeField *field = (GIIrNodeField *)member;
if (!have_error) if (!have_error)
{ {
@ -481,11 +481,11 @@ compute_union_field_offsets (GIrTypelibBuild *build,
} }
static gboolean static gboolean
check_needs_computation (GIrTypelibBuild *build, check_needs_computation (GIIrTypelibBuild *build,
GIrNode *node, GIIrNode *node,
gint alignment) gint alignment)
{ {
GIrModule *module = build->module; GIIrModule *module = build->module;
/* /*
* 0: Not yet computed * 0: Not yet computed
* >0: Previously succeeded * >0: Previously succeeded
@ -502,22 +502,22 @@ check_needs_computation (GIrTypelibBuild *build,
} }
/* /*
* _g_ir_node_compute_offsets: * gi_ir_node_compute_offsets:
* @build: Current typelib build * @build: Current typelib build
* @node: a #GIrNode * @node: a #GIIrNode
* *
* If a node is a a structure or union, makes sure that the field * If a node is a a structure or union, makes sure that the field
* offsets have been computed, and also computes the overall size and * offsets have been computed, and also computes the overall size and
* alignment for the type. * alignment for the type.
*/ */
void void
_g_ir_node_compute_offsets (GIrTypelibBuild *build, gi_ir_node_compute_offsets (GIIrTypelibBuild *build,
GIrNode *node) GIIrNode *node)
{ {
gboolean appended_stack; gboolean appended_stack;
if (build->stack) if (build->stack)
appended_stack = node != (GIrNode*)build->stack->data; appended_stack = node != (GIIrNode*)build->stack->data;
else else
appended_stack = TRUE; appended_stack = TRUE;
if (appended_stack) if (appended_stack)
@ -525,9 +525,9 @@ _g_ir_node_compute_offsets (GIrTypelibBuild *build,
switch (node->type) switch (node->type)
{ {
case G_IR_NODE_BOXED: case GI_IR_NODE_BOXED:
{ {
GIrNodeBoxed *boxed = (GIrNodeBoxed *)node; GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node;
if (!check_needs_computation (build, node, boxed->alignment)) if (!check_needs_computation (build, node, boxed->alignment))
return; return;
@ -536,9 +536,9 @@ _g_ir_node_compute_offsets (GIrTypelibBuild *build,
&boxed->size, &boxed->alignment); &boxed->size, &boxed->alignment);
break; break;
} }
case G_IR_NODE_STRUCT: case GI_IR_NODE_STRUCT:
{ {
GIrNodeStruct *struct_ = (GIrNodeStruct *)node; GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node;
if (!check_needs_computation (build, node, struct_->alignment)) if (!check_needs_computation (build, node, struct_->alignment))
return; return;
@ -547,10 +547,10 @@ _g_ir_node_compute_offsets (GIrTypelibBuild *build,
&struct_->size, &struct_->alignment); &struct_->size, &struct_->alignment);
break; break;
} }
case G_IR_NODE_OBJECT: case GI_IR_NODE_OBJECT:
case G_IR_NODE_INTERFACE: case GI_IR_NODE_INTERFACE:
{ {
GIrNodeInterface *iface = (GIrNodeInterface *)node; GIIrNodeInterface *iface = (GIIrNodeInterface *)node;
if (!check_needs_computation (build, node, iface->alignment)) if (!check_needs_computation (build, node, iface->alignment))
return; return;
@ -559,21 +559,21 @@ _g_ir_node_compute_offsets (GIrTypelibBuild *build,
&iface->size, &iface->alignment); &iface->size, &iface->alignment);
break; break;
} }
case G_IR_NODE_UNION: case GI_IR_NODE_UNION:
{ {
GIrNodeUnion *union_ = (GIrNodeUnion *)node; GIIrNodeUnion *union_ = (GIIrNodeUnion *)node;
if (!check_needs_computation (build, node, union_->alignment)) if (!check_needs_computation (build, node, union_->alignment))
return; return;
compute_union_field_offsets (build, (GIrNode*)union_, union_->members, compute_union_field_offsets (build, (GIIrNode*)union_, union_->members,
&union_->size, &union_->alignment); &union_->size, &union_->alignment);
break; break;
} }
case G_IR_NODE_ENUM: case GI_IR_NODE_ENUM:
case G_IR_NODE_FLAGS: case GI_IR_NODE_FLAGS:
{ {
GIrNodeEnum *enum_ = (GIrNodeEnum *)node; GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node;
if (enum_->storage_type != GI_TYPE_TAG_VOID) /* already done */ if (enum_->storage_type != GI_TYPE_TAG_VOID) /* already done */
return; return;

View File

@ -29,20 +29,20 @@ G_BEGIN_DECLS
#include "girmodule-private.h" #include "girmodule-private.h"
typedef struct _GIrParser GIrParser; typedef struct _GIIrParser GIIrParser;
GIrParser *_g_ir_parser_new (void); GIIrParser *gi_ir_parser_new (void);
void _g_ir_parser_free (GIrParser *parser); void gi_ir_parser_free (GIIrParser *parser);
void _g_ir_parser_set_includes (GIrParser *parser, void gi_ir_parser_set_includes (GIIrParser *parser,
const gchar *const *includes); const gchar *const *includes);
GIrModule *_g_ir_parser_parse_string (GIrParser *parser, GIIrModule *gi_ir_parser_parse_string (GIIrParser *parser,
const gchar *namespace, const gchar *namespace,
const gchar *filename, const gchar *filename,
const gchar *buffer, const gchar *buffer,
gssize length, gssize length,
GError **error); GError **error);
GIrModule *_g_ir_parser_parse_file (GIrParser *parser, GIIrModule *gi_ir_parser_parse_file (GIIrParser *parser,
const gchar *filename, const gchar *filename,
GError **error); GError **error);

File diff suppressed because it is too large Load Diff

View File

@ -27,7 +27,7 @@
G_BEGIN_DECLS G_BEGIN_DECLS
void g_ir_writer_write (const char *filename, void gi_ir_writer_write (const char *filename,
const char *ns, const char *ns,
gboolean needs_prefix, gboolean needs_prefix,
gboolean show_all); gboolean show_all);

View File

@ -165,11 +165,11 @@ xml_free (Xml *xml)
static void static void
check_unresolved (GIBaseInfo *info) check_unresolved (GIBaseInfo *info)
{ {
if (g_base_info_get_type (info) != GI_INFO_TYPE_UNRESOLVED) if (gi_base_info_get_type (info) != GI_INFO_TYPE_UNRESOLVED)
return; return;
g_critical ("Found unresolved type '%s' '%s'\n", g_critical ("Found unresolved type '%s' '%s'\n",
g_base_info_get_name (info), g_base_info_get_namespace (info)); gi_base_info_get_name (info), gi_base_info_get_namespace (info));
} }
static void static void
@ -177,10 +177,10 @@ write_type_name (const gchar *ns,
GIBaseInfo *info, GIBaseInfo *info,
Xml *file) Xml *file)
{ {
if (strcmp (ns, g_base_info_get_namespace (info)) != 0) if (strcmp (ns, gi_base_info_get_namespace (info)) != 0)
xml_printf (file, "%s.", g_base_info_get_namespace (info)); xml_printf (file, "%s.", gi_base_info_get_namespace (info));
xml_printf (file, "%s", g_base_info_get_name (info)); xml_printf (file, "%s", gi_base_info_get_name (info));
} }
static void static void
@ -225,8 +225,8 @@ write_type_info (const gchar *ns,
check_unresolved ((GIBaseInfo*)info); check_unresolved ((GIBaseInfo*)info);
tag = g_type_info_get_tag (info); tag = gi_type_info_get_tag (info);
is_pointer = g_type_info_is_pointer (info); is_pointer = gi_type_info_is_pointer (info);
if (tag == GI_TYPE_TAG_VOID) if (tag == GI_TYPE_TAG_VOID)
{ {
@ -239,7 +239,7 @@ write_type_info (const gchar *ns,
else if (GI_TYPE_TAG_IS_BASIC (tag)) else if (GI_TYPE_TAG_IS_BASIC (tag))
{ {
xml_start_element (file, "type"); xml_start_element (file, "type");
xml_printf (file, " name=\"%s\"", g_type_tag_to_string (tag)); xml_printf (file, " name=\"%s\"", gi_type_tag_to_string (tag));
xml_end_element (file, "type"); xml_end_element (file, "type");
} }
else if (tag == GI_TYPE_TAG_ARRAY) else if (tag == GI_TYPE_TAG_ARRAY)
@ -249,7 +249,7 @@ write_type_info (const gchar *ns,
xml_start_element (file, "array"); xml_start_element (file, "array");
switch (g_type_info_get_array_type (info)) { switch (gi_type_info_get_array_type (info)) {
case GI_ARRAY_TYPE_C: case GI_ARRAY_TYPE_C:
break; break;
case GI_ARRAY_TYPE_ARRAY: case GI_ARRAY_TYPE_ARRAY:
@ -268,42 +268,42 @@ write_type_info (const gchar *ns,
if (name) if (name)
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
type = g_type_info_get_param_type (info, 0); type = gi_type_info_get_param_type (info, 0);
length = g_type_info_get_array_length (info); length = gi_type_info_get_array_length (info);
if (length >= 0) if (length >= 0)
xml_printf (file, " length=\"%d\"", length); xml_printf (file, " length=\"%d\"", length);
size = g_type_info_get_array_fixed_size (info); size = gi_type_info_get_array_fixed_size (info);
if (size >= 0) if (size >= 0)
xml_printf (file, " fixed-size=\"%d\"", size); xml_printf (file, " fixed-size=\"%d\"", size);
if (g_type_info_is_zero_terminated (info)) if (gi_type_info_is_zero_terminated (info))
xml_printf (file, " zero-terminated=\"1\""); xml_printf (file, " zero-terminated=\"1\"");
write_type_info (ns, type, file); write_type_info (ns, type, file);
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
xml_end_element (file, "array"); xml_end_element (file, "array");
} }
else if (tag == GI_TYPE_TAG_INTERFACE) else if (tag == GI_TYPE_TAG_INTERFACE)
{ {
GIBaseInfo *iface = g_type_info_get_interface (info); GIBaseInfo *iface = gi_type_info_get_interface (info);
xml_start_element (file, "type"); xml_start_element (file, "type");
write_type_name_attribute (ns, iface, "name", file); write_type_name_attribute (ns, iface, "name", file);
xml_end_element (file, "type"); xml_end_element (file, "type");
g_base_info_unref (iface); gi_base_info_unref (iface);
} }
else if (tag == GI_TYPE_TAG_GLIST) else if (tag == GI_TYPE_TAG_GLIST)
{ {
xml_start_element (file, "type"); xml_start_element (file, "type");
xml_printf (file, " name=\"GLib.List\""); xml_printf (file, " name=\"GLib.List\"");
type = g_type_info_get_param_type (info, 0); type = gi_type_info_get_param_type (info, 0);
if (type) if (type)
{ {
write_type_info (ns, type, file); write_type_info (ns, type, file);
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
} }
xml_end_element (file, "type"); xml_end_element (file, "type");
} }
@ -311,11 +311,11 @@ write_type_info (const gchar *ns,
{ {
xml_start_element (file, "type"); xml_start_element (file, "type");
xml_printf (file, " name=\"GLib.SList\""); xml_printf (file, " name=\"GLib.SList\"");
type = g_type_info_get_param_type (info, 0); type = gi_type_info_get_param_type (info, 0);
if (type) if (type)
{ {
write_type_info (ns, type, file); write_type_info (ns, type, file);
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
} }
xml_end_element (file, "type"); xml_end_element (file, "type");
} }
@ -323,14 +323,14 @@ write_type_info (const gchar *ns,
{ {
xml_start_element (file, "type"); xml_start_element (file, "type");
xml_printf (file, " name=\"GLib.HashTable\""); xml_printf (file, " name=\"GLib.HashTable\"");
type = g_type_info_get_param_type (info, 0); type = gi_type_info_get_param_type (info, 0);
if (type) if (type)
{ {
write_type_info (ns, type, file); write_type_info (ns, type, file);
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
type = g_type_info_get_param_type (info, 1); type = gi_type_info_get_param_type (info, 1);
write_type_info (ns, type, file); write_type_info (ns, type, file);
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
} }
xml_end_element (file, "type"); xml_end_element (file, "type");
} }
@ -354,7 +354,7 @@ write_attributes (Xml *file,
GIAttributeIter iter = { 0, }; GIAttributeIter iter = { 0, };
char *name, *value; char *name, *value;
while (g_base_info_iterate_attributes (info, &iter, &name, &value)) while (gi_base_info_iterate_attributes (info, &iter, &name, &value))
{ {
xml_start_element (file, "attribute"); xml_start_element (file, "attribute");
xml_printf (file, " name=\"%s\" value=\"%s\"", name, value); xml_printf (file, " name=\"%s\" value=\"%s\"", name, value);
@ -369,7 +369,7 @@ write_return_value_attributes (Xml *file,
GIAttributeIter iter = { 0, }; GIAttributeIter iter = { 0, };
char *name, *value; char *name, *value;
while (g_callable_info_iterate_return_attributes (info, &iter, &name, &value)) while (gi_callable_info_iterate_return_attributes (info, &iter, &name, &value))
{ {
xml_start_element (file, "attribute"); xml_start_element (file, "attribute");
xml_printf (file, " name=\"%s\" value=\"%s\"", name, value); xml_printf (file, " name=\"%s\" value=\"%s\"", name, value);
@ -402,10 +402,10 @@ write_field_info (const gchar *ns,
GIBaseInfo *interface; GIBaseInfo *interface;
GIArgument value; GIArgument value;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
flags = g_field_info_get_flags (info); flags = gi_field_info_get_flags (info);
size = g_field_info_get_size (info); size = gi_field_info_get_size (info);
offset = g_field_info_get_offset (info); offset = gi_field_info_get_offset (info);
xml_start_element (file, "field"); xml_start_element (file, "field");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
@ -423,14 +423,14 @@ write_field_info (const gchar *ns,
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
type = g_field_info_get_type (info); type = gi_field_info_get_type (info);
if (branch) if (branch)
{ {
xml_printf (file, " branch=\""); xml_printf (file, " branch=\"");
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
type = g_constant_info_get_type (branch); type = gi_constant_info_get_type (branch);
g_constant_info_get_value (branch, &value); gi_constant_info_get_value (branch, &value);
write_constant_value (ns, type, &value, file); write_constant_value (ns, type, &value, file);
xml_printf (file, "\""); xml_printf (file, "\"");
} }
@ -441,16 +441,16 @@ write_field_info (const gchar *ns,
xml_printf (file, "offset=\"%d\"", offset); xml_printf (file, "offset=\"%d\"", offset);
} }
interface = g_type_info_get_interface (type); interface = gi_type_info_get_interface (type);
if (interface && g_base_info_get_type(interface) == GI_INFO_TYPE_CALLBACK) if (interface && gi_base_info_get_type(interface) == GI_INFO_TYPE_CALLBACK)
write_callback_info (ns, (GICallbackInfo *)interface, file); write_callback_info (ns, (GICallbackInfo *)interface, file);
else else
write_type_info (ns, type, file); write_type_info (ns, type, file);
if (interface) if (interface)
g_base_info_unref (interface); gi_base_info_unref (interface);
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
xml_end_element (file, "field"); xml_end_element (file, "field");
} }
@ -463,21 +463,21 @@ write_callable_info (const gchar *ns,
GITypeInfo *type; GITypeInfo *type;
gint i; gint i;
if (g_callable_info_can_throw_gerror (info)) if (gi_callable_info_can_throw_gerror (info))
xml_printf (file, " throws=\"1\""); xml_printf (file, " throws=\"1\"");
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
type = g_callable_info_get_return_type (info); type = gi_callable_info_get_return_type (info);
xml_start_element (file, "return-value"); xml_start_element (file, "return-value");
write_ownership_transfer (g_callable_info_get_caller_owns (info), file); write_ownership_transfer (gi_callable_info_get_caller_owns (info), file);
if (g_callable_info_may_return_null (info)) if (gi_callable_info_may_return_null (info))
xml_printf (file, " allow-none=\"1\""); xml_printf (file, " allow-none=\"1\"");
if (g_callable_info_skip_return (info)) if (gi_callable_info_skip_return (info))
xml_printf (file, " skip=\"1\""); xml_printf (file, " skip=\"1\"");
write_return_value_attributes (file, info); write_return_value_attributes (file, info);
@ -486,27 +486,27 @@ write_callable_info (const gchar *ns,
xml_end_element (file, "return-value"); xml_end_element (file, "return-value");
if (g_callable_info_get_n_args (info) <= 0) if (gi_callable_info_get_n_args (info) <= 0)
return; return;
xml_start_element (file, "parameters"); xml_start_element (file, "parameters");
for (i = 0; i < g_callable_info_get_n_args (info); i++) for (i = 0; i < gi_callable_info_get_n_args (info); i++)
{ {
GIArgInfo *arg = g_callable_info_get_arg (info, i); GIArgInfo *arg = gi_callable_info_get_arg (info, i);
xml_start_element (file, "parameter"); xml_start_element (file, "parameter");
xml_printf (file, " name=\"%s\"", xml_printf (file, " name=\"%s\"",
g_base_info_get_name ((GIBaseInfo *) arg)); gi_base_info_get_name ((GIBaseInfo *) arg));
write_ownership_transfer (g_arg_info_get_ownership_transfer (arg), file); write_ownership_transfer (gi_arg_info_get_ownership_transfer (arg), file);
switch (g_arg_info_get_direction (arg)) switch (gi_arg_info_get_direction (arg))
{ {
case GI_DIRECTION_IN: case GI_DIRECTION_IN:
break; break;
case GI_DIRECTION_OUT: case GI_DIRECTION_OUT:
xml_printf (file, " direction=\"out\" caller-allocates=\"%s\"", xml_printf (file, " direction=\"out\" caller-allocates=\"%s\"",
g_arg_info_is_caller_allocates (arg) ? "1" : "0"); gi_arg_info_is_caller_allocates (arg) ? "1" : "0");
break; break;
case GI_DIRECTION_INOUT: case GI_DIRECTION_INOUT:
xml_printf (file, " direction=\"inout\""); xml_printf (file, " direction=\"inout\"");
@ -515,16 +515,16 @@ write_callable_info (const gchar *ns,
g_assert_not_reached (); g_assert_not_reached ();
} }
if (g_arg_info_may_be_null (arg)) if (gi_arg_info_may_be_null (arg))
xml_printf (file, " allow-none=\"1\""); xml_printf (file, " allow-none=\"1\"");
if (g_arg_info_is_return_value (arg)) if (gi_arg_info_is_return_value (arg))
xml_printf (file, " retval=\"1\""); xml_printf (file, " retval=\"1\"");
if (g_arg_info_is_optional (arg)) if (gi_arg_info_is_optional (arg))
xml_printf (file, " optional=\"1\""); xml_printf (file, " optional=\"1\"");
switch (g_arg_info_get_scope (arg)) switch (gi_arg_info_get_scope (arg))
{ {
case GI_SCOPE_TYPE_INVALID: case GI_SCOPE_TYPE_INVALID:
break; break;
@ -544,27 +544,27 @@ write_callable_info (const gchar *ns,
g_assert_not_reached (); g_assert_not_reached ();
} }
if (g_arg_info_get_closure (arg) >= 0) if (gi_arg_info_get_closure (arg) >= 0)
xml_printf (file, " closure=\"%d\"", g_arg_info_get_closure (arg)); xml_printf (file, " closure=\"%d\"", gi_arg_info_get_closure (arg));
if (g_arg_info_get_destroy (arg) >= 0) if (gi_arg_info_get_destroy (arg) >= 0)
xml_printf (file, " destroy=\"%d\"", g_arg_info_get_destroy (arg)); xml_printf (file, " destroy=\"%d\"", gi_arg_info_get_destroy (arg));
if (g_arg_info_is_skip (arg)) if (gi_arg_info_is_skip (arg))
xml_printf (file, " skip=\"1\""); xml_printf (file, " skip=\"1\"");
write_attributes (file, (GIBaseInfo*) arg); write_attributes (file, (GIBaseInfo*) arg);
type = g_arg_info_get_type (arg); type = gi_arg_info_get_type (arg);
write_type_info (ns, type, file); write_type_info (ns, type, file);
xml_end_element (file, "parameter"); xml_end_element (file, "parameter");
g_base_info_unref ((GIBaseInfo *)arg); gi_base_info_unref ((GIBaseInfo *)arg);
} }
xml_end_element (file, "parameters"); xml_end_element (file, "parameters");
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
} }
static void static void
@ -578,10 +578,10 @@ write_function_info (const gchar *ns,
const gchar *symbol; const gchar *symbol;
gboolean deprecated; gboolean deprecated;
flags = g_function_info_get_flags (info); flags = gi_function_info_get_flags (info);
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
symbol = g_function_info_get_symbol (info); symbol = gi_function_info_get_symbol (info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
if (flags & GI_FUNCTION_IS_CONSTRUCTOR) if (flags & GI_FUNCTION_IS_CONSTRUCTOR)
tag = "constructor"; tag = "constructor";
@ -596,18 +596,18 @@ write_function_info (const gchar *ns,
if ((flags & GI_FUNCTION_IS_SETTER) || (flags & GI_FUNCTION_IS_GETTER)) if ((flags & GI_FUNCTION_IS_SETTER) || (flags & GI_FUNCTION_IS_GETTER))
{ {
GIPropertyInfo *property = g_function_info_get_property (info); GIPropertyInfo *property = gi_function_info_get_property (info);
if (property != NULL) if (property != NULL)
{ {
const char *property_name = g_base_info_get_name ((GIBaseInfo *)property); const char *property_name = gi_base_info_get_name ((GIBaseInfo *)property);
if (flags & GI_FUNCTION_IS_SETTER) if (flags & GI_FUNCTION_IS_SETTER)
xml_printf (file, " glib:set-property=\"%s\"", property_name); xml_printf (file, " glib:set-property=\"%s\"", property_name);
else if (flags & GI_FUNCTION_IS_GETTER) else if (flags & GI_FUNCTION_IS_GETTER)
xml_printf (file, " glib:get-property=\"%s\"", property_name); xml_printf (file, " glib:get-property=\"%s\"", property_name);
g_base_info_unref (property); gi_base_info_unref (property);
} }
} }
@ -626,8 +626,8 @@ write_callback_info (const gchar *ns,
const gchar *name; const gchar *name;
gboolean deprecated; gboolean deprecated;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
xml_start_element (file, "callback"); xml_start_element (file, "callback");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
@ -655,13 +655,13 @@ write_struct_info (const gchar *ns,
gint size; gint size;
int n_elts; int n_elts;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
type_name = g_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info); type_name = gi_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info);
type_init = g_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info); type_init = gi_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info);
if (g_base_info_get_type ((GIBaseInfo *)info) == GI_INFO_TYPE_BOXED) if (gi_base_info_get_type ((GIBaseInfo *)info) == GI_INFO_TYPE_BOXED)
{ {
xml_start_element (file, "glib:boxed"); xml_start_element (file, "glib:boxed");
xml_printf (file, " glib:name=\"%s\"", name); xml_printf (file, " glib:name=\"%s\"", name);
@ -678,43 +678,43 @@ write_struct_info (const gchar *ns,
if (deprecated) if (deprecated)
xml_printf (file, " deprecated=\"1\""); xml_printf (file, " deprecated=\"1\"");
is_gtype_struct = g_struct_info_is_gtype_struct (info); is_gtype_struct = gi_struct_info_is_gtype_struct (info);
if (is_gtype_struct) if (is_gtype_struct)
xml_printf (file, " glib:is-gtype-struct=\"1\""); xml_printf (file, " glib:is-gtype-struct=\"1\"");
func = g_struct_info_get_copy_function (info); func = gi_struct_info_get_copy_function (info);
if (func) if (func)
xml_printf (file, " copy-function=\"%s\"", func); xml_printf (file, " copy-function=\"%s\"", func);
func = g_struct_info_get_free_function (info); func = gi_struct_info_get_free_function (info);
if (func) if (func)
xml_printf (file, " free-function=\"%s\"", func); xml_printf (file, " free-function=\"%s\"", func);
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
size = g_struct_info_get_size (info); size = gi_struct_info_get_size (info);
if (file->show_all && size >= 0) if (file->show_all && size >= 0)
xml_printf (file, " size=\"%d\"", size); xml_printf (file, " size=\"%d\"", size);
foreign = g_struct_info_is_foreign (info); foreign = gi_struct_info_is_foreign (info);
if (foreign) if (foreign)
xml_printf (file, " foreign=\"1\""); xml_printf (file, " foreign=\"1\"");
n_elts = g_struct_info_get_n_fields (info) + g_struct_info_get_n_methods (info); n_elts = gi_struct_info_get_n_fields (info) + gi_struct_info_get_n_methods (info);
if (n_elts > 0) if (n_elts > 0)
{ {
for (i = 0; i < g_struct_info_get_n_fields (info); i++) for (i = 0; i < gi_struct_info_get_n_fields (info); i++)
{ {
GIFieldInfo *field = g_struct_info_get_field (info, i); GIFieldInfo *field = gi_struct_info_get_field (info, i);
write_field_info (ns, field, NULL, file); write_field_info (ns, field, NULL, file);
g_base_info_unref ((GIBaseInfo *)field); gi_base_info_unref ((GIBaseInfo *)field);
} }
for (i = 0; i < g_struct_info_get_n_methods (info); i++) for (i = 0; i < gi_struct_info_get_n_methods (info); i++)
{ {
GIFunctionInfo *function = g_struct_info_get_method (info, i); GIFunctionInfo *function = gi_struct_info_get_method (info, i);
write_function_info (ns, function, file); write_function_info (ns, function, file);
g_base_info_unref ((GIBaseInfo *)function); gi_base_info_unref ((GIBaseInfo *)function);
} }
} }
@ -732,9 +732,9 @@ write_value_info (const gchar *ns,
gchar *value_str; gchar *value_str;
gboolean deprecated; gboolean deprecated;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
value = g_value_info_get_value (info); value = gi_value_info_get_value (info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
xml_start_element (file, "member"); xml_start_element (file, "member");
value_str = g_strdup_printf ("%" G_GINT64_FORMAT, value); value_str = g_strdup_printf ("%" G_GINT64_FORMAT, value);
@ -755,7 +755,7 @@ write_constant_value (const gchar *ns,
GIArgument *value, GIArgument *value,
Xml *file) Xml *file)
{ {
switch (g_type_info_get_tag (type)) switch (gi_type_info_get_tag (type))
{ {
case GI_TYPE_TAG_BOOLEAN: case GI_TYPE_TAG_BOOLEAN:
xml_printf (file, "%d", value->v_boolean); xml_printf (file, "%d", value->v_boolean);
@ -808,15 +808,15 @@ write_constant_info (const gchar *ns,
const gchar *name; const gchar *name;
GIArgument value; GIArgument value;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
xml_start_element (file, "constant"); xml_start_element (file, "constant");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
type = g_constant_info_get_type (info); type = gi_constant_info_get_type (info);
xml_printf (file, " value=\""); xml_printf (file, " value=\"");
g_constant_info_get_value (info, &value); gi_constant_info_get_value (info, &value);
write_constant_value (ns, type, &value, file); write_constant_value (ns, type, &value, file);
xml_printf (file, "\""); xml_printf (file, "\"");
@ -826,7 +826,7 @@ write_constant_info (const gchar *ns,
xml_end_element (file, "constant"); xml_end_element (file, "constant");
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
} }
@ -842,14 +842,14 @@ write_enum_info (const gchar *ns,
gboolean deprecated; gboolean deprecated;
gint i; gint i;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
type_name = g_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info); type_name = gi_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info);
type_init = g_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info); type_init = gi_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info);
error_domain = g_enum_info_get_error_domain (info); error_domain = gi_enum_info_get_error_domain (info);
if (g_base_info_get_type ((GIBaseInfo *)info) == GI_INFO_TYPE_ENUM) if (gi_base_info_get_type ((GIBaseInfo *)info) == GI_INFO_TYPE_ENUM)
xml_start_element (file, "enumeration"); xml_start_element (file, "enumeration");
else else
xml_start_element (file, "bitfield"); xml_start_element (file, "bitfield");
@ -865,11 +865,11 @@ write_enum_info (const gchar *ns,
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
for (i = 0; i < g_enum_info_get_n_values (info); i++) for (i = 0; i < gi_enum_info_get_n_values (info); i++)
{ {
GIValueInfo *value = g_enum_info_get_value (info, i); GIValueInfo *value = gi_enum_info_get_value (info, i);
write_value_info (ns, value, file); write_value_info (ns, value, file);
g_base_info_unref ((GIBaseInfo *)value); gi_base_info_unref ((GIBaseInfo *)value);
} }
xml_end_element_unchecked (file); xml_end_element_unchecked (file);
@ -884,9 +884,9 @@ write_signal_info (const gchar *ns,
const gchar *name; const gchar *name;
gboolean deprecated; gboolean deprecated;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
flags = g_signal_info_get_flags (info); flags = gi_signal_info_get_flags (info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
xml_start_element (file, "glib:signal"); xml_start_element (file, "glib:signal");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
@ -929,11 +929,11 @@ write_vfunc_info (const gchar *ns,
gboolean deprecated; gboolean deprecated;
gint offset; gint offset;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
flags = g_vfunc_info_get_flags (info); flags = gi_vfunc_info_get_flags (info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
offset = g_vfunc_info_get_offset (info); offset = gi_vfunc_info_get_offset (info);
invoker = g_vfunc_info_get_invoker (info); invoker = gi_vfunc_info_get_invoker (info);
xml_start_element (file, "virtual-method"); xml_start_element (file, "virtual-method");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
@ -953,8 +953,8 @@ write_vfunc_info (const gchar *ns,
if (invoker) if (invoker)
{ {
xml_printf (file, " invoker=\"%s\"", g_base_info_get_name ((GIBaseInfo*)invoker)); xml_printf (file, " invoker=\"%s\"", gi_base_info_get_name ((GIBaseInfo*)invoker));
g_base_info_unref ((GIBaseInfo *)invoker); gi_base_info_unref ((GIBaseInfo *)invoker);
} }
write_callable_info (ns, (GICallableInfo*)info, file); write_callable_info (ns, (GICallableInfo*)info, file);
@ -972,9 +972,9 @@ write_property_info (const gchar *ns,
gboolean deprecated; gboolean deprecated;
GITypeInfo *type; GITypeInfo *type;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
flags = g_property_info_get_flags (info); flags = gi_property_info_get_flags (info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
xml_start_element (file, "property"); xml_start_element (file, "property");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
@ -996,31 +996,31 @@ write_property_info (const gchar *ns,
if (flags & G_PARAM_READABLE) if (flags & G_PARAM_READABLE)
{ {
GIFunctionInfo *getter = g_property_info_get_getter (info); GIFunctionInfo *getter = gi_property_info_get_getter (info);
if (getter != NULL) if (getter != NULL)
{ {
xml_printf (file, " getter=\"%s\"", g_base_info_get_name ((GIBaseInfo *) getter)); xml_printf (file, " getter=\"%s\"", gi_base_info_get_name ((GIBaseInfo *) getter));
g_base_info_unref ((GIBaseInfo *) getter); gi_base_info_unref ((GIBaseInfo *) getter);
} }
} }
if (flags & G_PARAM_WRITABLE) if (flags & G_PARAM_WRITABLE)
{ {
GIFunctionInfo *setter = g_property_info_get_setter (info); GIFunctionInfo *setter = gi_property_info_get_setter (info);
if (setter != NULL) if (setter != NULL)
{ {
xml_printf (file, " setter=\"%s\"", g_base_info_get_name ((GIBaseInfo *) setter)); xml_printf (file, " setter=\"%s\"", gi_base_info_get_name ((GIBaseInfo *) setter));
g_base_info_unref ((GIBaseInfo *) setter); gi_base_info_unref ((GIBaseInfo *) setter);
} }
} }
write_ownership_transfer (g_property_info_get_ownership_transfer (info), file); write_ownership_transfer (gi_property_info_get_ownership_transfer (info), file);
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
type = g_property_info_get_type (info); type = gi_property_info_get_type (info);
write_type_info (ns, type, file); write_type_info (ns, type, file);
@ -1044,29 +1044,29 @@ write_object_info (const gchar *ns,
GIStructInfo *class_struct; GIStructInfo *class_struct;
gint i; gint i;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
is_abstract = g_object_info_get_abstract (info); is_abstract = gi_object_info_get_abstract (info);
is_fundamental = g_object_info_get_fundamental (info); is_fundamental = gi_object_info_get_fundamental (info);
is_final = g_object_info_get_final (info); is_final = gi_object_info_get_final (info);
type_name = g_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info); type_name = gi_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info);
type_init = g_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info); type_init = gi_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info);
xml_start_element (file, "class"); xml_start_element (file, "class");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
pnode = g_object_info_get_parent (info); pnode = gi_object_info_get_parent (info);
if (pnode) if (pnode)
{ {
write_type_name_attribute (ns, (GIBaseInfo *)pnode, "parent", file); write_type_name_attribute (ns, (GIBaseInfo *)pnode, "parent", file);
g_base_info_unref ((GIBaseInfo *)pnode); gi_base_info_unref ((GIBaseInfo *)pnode);
} }
class_struct = g_object_info_get_class_struct (info); class_struct = gi_object_info_get_class_struct (info);
if (class_struct) if (class_struct)
{ {
write_type_name_attribute (ns, (GIBaseInfo*) class_struct, "glib:type-struct", file); write_type_name_attribute (ns, (GIBaseInfo*) class_struct, "glib:type-struct", file);
g_base_info_unref ((GIBaseInfo*)class_struct); gi_base_info_unref ((GIBaseInfo*)class_struct);
} }
if (is_abstract) if (is_abstract)
@ -1080,19 +1080,19 @@ write_object_info (const gchar *ns,
if (is_fundamental) if (is_fundamental)
xml_printf (file, " glib:fundamental=\"1\""); xml_printf (file, " glib:fundamental=\"1\"");
func = g_object_info_get_unref_function (info); func = gi_object_info_get_unref_function (info);
if (func) if (func)
xml_printf (file, " glib:unref-function=\"%s\"", func); xml_printf (file, " glib:unref-function=\"%s\"", func);
func = g_object_info_get_ref_function (info); func = gi_object_info_get_ref_function (info);
if (func) if (func)
xml_printf (file, " glib:ref-function=\"%s\"", func); xml_printf (file, " glib:ref-function=\"%s\"", func);
func = g_object_info_get_set_value_function (info); func = gi_object_info_get_set_value_function (info);
if (func) if (func)
xml_printf (file, " glib:set-value-function=\"%s\"", func); xml_printf (file, " glib:set-value-function=\"%s\"", func);
func = g_object_info_get_get_value_function (info); func = gi_object_info_get_get_value_function (info);
if (func) if (func)
xml_printf (file, " glib:get-value-function=\"%s\"", func); xml_printf (file, " glib:get-value-function=\"%s\"", func);
@ -1101,58 +1101,58 @@ write_object_info (const gchar *ns,
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
if (g_object_info_get_n_interfaces (info) > 0) if (gi_object_info_get_n_interfaces (info) > 0)
{ {
for (i = 0; i < g_object_info_get_n_interfaces (info); i++) for (i = 0; i < gi_object_info_get_n_interfaces (info); i++)
{ {
GIInterfaceInfo *imp = g_object_info_get_interface (info, i); GIInterfaceInfo *imp = gi_object_info_get_interface (info, i);
xml_start_element (file, "implements"); xml_start_element (file, "implements");
write_type_name_attribute (ns, (GIBaseInfo *)imp, "name", file); write_type_name_attribute (ns, (GIBaseInfo *)imp, "name", file);
xml_end_element (file, "implements"); xml_end_element (file, "implements");
g_base_info_unref ((GIBaseInfo*)imp); gi_base_info_unref ((GIBaseInfo*)imp);
} }
} }
for (i = 0; i < g_object_info_get_n_fields (info); i++) for (i = 0; i < gi_object_info_get_n_fields (info); i++)
{ {
GIFieldInfo *field = g_object_info_get_field (info, i); GIFieldInfo *field = gi_object_info_get_field (info, i);
write_field_info (ns, field, NULL, file); write_field_info (ns, field, NULL, file);
g_base_info_unref ((GIBaseInfo *)field); gi_base_info_unref ((GIBaseInfo *)field);
} }
for (i = 0; i < g_object_info_get_n_methods (info); i++) for (i = 0; i < gi_object_info_get_n_methods (info); i++)
{ {
GIFunctionInfo *function = g_object_info_get_method (info, i); GIFunctionInfo *function = gi_object_info_get_method (info, i);
write_function_info (ns, function, file); write_function_info (ns, function, file);
g_base_info_unref ((GIBaseInfo *)function); gi_base_info_unref ((GIBaseInfo *)function);
} }
for (i = 0; i < g_object_info_get_n_properties (info); i++) for (i = 0; i < gi_object_info_get_n_properties (info); i++)
{ {
GIPropertyInfo *prop = g_object_info_get_property (info, i); GIPropertyInfo *prop = gi_object_info_get_property (info, i);
write_property_info (ns, prop, file); write_property_info (ns, prop, file);
g_base_info_unref ((GIBaseInfo *)prop); gi_base_info_unref ((GIBaseInfo *)prop);
} }
for (i = 0; i < g_object_info_get_n_signals (info); i++) for (i = 0; i < gi_object_info_get_n_signals (info); i++)
{ {
GISignalInfo *signal = g_object_info_get_signal (info, i); GISignalInfo *signal = gi_object_info_get_signal (info, i);
write_signal_info (ns, signal, file); write_signal_info (ns, signal, file);
g_base_info_unref ((GIBaseInfo *)signal); gi_base_info_unref ((GIBaseInfo *)signal);
} }
for (i = 0; i < g_object_info_get_n_vfuncs (info); i++) for (i = 0; i < gi_object_info_get_n_vfuncs (info); i++)
{ {
GIVFuncInfo *vfunc = g_object_info_get_vfunc (info, i); GIVFuncInfo *vfunc = gi_object_info_get_vfunc (info, i);
write_vfunc_info (ns, vfunc, file); write_vfunc_info (ns, vfunc, file);
g_base_info_unref ((GIBaseInfo *)vfunc); gi_base_info_unref ((GIBaseInfo *)vfunc);
} }
for (i = 0; i < g_object_info_get_n_constants (info); i++) for (i = 0; i < gi_object_info_get_n_constants (info); i++)
{ {
GIConstantInfo *constant = g_object_info_get_constant (info, i); GIConstantInfo *constant = gi_object_info_get_constant (info, i);
write_constant_info (ns, constant, file); write_constant_info (ns, constant, file);
g_base_info_unref ((GIBaseInfo *)constant); gi_base_info_unref ((GIBaseInfo *)constant);
} }
xml_end_element (file, "class"); xml_end_element (file, "class");
@ -1170,20 +1170,20 @@ write_interface_info (const gchar *ns,
gboolean deprecated; gboolean deprecated;
gint i; gint i;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
type_name = g_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info); type_name = gi_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info);
type_init = g_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info); type_init = gi_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info);
xml_start_element (file, "interface"); xml_start_element (file, "interface");
xml_printf (file, " name=\"%s\" glib:type-name=\"%s\" glib:get-type=\"%s\"", xml_printf (file, " name=\"%s\" glib:type-name=\"%s\" glib:get-type=\"%s\"",
name, type_name, type_init); name, type_name, type_init);
class_struct = g_interface_info_get_iface_struct (info); class_struct = gi_interface_info_get_iface_struct (info);
if (class_struct) if (class_struct)
{ {
write_type_name_attribute (ns, (GIBaseInfo*) class_struct, "glib:type-struct", file); write_type_name_attribute (ns, (GIBaseInfo*) class_struct, "glib:type-struct", file);
g_base_info_unref ((GIBaseInfo*)class_struct); gi_base_info_unref ((GIBaseInfo*)class_struct);
} }
if (deprecated) if (deprecated)
@ -1191,53 +1191,53 @@ write_interface_info (const gchar *ns,
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
if (g_interface_info_get_n_prerequisites (info) > 0) if (gi_interface_info_get_n_prerequisites (info) > 0)
{ {
for (i = 0; i < g_interface_info_get_n_prerequisites (info); i++) for (i = 0; i < gi_interface_info_get_n_prerequisites (info); i++)
{ {
GIBaseInfo *req = g_interface_info_get_prerequisite (info, i); GIBaseInfo *req = gi_interface_info_get_prerequisite (info, i);
xml_start_element (file, "prerequisite"); xml_start_element (file, "prerequisite");
write_type_name_attribute (ns, req, "name", file); write_type_name_attribute (ns, req, "name", file);
xml_end_element_unchecked (file); xml_end_element_unchecked (file);
g_base_info_unref (req); gi_base_info_unref (req);
} }
} }
for (i = 0; i < g_interface_info_get_n_methods (info); i++) for (i = 0; i < gi_interface_info_get_n_methods (info); i++)
{ {
GIFunctionInfo *function = g_interface_info_get_method (info, i); GIFunctionInfo *function = gi_interface_info_get_method (info, i);
write_function_info (ns, function, file); write_function_info (ns, function, file);
g_base_info_unref ((GIBaseInfo *)function); gi_base_info_unref ((GIBaseInfo *)function);
} }
for (i = 0; i < g_interface_info_get_n_properties (info); i++) for (i = 0; i < gi_interface_info_get_n_properties (info); i++)
{ {
GIPropertyInfo *prop = g_interface_info_get_property (info, i); GIPropertyInfo *prop = gi_interface_info_get_property (info, i);
write_property_info (ns, prop, file); write_property_info (ns, prop, file);
g_base_info_unref ((GIBaseInfo *)prop); gi_base_info_unref ((GIBaseInfo *)prop);
} }
for (i = 0; i < g_interface_info_get_n_signals (info); i++) for (i = 0; i < gi_interface_info_get_n_signals (info); i++)
{ {
GISignalInfo *signal = g_interface_info_get_signal (info, i); GISignalInfo *signal = gi_interface_info_get_signal (info, i);
write_signal_info (ns, signal, file); write_signal_info (ns, signal, file);
g_base_info_unref ((GIBaseInfo *)signal); gi_base_info_unref ((GIBaseInfo *)signal);
} }
for (i = 0; i < g_interface_info_get_n_vfuncs (info); i++) for (i = 0; i < gi_interface_info_get_n_vfuncs (info); i++)
{ {
GIVFuncInfo *vfunc = g_interface_info_get_vfunc (info, i); GIVFuncInfo *vfunc = gi_interface_info_get_vfunc (info, i);
write_vfunc_info (ns, vfunc, file); write_vfunc_info (ns, vfunc, file);
g_base_info_unref ((GIBaseInfo *)vfunc); gi_base_info_unref ((GIBaseInfo *)vfunc);
} }
for (i = 0; i < g_interface_info_get_n_constants (info); i++) for (i = 0; i < gi_interface_info_get_n_constants (info); i++)
{ {
GIConstantInfo *constant = g_interface_info_get_constant (info, i); GIConstantInfo *constant = gi_interface_info_get_constant (info, i);
write_constant_info (ns, constant, file); write_constant_info (ns, constant, file);
g_base_info_unref ((GIBaseInfo *)constant); gi_base_info_unref ((GIBaseInfo *)constant);
} }
xml_end_element (file, "interface"); xml_end_element (file, "interface");
@ -1256,11 +1256,11 @@ write_union_info (const gchar *ns,
gint i; gint i;
gint size; gint size;
name = g_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info); deprecated = gi_base_info_is_deprecated ((GIBaseInfo *)info);
type_name = g_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info); type_name = gi_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info);
type_init = g_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info); type_init = gi_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info);
xml_start_element (file, "union"); xml_start_element (file, "union");
xml_printf (file, " name=\"%s\"", name); xml_printf (file, " name=\"%s\"", name);
@ -1271,50 +1271,50 @@ write_union_info (const gchar *ns,
if (deprecated) if (deprecated)
xml_printf (file, " deprecated=\"1\""); xml_printf (file, " deprecated=\"1\"");
size = g_union_info_get_size (info); size = gi_union_info_get_size (info);
if (file->show_all && size >= 0) if (file->show_all && size >= 0)
xml_printf (file, " size=\"%d\"", size); xml_printf (file, " size=\"%d\"", size);
func = g_union_info_get_copy_function (info); func = gi_union_info_get_copy_function (info);
if (func) if (func)
xml_printf (file, " copy-function=\"%s\"", func); xml_printf (file, " copy-function=\"%s\"", func);
func = g_union_info_get_free_function (info); func = gi_union_info_get_free_function (info);
if (func) if (func)
xml_printf (file, " free-function=\"%s\"", func); xml_printf (file, " free-function=\"%s\"", func);
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
if (g_union_info_is_discriminated (info)) if (gi_union_info_is_discriminated (info))
{ {
gint offset; gint offset;
GITypeInfo *type; GITypeInfo *type;
offset = g_union_info_get_discriminator_offset (info); offset = gi_union_info_get_discriminator_offset (info);
type = g_union_info_get_discriminator_type (info); type = gi_union_info_get_discriminator_type (info);
xml_start_element (file, "discriminator"); xml_start_element (file, "discriminator");
xml_printf (file, " offset=\"%d\" type=\"", offset); xml_printf (file, " offset=\"%d\" type=\"", offset);
write_type_info (ns, type, file); write_type_info (ns, type, file);
xml_end_element (file, "discriminator"); xml_end_element (file, "discriminator");
g_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
} }
for (i = 0; i < g_union_info_get_n_fields (info); i++) for (i = 0; i < gi_union_info_get_n_fields (info); i++)
{ {
GIFieldInfo *field = g_union_info_get_field (info, i); GIFieldInfo *field = gi_union_info_get_field (info, i);
GIConstantInfo *constant = g_union_info_get_discriminator (info, i); GIConstantInfo *constant = gi_union_info_get_discriminator (info, i);
write_field_info (ns, field, constant, file); write_field_info (ns, field, constant, file);
g_base_info_unref ((GIBaseInfo *)field); gi_base_info_unref ((GIBaseInfo *)field);
if (constant) if (constant)
g_base_info_unref ((GIBaseInfo *)constant); gi_base_info_unref ((GIBaseInfo *)constant);
} }
for (i = 0; i < g_union_info_get_n_methods (info); i++) for (i = 0; i < gi_union_info_get_n_methods (info); i++)
{ {
GIFunctionInfo *function = g_union_info_get_method (info, i); GIFunctionInfo *function = gi_union_info_get_method (info, i);
write_function_info (ns, function, file); write_function_info (ns, function, file);
g_base_info_unref ((GIBaseInfo *)function); gi_base_info_unref ((GIBaseInfo *)function);
} }
xml_end_element (file, "union"); xml_end_element (file, "union");
@ -1322,7 +1322,7 @@ write_union_info (const gchar *ns,
/* /*
* g_ir_writer_write: * gi_ir_writer_write:
* @filename: filename to write to * @filename: filename to write to
* @ns: GIR namespace to write * @ns: GIR namespace to write
* @needs_prefix: if the filename needs prefixing * @needs_prefix: if the filename needs prefixing
@ -1332,7 +1332,7 @@ write_union_info (const gchar *ns,
* into a GIR xml file named @filename. * into a GIR xml file named @filename.
*/ */
void void
g_ir_writer_write (const char *filename, gi_ir_writer_write (const char *filename,
const char *ns, const char *ns,
gboolean needs_prefix, gboolean needs_prefix,
gboolean show_all) gboolean show_all)
@ -1343,7 +1343,7 @@ g_ir_writer_write (const char *filename,
GIRepository *repository; GIRepository *repository;
Xml *xml; Xml *xml;
repository = g_irepository_get_default (); repository = gi_repository_get_default ();
if (filename == NULL) if (filename == NULL)
ofile = stdout; ofile = stdout;
@ -1378,7 +1378,7 @@ g_ir_writer_write (const char *filename,
" xmlns:c=\"http://www.gtk.org/introspection/c/1.0\"\n" " xmlns:c=\"http://www.gtk.org/introspection/c/1.0\"\n"
" xmlns:glib=\"http://www.gtk.org/introspection/glib/1.0\""); " xmlns:glib=\"http://www.gtk.org/introspection/glib/1.0\"");
dependencies = g_irepository_get_immediate_dependencies (repository, ns); dependencies = gi_repository_get_immediate_dependencies (repository, ns);
if (dependencies != NULL) if (dependencies != NULL)
{ {
for (i = 0; dependencies[i]; i++) for (i = 0; dependencies[i]; i++)
@ -1399,10 +1399,10 @@ g_ir_writer_write (const char *filename,
const char *cur_version; const char *cur_version;
gint n_infos; gint n_infos;
cur_version = g_irepository_get_version (repository, cur_ns); cur_version = gi_repository_get_version (repository, cur_ns);
shared_library = g_irepository_get_shared_library (repository, cur_ns); shared_library = gi_repository_get_shared_library (repository, cur_ns);
c_prefix = g_irepository_get_c_prefix (repository, cur_ns); c_prefix = gi_repository_get_c_prefix (repository, cur_ns);
xml_start_element (xml, "namespace"); xml_start_element (xml, "namespace");
xml_printf (xml, " name=\"%s\" version=\"%s\"", cur_ns, cur_version); xml_printf (xml, " name=\"%s\" version=\"%s\"", cur_ns, cur_version);
if (shared_library) if (shared_library)
@ -1410,11 +1410,11 @@ g_ir_writer_write (const char *filename,
if (c_prefix) if (c_prefix)
xml_printf (xml, " c:prefix=\"%s\"", c_prefix); xml_printf (xml, " c:prefix=\"%s\"", c_prefix);
n_infos = g_irepository_get_n_infos (repository, cur_ns); n_infos = gi_repository_get_n_infos (repository, cur_ns);
for (j = 0; j < n_infos; j++) for (j = 0; j < n_infos; j++)
{ {
GIBaseInfo *info = g_irepository_get_info (repository, cur_ns, j); GIBaseInfo *info = gi_repository_get_info (repository, cur_ns, j);
switch (g_base_info_get_type (info)) switch (gi_base_info_get_type (info))
{ {
case GI_INFO_TYPE_FUNCTION: case GI_INFO_TYPE_FUNCTION:
write_function_info (ns, (GIFunctionInfo *)info, xml); write_function_info (ns, (GIFunctionInfo *)info, xml);
@ -1451,10 +1451,10 @@ g_ir_writer_write (const char *filename,
break; break;
default: default:
g_error ("unknown info type %d\n", g_base_info_get_type (info)); g_error ("unknown info type %d\n", gi_base_info_get_type (info));
} }
g_base_info_unref (info); gi_base_info_unref (info);
} }
xml_end_element (xml, "namespace"); xml_end_element (xml, "namespace");

View File

@ -46,7 +46,7 @@
*/ */
/** /**
* g_signal_info_get_flags: * gi_signal_info_get_flags:
* @info: a #GISignalInfo * @info: a #GISignalInfo
* *
* Obtain the flags for this signal info. See #GSignalFlags for * Obtain the flags for this signal info. See #GSignalFlags for
@ -55,7 +55,7 @@
* Returns: the flags * Returns: the flags
*/ */
GSignalFlags GSignalFlags
g_signal_info_get_flags (GISignalInfo *info) gi_signal_info_get_flags (GISignalInfo *info)
{ {
GSignalFlags flags; GSignalFlags flags;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -92,7 +92,7 @@ g_signal_info_get_flags (GISignalInfo *info)
} }
/** /**
* g_signal_info_get_class_closure: * gi_signal_info_get_class_closure:
* @info: a #GISignalInfo * @info: a #GISignalInfo
* *
* Obtain the class closure for this signal if one is set. The class * Obtain the class closure for this signal if one is set. The class
@ -102,7 +102,7 @@ g_signal_info_get_flags (GISignalInfo *info)
* Returns: (transfer full): the class closure or %NULL * Returns: (transfer full): the class closure or %NULL
*/ */
GIVFuncInfo * GIVFuncInfo *
g_signal_info_get_class_closure (GISignalInfo *info) gi_signal_info_get_class_closure (GISignalInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SignalBlob *blob; SignalBlob *blob;
@ -113,13 +113,13 @@ g_signal_info_get_class_closure (GISignalInfo *info)
blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->has_class_closure) if (blob->has_class_closure)
return g_interface_info_get_vfunc ((GIInterfaceInfo *)rinfo->container, blob->class_closure); return gi_interface_info_get_vfunc ((GIInterfaceInfo *)rinfo->container, blob->class_closure);
return NULL; return NULL;
} }
/** /**
* g_signal_info_true_stops_emit: * gi_signal_info_true_stops_emit:
* @info: a #GISignalInfo * @info: a #GISignalInfo
* *
* Obtain if the returning true in the signal handler will * Obtain if the returning true in the signal handler will
@ -128,7 +128,7 @@ g_signal_info_get_class_closure (GISignalInfo *info)
* Returns: %TRUE if returning true stops the signal emission * Returns: %TRUE if returning true stops the signal emission
*/ */
gboolean gboolean
g_signal_info_true_stops_emit (GISignalInfo *info) gi_signal_info_true_stops_emit (GISignalInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SignalBlob *blob; SignalBlob *blob;

View File

@ -40,16 +40,16 @@ G_BEGIN_DECLS
* Checks if @info is a #GISignalInfo. * Checks if @info is a #GISignalInfo.
*/ */
#define GI_IS_SIGNAL_INFO(info) \ #define GI_IS_SIGNAL_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_SIGNAL) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_SIGNAL)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GSignalFlags g_signal_info_get_flags (GISignalInfo *info); GSignalFlags gi_signal_info_get_flags (GISignalInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfo * g_signal_info_get_class_closure (GISignalInfo *info); GIVFuncInfo * gi_signal_info_get_class_closure (GISignalInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_signal_info_true_stops_emit (GISignalInfo *info); gboolean gi_signal_info_true_stops_emit (GISignalInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -44,7 +44,7 @@
*/ */
/** /**
* g_struct_info_get_n_fields: * gi_struct_info_get_n_fields:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* *
* Obtain the number of fields this structure has. * Obtain the number of fields this structure has.
@ -52,7 +52,7 @@
* Returns: number of fields * Returns: number of fields
*/ */
gint gint
g_struct_info_get_n_fields (GIStructInfo *info) gi_struct_info_get_n_fields (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
@ -61,7 +61,7 @@ g_struct_info_get_n_fields (GIStructInfo *info)
} }
/** /**
* g_struct_info_get_field_offset: * gi_struct_info_get_field_offset:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* @n: index of queried field * @n: index of queried field
* *
@ -70,7 +70,7 @@ g_struct_info_get_n_fields (GIStructInfo *info)
* Returns: field offset in bytes * Returns: field offset in bytes
*/ */
static gint32 static gint32
g_struct_get_field_offset (GIStructInfo *info, gi_struct_get_field_offset (GIStructInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -91,27 +91,27 @@ g_struct_get_field_offset (GIStructInfo *info,
} }
/** /**
* g_struct_info_get_field: * gi_struct_info_get_field:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* @n: a field index * @n: a field index
* *
* Obtain the type information for field with specified index. * Obtain the type information for field with specified index.
* *
* Returns: (transfer full): the #GIFieldInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GIFieldInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GIFieldInfo * GIFieldInfo *
g_struct_info_get_field (GIStructInfo *info, gi_struct_info_get_field (GIStructInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib, return (GIFieldInfo *) gi_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib,
g_struct_get_field_offset (info, n)); gi_struct_get_field_offset (info, n));
} }
/** /**
* g_struct_info_find_field: * gi_struct_info_find_field:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* @name: a field name * @name: a field name
* *
@ -119,10 +119,10 @@ g_struct_info_get_field (GIStructInfo *info,
* *
* Since: 1.46 * Since: 1.46
* Returns: (transfer full): the #GIFieldInfo or %NULL if not found, * Returns: (transfer full): the #GIFieldInfo or %NULL if not found,
* free it with g_base_info_unref() when done. * free it with gi_base_info_unref() when done.
*/ */
GIFieldInfo * GIFieldInfo *
g_struct_info_find_field (GIStructInfo *info, gi_struct_info_find_field (GIStructInfo *info,
const gchar *name) const gchar *name)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -138,7 +138,7 @@ g_struct_info_find_field (GIStructInfo *info,
if (strcmp (name, fname) == 0) if (strcmp (name, fname) == 0)
{ {
return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, return (GIFieldInfo *) gi_info_new (GI_INFO_TYPE_FIELD,
(GIBaseInfo* )info, (GIBaseInfo* )info,
rinfo->typelib, rinfo->typelib,
offset); offset);
@ -153,7 +153,7 @@ g_struct_info_find_field (GIStructInfo *info,
} }
/** /**
* g_struct_info_get_n_methods: * gi_struct_info_get_n_methods:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* *
* Obtain the number of methods this structure has. * Obtain the number of methods this structure has.
@ -161,7 +161,7 @@ g_struct_info_find_field (GIStructInfo *info,
* Returns: number of methods * Returns: number of methods
*/ */
gint gint
g_struct_info_get_n_methods (GIStructInfo *info) gi_struct_info_get_n_methods (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
@ -170,17 +170,17 @@ g_struct_info_get_n_methods (GIStructInfo *info)
} }
/** /**
* g_struct_info_get_method: * gi_struct_info_get_method:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* @n: a method index * @n: a method index
* *
* Obtain the type information for method with specified index. * Obtain the type information for method with specified index.
* *
* Returns: (transfer full): the #GIFunctionInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GIFunctionInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_struct_info_get_method (GIStructInfo *info, gi_struct_info_get_method (GIStructInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -188,35 +188,35 @@ g_struct_info_get_method (GIStructInfo *info,
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
gint offset; gint offset;
offset = g_struct_get_field_offset (info, blob->n_fields) + n * header->function_blob_size; offset = gi_struct_get_field_offset (info, blob->n_fields) + n * header->function_blob_size;
return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_struct_info_find_method: * gi_struct_info_find_method:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* @name: a method name * @name: a method name
* *
* Obtain the type information for method named @name. * Obtain the type information for method named @name.
* *
* Returns: (transfer full): the #GIFunctionInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GIFunctionInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_struct_info_find_method (GIStructInfo *info, gi_struct_info_find_method (GIStructInfo *info,
const gchar *name) const gchar *name)
{ {
gint offset; gint offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
offset = g_struct_get_field_offset (info, blob->n_fields); offset = gi_struct_get_field_offset (info, blob->n_fields);
return _g_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_methods, name); return gi_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_methods, name);
} }
/** /**
* g_struct_info_get_size: * gi_struct_info_get_size:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* *
* Obtain the total size of the structure. * Obtain the total size of the structure.
@ -224,7 +224,7 @@ g_struct_info_find_method (GIStructInfo *info,
* Returns: size of the structure in bytes * Returns: size of the structure in bytes
*/ */
gsize gsize
g_struct_info_get_size (GIStructInfo *info) gi_struct_info_get_size (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
@ -233,7 +233,7 @@ g_struct_info_get_size (GIStructInfo *info)
} }
/** /**
* g_struct_info_get_alignment: * gi_struct_info_get_alignment:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* *
* Obtain the required alignment of the structure. * Obtain the required alignment of the structure.
@ -241,7 +241,7 @@ g_struct_info_get_size (GIStructInfo *info)
* Returns: required alignment in bytes * Returns: required alignment in bytes
*/ */
gsize gsize
g_struct_info_get_alignment (GIStructInfo *info) gi_struct_info_get_alignment (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
@ -250,7 +250,7 @@ g_struct_info_get_alignment (GIStructInfo *info)
} }
/** /**
* g_struct_info_is_foreign: * gi_struct_info_is_foreign:
* @info: TODO * @info: TODO
* *
* TODO * TODO
@ -258,7 +258,7 @@ g_struct_info_get_alignment (GIStructInfo *info)
* Returns: TODO * Returns: TODO
*/ */
gboolean gboolean
g_struct_info_is_foreign (GIStructInfo *info) gi_struct_info_is_foreign (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
@ -267,7 +267,7 @@ g_struct_info_is_foreign (GIStructInfo *info)
} }
/** /**
* g_struct_info_is_gtype_struct: * gi_struct_info_is_gtype_struct:
* @info: a #GIStructInfo * @info: a #GIStructInfo
* *
* Return true if this structure represents the "class structure" for some * Return true if this structure represents the "class structure" for some
@ -277,7 +277,7 @@ g_struct_info_is_foreign (GIStructInfo *info)
* Returns: %TRUE if this is a class struct, %FALSE otherwise * Returns: %TRUE if this is a class struct, %FALSE otherwise
*/ */
gboolean gboolean
g_struct_info_is_gtype_struct (GIStructInfo *info) gi_struct_info_is_gtype_struct (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
@ -286,7 +286,7 @@ g_struct_info_is_gtype_struct (GIStructInfo *info)
} }
/** /**
* g_struct_info_get_copy_function: * gi_struct_info_get_copy_function:
* @info: a struct information blob * @info: a struct information blob
* *
* Retrieves the name of the copy function for @info, if any is set. * Retrieves the name of the copy function for @info, if any is set.
@ -296,7 +296,7 @@ g_struct_info_is_gtype_struct (GIStructInfo *info)
* Since: 1.76 * Since: 1.76
*/ */
const char * const char *
g_struct_info_get_copy_function (GIStructInfo *info) gi_struct_info_get_copy_function (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob; StructBlob *blob;
@ -307,13 +307,13 @@ g_struct_info_get_copy_function (GIStructInfo *info)
blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->copy_func) if (blob->copy_func)
return g_typelib_get_string (rinfo->typelib, blob->copy_func); return gi_typelib_get_string (rinfo->typelib, blob->copy_func);
return NULL; return NULL;
} }
/** /**
* g_struct_info_get_free_function: * gi_struct_info_get_free_function:
* @info: a struct information blob * @info: a struct information blob
* *
* Retrieves the name of the free function for @info, if any is set. * Retrieves the name of the free function for @info, if any is set.
@ -323,7 +323,7 @@ g_struct_info_get_copy_function (GIStructInfo *info)
* Since: 1.76 * Since: 1.76
*/ */
const char * const char *
g_struct_info_get_free_function (GIStructInfo *info) gi_struct_info_get_free_function (GIStructInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob; StructBlob *blob;
@ -334,7 +334,7 @@ g_struct_info_get_free_function (GIStructInfo *info)
blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->free_func) if (blob->free_func)
return g_typelib_get_string (rinfo->typelib, blob->free_func); return gi_typelib_get_string (rinfo->typelib, blob->free_func);
return NULL; return NULL;
} }

View File

@ -39,47 +39,47 @@ G_BEGIN_DECLS
* Checks if @info is a #GIStructInfo. * Checks if @info is a #GIStructInfo.
*/ */
#define GI_IS_STRUCT_INFO(info) \ #define GI_IS_STRUCT_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_struct_info_get_n_fields (GIStructInfo *info); gint gi_struct_info_get_n_fields (GIStructInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFieldInfo * g_struct_info_get_field (GIStructInfo *info, GIFieldInfo * gi_struct_info_get_field (GIStructInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFieldInfo * g_struct_info_find_field (GIStructInfo *info, GIFieldInfo * gi_struct_info_find_field (GIStructInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_struct_info_get_n_methods (GIStructInfo *info); gint gi_struct_info_get_n_methods (GIStructInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_struct_info_get_method (GIStructInfo *info, GIFunctionInfo * gi_struct_info_get_method (GIStructInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_struct_info_find_method (GIStructInfo *info, GIFunctionInfo * gi_struct_info_find_method (GIStructInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gsize g_struct_info_get_size (GIStructInfo *info); gsize gi_struct_info_get_size (GIStructInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gsize g_struct_info_get_alignment (GIStructInfo *info); gsize gi_struct_info_get_alignment (GIStructInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_struct_info_is_gtype_struct (GIStructInfo *info); gboolean gi_struct_info_is_gtype_struct (GIStructInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_struct_info_is_foreign (GIStructInfo *info); gboolean gi_struct_info_is_foreign (GIStructInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_struct_info_get_copy_function (GIStructInfo *info); const char * gi_struct_info_get_copy_function (GIStructInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_struct_info_get_free_function (GIStructInfo *info); const char * gi_struct_info_get_free_function (GIStructInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -45,12 +45,12 @@
* *
* A type can either be a of a basic type which is a standard C primitive * A type can either be a of a basic type which is a standard C primitive
* type or an interface type. For interface types you need to call * type or an interface type. For interface types you need to call
* g_type_info_get_interface() to get a reference to the base info for that * gi_type_info_get_interface() to get a reference to the base info for that
* interface. * interface.
*/ */
/** /**
* g_type_info_is_pointer: * gi_type_info_is_pointer:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* Obtain if the type is passed as a reference. * Obtain if the type is passed as a reference.
@ -63,7 +63,7 @@
* Returns: %TRUE if it is a pointer * Returns: %TRUE if it is a pointer
*/ */
gboolean gboolean
g_type_info_is_pointer (GITypeInfo *info) gi_type_info_is_pointer (GITypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SimpleTypeBlob *type; SimpleTypeBlob *type;
@ -84,7 +84,7 @@ g_type_info_is_pointer (GITypeInfo *info)
} }
/** /**
* g_type_info_get_tag: * gi_type_info_get_tag:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* Obtain the type tag for the type. See #GITypeTag for a list * Obtain the type tag for the type. See #GITypeTag for a list
@ -93,7 +93,7 @@ g_type_info_is_pointer (GITypeInfo *info)
* Returns: the type tag * Returns: the type tag
*/ */
GITypeTag GITypeTag
g_type_info_get_tag (GITypeInfo *info) gi_type_info_get_tag (GITypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SimpleTypeBlob *type; SimpleTypeBlob *type;
@ -116,7 +116,7 @@ g_type_info_get_tag (GITypeInfo *info)
} }
/** /**
* g_type_info_get_param_type: * gi_type_info_get_param_type:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* @n: index of the parameter * @n: index of the parameter
* *
@ -125,7 +125,7 @@ g_type_info_get_tag (GITypeInfo *info)
* Returns: (transfer full): the param type info * Returns: (transfer full): the param type info
*/ */
GITypeInfo * GITypeInfo *
g_type_info_get_param_type (GITypeInfo *info, gi_type_info_get_param_type (GITypeInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -146,7 +146,7 @@ g_type_info_get_param_type (GITypeInfo *info,
case GI_TYPE_TAG_GLIST: case GI_TYPE_TAG_GLIST:
case GI_TYPE_TAG_GSLIST: case GI_TYPE_TAG_GSLIST:
case GI_TYPE_TAG_GHASH: case GI_TYPE_TAG_GHASH:
return _g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, return gi_type_info_new ((GIBaseInfo*)info, rinfo->typelib,
rinfo->offset + sizeof (ParamTypeBlob) rinfo->offset + sizeof (ParamTypeBlob)
+ sizeof (SimpleTypeBlob) * n); + sizeof (SimpleTypeBlob) * n);
break; break;
@ -159,19 +159,19 @@ g_type_info_get_param_type (GITypeInfo *info,
} }
/** /**
* g_type_info_get_interface: * gi_type_info_get_interface:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* For types which have #GI_TYPE_TAG_INTERFACE such as GObjects and boxed values, * For types which have #GI_TYPE_TAG_INTERFACE such as GObjects and boxed values,
* this function returns full information about the referenced type. You can then * this function returns full information about the referenced type. You can then
* inspect the type of the returned #GIBaseInfo to further query whether it is * inspect the type of the returned #GIBaseInfo to further query whether it is
* a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type(). * a concrete GObject, a GInterface, a structure, etc. using gi_base_info_get_type().
* *
* Returns: (transfer full): the #GIBaseInfo, or %NULL. Free it with * Returns: (transfer full): the #GIBaseInfo, or %NULL. Free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIBaseInfo * GIBaseInfo *
g_type_info_get_interface (GITypeInfo *info) gi_type_info_get_interface (GITypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -196,7 +196,7 @@ g_type_info_get_interface (GITypeInfo *info)
g_assert_not_reached (); g_assert_not_reached ();
return NULL; return NULL;
} }
return (GIBaseInfo *) g_info_new (info_type, (GIBaseInfo*)info, rinfo->typelib, return (GIBaseInfo *) gi_info_new (info_type, (GIBaseInfo*)info, rinfo->typelib,
rinfo->offset); rinfo->offset);
} }
else else
@ -207,7 +207,7 @@ g_type_info_get_interface (GITypeInfo *info)
InterfaceTypeBlob *blob = (InterfaceTypeBlob *)&rinfo->typelib->data[rinfo->offset]; InterfaceTypeBlob *blob = (InterfaceTypeBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->tag == GI_TYPE_TAG_INTERFACE) if (blob->tag == GI_TYPE_TAG_INTERFACE)
return _g_info_from_entry (rinfo->repository, rinfo->typelib, blob->interface); return gi_info_from_entry (rinfo->repository, rinfo->typelib, blob->interface);
} }
} }
@ -215,7 +215,7 @@ g_type_info_get_interface (GITypeInfo *info)
} }
/** /**
* g_type_info_get_array_length: * gi_type_info_get_array_length:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* Obtain the position of the argument which gives the array length of the type. * Obtain the position of the argument which gives the array length of the type.
@ -224,7 +224,7 @@ g_type_info_get_interface (GITypeInfo *info)
* Returns: the array length, or -1 if the type is not an array * Returns: the array length, or -1 if the type is not an array
*/ */
gint gint
g_type_info_get_array_length (GITypeInfo *info) gi_type_info_get_array_length (GITypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SimpleTypeBlob *type; SimpleTypeBlob *type;
@ -249,7 +249,7 @@ g_type_info_get_array_length (GITypeInfo *info)
} }
/** /**
* g_type_info_get_array_fixed_size: * gi_type_info_get_array_fixed_size:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* Obtain the fixed array size of the type. The type tag must be a * Obtain the fixed array size of the type. The type tag must be a
@ -258,7 +258,7 @@ g_type_info_get_array_length (GITypeInfo *info)
* Returns: the size or -1 if it's not an array * Returns: the size or -1 if it's not an array
*/ */
gint gint
g_type_info_get_array_fixed_size (GITypeInfo *info) gi_type_info_get_array_fixed_size (GITypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SimpleTypeBlob *type; SimpleTypeBlob *type;
@ -283,7 +283,7 @@ g_type_info_get_array_fixed_size (GITypeInfo *info)
} }
/** /**
* g_type_info_is_zero_terminated: * gi_type_info_is_zero_terminated:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* Obtain if the last element of the array is %NULL. The type tag must be a * Obtain if the last element of the array is %NULL. The type tag must be a
@ -292,7 +292,7 @@ g_type_info_get_array_fixed_size (GITypeInfo *info)
* Returns: %TRUE if zero terminated * Returns: %TRUE if zero terminated
*/ */
gboolean gboolean
g_type_info_is_zero_terminated (GITypeInfo *info) gi_type_info_is_zero_terminated (GITypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SimpleTypeBlob *type; SimpleTypeBlob *type;
@ -314,7 +314,7 @@ g_type_info_is_zero_terminated (GITypeInfo *info)
} }
/** /**
* g_type_info_get_array_type: * gi_type_info_get_array_type:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* Obtain the array type for this type. See #GIArrayType for a list of * Obtain the array type for this type. See #GIArrayType for a list of
@ -324,7 +324,7 @@ g_type_info_is_zero_terminated (GITypeInfo *info)
* Returns: the array type or -1 * Returns: the array type or -1
*/ */
GIArrayType GIArrayType
g_type_info_get_array_type (GITypeInfo *info) gi_type_info_get_array_type (GITypeInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
SimpleTypeBlob *type; SimpleTypeBlob *type;
@ -346,7 +346,7 @@ g_type_info_get_array_type (GITypeInfo *info)
} }
/** /**
* g_type_info_get_storage_type: * gi_type_info_get_storage_type:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* *
* Obtain the type tag corresponding to the underlying storage type in C for * Obtain the type tag corresponding to the underlying storage type in C for
@ -358,17 +358,17 @@ g_type_info_get_array_type (GITypeInfo *info)
* Since: 1.66 * Since: 1.66
*/ */
GITypeTag GITypeTag
g_type_info_get_storage_type (GITypeInfo *info) gi_type_info_get_storage_type (GITypeInfo *info)
{ {
GITypeTag type_tag = g_type_info_get_tag (info); GITypeTag type_tag = gi_type_info_get_tag (info);
if (type_tag == GI_TYPE_TAG_INTERFACE) if (type_tag == GI_TYPE_TAG_INTERFACE)
{ {
GIBaseInfo *interface = g_type_info_get_interface (info); GIBaseInfo *interface = gi_type_info_get_interface (info);
GIInfoType info_type = g_base_info_get_type (interface); GIInfoType info_type = gi_base_info_get_type (interface);
if (info_type == GI_INFO_TYPE_ENUM || info_type == GI_INFO_TYPE_FLAGS) if (info_type == GI_INFO_TYPE_ENUM || info_type == GI_INFO_TYPE_FLAGS)
type_tag = g_enum_info_get_storage_type (interface); type_tag = gi_enum_info_get_storage_type (interface);
g_base_info_unref (interface); gi_base_info_unref (interface);
} }
return type_tag; return type_tag;
@ -376,7 +376,7 @@ g_type_info_get_storage_type (GITypeInfo *info)
/** /**
* gi_type_tag_argument_from_hash_pointer: * gi_type_tag_argument_from_hash_pointer:
* @storage_type: a #GITypeTag obtained from g_type_info_get_storage_type() * @storage_type: a #GITypeTag obtained from gi_type_info_get_storage_type()
* @hash_pointer: A pointer, such as a #GHashTable data pointer * @hash_pointer: A pointer, such as a #GHashTable data pointer
* @arg: A #GIArgument to fill in * @arg: A #GIArgument to fill in
* *
@ -442,13 +442,13 @@ gi_type_tag_argument_from_hash_pointer (GITypeTag storage_type,
case GI_TYPE_TAG_DOUBLE: case GI_TYPE_TAG_DOUBLE:
default: default:
g_critical ("Unsupported storage type for pointer-stuffing: %s", g_critical ("Unsupported storage type for pointer-stuffing: %s",
g_type_tag_to_string (storage_type)); gi_type_tag_to_string (storage_type));
arg->v_pointer = hash_pointer; arg->v_pointer = hash_pointer;
} }
} }
/** /**
* g_type_info_argument_from_hash_pointer: * gi_type_info_argument_from_hash_pointer:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* @hash_pointer: A pointer, such as a #GHashTable data pointer * @hash_pointer: A pointer, such as a #GHashTable data pointer
* @arg: A #GIArgument to fill in * @arg: A #GIArgument to fill in
@ -468,18 +468,18 @@ gi_type_tag_argument_from_hash_pointer (GITypeTag storage_type,
* Since: 1.66 * Since: 1.66
*/ */
void void
g_type_info_argument_from_hash_pointer (GITypeInfo *info, gi_type_info_argument_from_hash_pointer (GITypeInfo *info,
gpointer hash_pointer, gpointer hash_pointer,
GIArgument *arg) GIArgument *arg)
{ {
GITypeTag storage_type = g_type_info_get_storage_type (info); GITypeTag storage_type = gi_type_info_get_storage_type (info);
gi_type_tag_argument_from_hash_pointer (storage_type, hash_pointer, gi_type_tag_argument_from_hash_pointer (storage_type, hash_pointer,
arg); arg);
} }
/** /**
* gi_type_tag_hash_pointer_from_argument: * gi_type_tag_hash_pointer_from_argument:
* @storage_type: a #GITypeTag obtained from g_type_info_get_storage_type() * @storage_type: a #GITypeTag obtained from gi_get_storage_type()
* @arg: A #GIArgument with the value to stuff into a pointer * @arg: A #GIArgument with the value to stuff into a pointer
* *
* GLib data structures, such as #GList, #GSList, and #GHashTable, all store * GLib data structures, such as #GList, #GSList, and #GHashTable, all store
@ -536,13 +536,13 @@ gi_type_tag_hash_pointer_from_argument (GITypeTag storage_type,
case GI_TYPE_TAG_DOUBLE: case GI_TYPE_TAG_DOUBLE:
default: default:
g_critical ("Unsupported storage type for pointer-stuffing: %s", g_critical ("Unsupported storage type for pointer-stuffing: %s",
g_type_tag_to_string (storage_type)); gi_type_tag_to_string (storage_type));
return arg->v_pointer; return arg->v_pointer;
} }
} }
/** /**
* g_type_info_hash_pointer_from_argument: * gi_type_info_hash_pointer_from_argument:
* @info: a #GITypeInfo * @info: a #GITypeInfo
* @arg: A #GIArgument with the value to stuff into a pointer * @arg: A #GIArgument with the value to stuff into a pointer
* *
@ -563,9 +563,9 @@ gi_type_tag_hash_pointer_from_argument (GITypeTag storage_type,
* Since: 1.66 * Since: 1.66
*/ */
gpointer gpointer
g_type_info_hash_pointer_from_argument (GITypeInfo *info, gi_type_info_hash_pointer_from_argument (GITypeInfo *info,
GIArgument *arg) GIArgument *arg)
{ {
GITypeTag storage_type = g_type_info_get_storage_type (info); GITypeTag storage_type = gi_type_info_get_storage_type (info);
return gi_type_tag_hash_pointer_from_argument (storage_type, arg); return gi_type_tag_hash_pointer_from_argument (storage_type, arg);
} }

View File

@ -39,17 +39,7 @@ G_BEGIN_DECLS
* Checks if @info is a #GITypeInfo. * Checks if @info is a #GITypeInfo.
*/ */
#define GI_IS_TYPE_INFO(info) \ #define GI_IS_TYPE_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_TYPE) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_TYPE)
/**
* G_TYPE_TAG_IS_BASIC
* @tag: a type tag
*
* Checks if @tag is a basic type.
*
* Deprecated: 1.72: Use GI_TYPE_TAG_IS_BASIC() instead
*/
#define G_TYPE_TAG_IS_BASIC(tag) GI_TYPE_TAG_IS_BASIC(tag)
/** /**
* GI_TYPE_TAG_IS_BASIC * GI_TYPE_TAG_IS_BASIC
@ -96,7 +86,7 @@ G_BEGIN_DECLS
* @tag: a type tag * @tag: a type tag
* *
* Checks if @tag is a container type. That is, a type which may have a nonnull * Checks if @tag is a container type. That is, a type which may have a nonnull
* return from g_type_info_get_param_type(). * return from gi_type_info_get_param_type().
* *
* Since: 1.72 * Since: 1.72
*/ */
@ -104,47 +94,47 @@ G_BEGIN_DECLS
((tag) >= GI_TYPE_TAG_GLIST && (tag) <= GI_TYPE_TAG_GHASH)) ((tag) >= GI_TYPE_TAG_GLIST && (tag) <= GI_TYPE_TAG_GHASH))
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar* g_type_tag_to_string (GITypeTag type); const gchar* gi_type_tag_to_string (GITypeTag type);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar* g_info_type_to_string (GIInfoType type); const gchar* gi_info_type_to_string (GIInfoType type);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_type_info_is_pointer (GITypeInfo *info); gboolean gi_type_info_is_pointer (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeTag g_type_info_get_tag (GITypeInfo *info); GITypeTag gi_type_info_get_tag (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * g_type_info_get_param_type (GITypeInfo *info, GITypeInfo * gi_type_info_get_param_type (GITypeInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIBaseInfo * g_type_info_get_interface (GITypeInfo *info); GIBaseInfo * gi_type_info_get_interface (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_type_info_get_array_length (GITypeInfo *info); gint gi_type_info_get_array_length (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_type_info_get_array_fixed_size(GITypeInfo *info); gint gi_type_info_get_array_fixed_size(GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_type_info_is_zero_terminated (GITypeInfo *info); gboolean gi_type_info_is_zero_terminated (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIArrayType g_type_info_get_array_type (GITypeInfo *info); GIArrayType gi_type_info_get_array_type (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeTag g_type_info_get_storage_type (GITypeInfo *info); GITypeTag gi_type_info_get_storage_type (GITypeInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_type_info_argument_from_hash_pointer (GITypeInfo *info, void gi_type_info_argument_from_hash_pointer (GITypeInfo *info,
gpointer hash_pointer, gpointer hash_pointer,
GIArgument *arg); GIArgument *arg);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gpointer g_type_info_hash_pointer_from_argument (GITypeInfo *info, gpointer gi_type_info_hash_pointer_from_argument (GITypeInfo *info,
GIArgument *arg); GIArgument *arg);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL

View File

@ -146,15 +146,15 @@ Changes since 0.1:
*/ */
/** /**
* G_IR_MAGIC: * GI_IR_MAGIC:
* *
* Identifying prefix for the typelib. This was inspired by XPCOM, * Identifying prefix for the typelib. This was inspired by XPCOM,
* which in turn borrowed from PNG. * which in turn borrowed from PNG.
*/ */
#define G_IR_MAGIC "GOBJ\nMETADATA\r\n\032" #define GI_IR_MAGIC "GOBJ\nMETADATA\r\n\032"
/** /**
* GTypelibBlobType: * GITypelibBlobType:
* @BLOB_TYPE_INVALID: Should not appear in code * @BLOB_TYPE_INVALID: Should not appear in code
* @BLOB_TYPE_FUNCTION: A #FunctionBlob * @BLOB_TYPE_FUNCTION: A #FunctionBlob
* @BLOB_TYPE_CALLBACK: A #CallbackBlob * @BLOB_TYPE_CALLBACK: A #CallbackBlob
@ -184,14 +184,14 @@ typedef enum {
BLOB_TYPE_CONSTANT, BLOB_TYPE_CONSTANT,
BLOB_TYPE_INVALID_0, BLOB_TYPE_INVALID_0,
BLOB_TYPE_UNION BLOB_TYPE_UNION
} GTypelibBlobType; } GITypelibBlobType;
#if defined (G_CAN_INLINE) && defined (G_ALWAYS_INLINE) #if defined (G_CAN_INLINE) && defined (G_ALWAYS_INLINE)
G_ALWAYS_INLINE G_ALWAYS_INLINE
inline gboolean inline gboolean
_blob_is_registered_type (GTypelibBlobType blob_type) _blob_is_registered_type (GITypelibBlobType blob_type)
{ {
switch (blob_type) switch (blob_type)
{ {
@ -208,7 +208,7 @@ _blob_is_registered_type (GTypelibBlobType blob_type)
} }
#define BLOB_IS_REGISTERED_TYPE(blob) \ #define BLOB_IS_REGISTERED_TYPE(blob) \
_blob_is_registered_type ((GTypelibBlobType) (blob)->blob_type) _blob_is_registered_type ((GITypelibBlobType) (blob)->blob_type)
#else #else
@ -224,7 +224,7 @@ _blob_is_registered_type (GTypelibBlobType blob_type)
/** /**
* Header: * Header:
* @magic: See #G_IR_MAGIC. * @magic: See #GI_IR_MAGIC.
* @major_version: The major version number of the typelib format. Major version * @major_version: The major version number of the typelib format. Major version
* number changes indicate incompatible changes to the tyeplib format. * number changes indicate incompatible changes to the tyeplib format.
* @minor_version: The minor version number of the typelib format. Minor version * @minor_version: The minor version number of the typelib format. Minor version
@ -351,7 +351,7 @@ typedef struct {
/** /**
* DirEntry: * DirEntry:
* @blob_type: A #GTypelibBlobType * @blob_type: A #GITypelibBlobType
* @local: Whether this entry refers to a blob in this typelib. * @local: Whether this entry refers to a blob in this typelib.
* @reserved: Reserved for future use. * @reserved: Reserved for future use.
* @name: The name of the entry. * @name: The name of the entry.
@ -530,7 +530,7 @@ typedef struct {
/** /**
* CommonBlob: * CommonBlob:
* @blob_type: A #GTypelibBlobType * @blob_type: A #GITypelibBlobType
* @deprecated: Whether the blob is deprecated. * @deprecated: Whether the blob is deprecated.
* @reserved: Reserved for future use. * @reserved: Reserved for future use.
* @name: The name of the blob. * @name: The name of the blob.
@ -1256,27 +1256,27 @@ struct _GITypelib {
gboolean open_attempted; gboolean open_attempted;
}; };
DirEntry *g_typelib_get_dir_entry (GITypelib *typelib, DirEntry *gi_typelib_get_dir_entry (GITypelib *typelib,
guint16 index); guint16 index);
DirEntry *g_typelib_get_dir_entry_by_name (GITypelib *typelib, DirEntry *gi_typelib_get_dir_entry_by_name (GITypelib *typelib,
const char *name); const char *name);
DirEntry *g_typelib_get_dir_entry_by_gtype_name (GITypelib *typelib, DirEntry *gi_typelib_get_dir_entry_by_gtype_name (GITypelib *typelib,
const gchar *gtype_name); const gchar *gtype_name);
DirEntry *g_typelib_get_dir_entry_by_error_domain (GITypelib *typelib, DirEntry *gi_typelib_get_dir_entry_by_error_domain (GITypelib *typelib,
GQuark error_domain); GQuark error_domain);
gboolean g_typelib_matches_gtype_name_prefix (GITypelib *typelib, gboolean gi_typelib_matches_gtype_name_prefix (GITypelib *typelib,
const gchar *gtype_name); const gchar *gtype_name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_typelib_check_sanity (void); void gi_typelib_check_sanity (void);
/** /**
* g_typelib_get_string: * gi_typelib_get_string:
* @typelib: TODO * @typelib: TODO
* @offset: TODO * @offset: TODO
* *
@ -1284,40 +1284,40 @@ void g_typelib_check_sanity (void);
* *
* Returns: TODO * Returns: TODO
*/ */
#define g_typelib_get_string(typelib,offset) ((const gchar*)&(typelib->data)[(offset)]) #define gi_typelib_get_string(typelib,offset) ((const gchar*)&(typelib->data)[(offset)])
/** /**
* GITypelibError: * GITypelibError:
* @G_TYPELIB_ERROR_INVALID: the typelib is invalid * @GI_TYPELIB_ERROR_INVALID: the typelib is invalid
* @G_TYPELIB_ERROR_INVALID_HEADER: the typelib header is invalid * @GI_TYPELIB_ERROR_INVALID_HEADER: the typelib header is invalid
* @G_TYPELIB_ERROR_INVALID_DIRECTORY: the typelib directory is invalid * @GI_TYPELIB_ERROR_INVALID_DIRECTORY: the typelib directory is invalid
* @G_TYPELIB_ERROR_INVALID_ENTRY: a typelib entry is invalid * @GI_TYPELIB_ERROR_INVALID_ENTRY: a typelib entry is invalid
* @G_TYPELIB_ERROR_INVALID_BLOB: a typelib blob is invalid * @GI_TYPELIB_ERROR_INVALID_BLOB: a typelib blob is invalid
* *
* A error set while validating the #GITypelib * A error set while validating the #GITypelib
*/ */
typedef enum typedef enum
{ {
G_TYPELIB_ERROR_INVALID, GI_TYPELIB_ERROR_INVALID,
G_TYPELIB_ERROR_INVALID_HEADER, GI_TYPELIB_ERROR_INVALID_HEADER,
G_TYPELIB_ERROR_INVALID_DIRECTORY, GI_TYPELIB_ERROR_INVALID_DIRECTORY,
G_TYPELIB_ERROR_INVALID_ENTRY, GI_TYPELIB_ERROR_INVALID_ENTRY,
G_TYPELIB_ERROR_INVALID_BLOB GI_TYPELIB_ERROR_INVALID_BLOB
} GITypelibError; } GITypelibError;
/** /**
* G_TYPELIB_ERROR: * GI_TYPELIB_ERROR:
* *
* TODO * TODO
*/ */
#define G_TYPELIB_ERROR (g_typelib_error_quark ()) #define GI_TYPELIB_ERROR (gi_typelib_error_quark ())
GQuark g_typelib_error_quark (void); GQuark gi_typelib_error_quark (void);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_typelib_validate (GITypelib *typelib, gboolean gi_typelib_validate (GITypelib *typelib,
GError **error); GError **error);
@ -1332,19 +1332,19 @@ AttributeBlob *_attribute_blob_find_first (GIBaseInfo *info,
*/ */
typedef struct _GITypelibHashBuilder GITypelibHashBuilder; typedef struct _GITypelibHashBuilder GITypelibHashBuilder;
GITypelibHashBuilder * _gi_typelib_hash_builder_new (void); GITypelibHashBuilder * gi_typelib_hash_builder_new (void);
void _gi_typelib_hash_builder_add_string (GITypelibHashBuilder *builder, const char *str, guint16 value); void gi_typelib_hash_builder_add_string (GITypelibHashBuilder *builder, const char *str, guint16 value);
gboolean _gi_typelib_hash_builder_prepare (GITypelibHashBuilder *builder); gboolean gi_typelib_hash_builder_prepare (GITypelibHashBuilder *builder);
guint32 _gi_typelib_hash_builder_get_buffer_size (GITypelibHashBuilder *builder); guint32 gi_typelib_hash_builder_get_buffer_size (GITypelibHashBuilder *builder);
void _gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint32 size); void gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint32 size);
void _gi_typelib_hash_builder_destroy (GITypelibHashBuilder *builder); void gi_typelib_hash_builder_destroy (GITypelibHashBuilder *builder);
guint16 _gi_typelib_hash_search (guint8* memory, const char *str, guint n_entries); guint16 gi_typelib_hash_search (guint8* memory, const char *str, guint n_entries);
G_END_DECLS G_END_DECLS

File diff suppressed because it is too large Load Diff

View File

@ -50,29 +50,29 @@ G_BEGIN_DECLS
typedef struct _GITypelib GITypelib; typedef struct _GITypelib GITypelib;
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypelib * g_typelib_new_from_memory (guint8 *memory, GITypelib * gi_typelib_new_from_memory (guint8 *memory,
gsize len, gsize len,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypelib * g_typelib_new_from_const_memory (const guint8 *memory, GITypelib * gi_typelib_new_from_const_memory (const guint8 *memory,
gsize len, gsize len,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypelib * g_typelib_new_from_mapped_file (GMappedFile *mfile, GITypelib * gi_typelib_new_from_mapped_file (GMappedFile *mfile,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
void g_typelib_free (GITypelib *typelib); void gi_typelib_free (GITypelib *typelib);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_typelib_symbol (GITypelib *typelib, gboolean gi_typelib_symbol (GITypelib *typelib,
const gchar *symbol_name, const gchar *symbol_name,
gpointer *symbol); gpointer *symbol);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const gchar * g_typelib_get_namespace (GITypelib *typelib); const gchar * gi_typelib_get_namespace (GITypelib *typelib);
G_END_DECLS G_END_DECLS

View File

@ -501,12 +501,4 @@ typedef enum
GI_FUNCTION_THROWS = 1 << 5 GI_FUNCTION_THROWS = 1 << 5
} GIFunctionInfoFlags; } GIFunctionInfoFlags;
#ifndef __GI_SCANNER__
#ifndef __GTK_DOC_IGNORE__
/* backwards compatibility */
typedef GIArgument GArgument;
typedef struct _GITypelib GTypelib;
#endif
#endif
G_END_DECLS G_END_DECLS

View File

@ -44,7 +44,7 @@
*/ */
/** /**
* g_union_info_get_n_fields: * gi_union_info_get_n_fields:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* *
* Obtain the number of fields this union has. * Obtain the number of fields this union has.
@ -52,7 +52,7 @@
* Returns: number of fields * Returns: number of fields
*/ */
gint gint
g_union_info_get_n_fields (GIUnionInfo *info) gi_union_info_get_n_fields (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
@ -61,29 +61,29 @@ g_union_info_get_n_fields (GIUnionInfo *info)
} }
/** /**
* g_union_info_get_field: * gi_union_info_get_field:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* @n: a field index * @n: a field index
* *
* Obtain the type information for field with specified index. * Obtain the type information for field with specified index.
* *
* Returns: (transfer full): the #GIFieldInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GIFieldInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GIFieldInfo * GIFieldInfo *
g_union_info_get_field (GIUnionInfo *info, gi_union_info_get_field (GIUnionInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib, return (GIFieldInfo *) gi_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib,
rinfo->offset + header->union_blob_size + rinfo->offset + header->union_blob_size +
n * header->field_blob_size); n * header->field_blob_size);
} }
/** /**
* g_union_info_get_n_methods: * gi_union_info_get_n_methods:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* *
* Obtain the number of methods this union has. * Obtain the number of methods this union has.
@ -91,7 +91,7 @@ g_union_info_get_field (GIUnionInfo *info,
* Returns: number of methods * Returns: number of methods
*/ */
gint gint
g_union_info_get_n_methods (GIUnionInfo *info) gi_union_info_get_n_methods (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
@ -100,17 +100,17 @@ g_union_info_get_n_methods (GIUnionInfo *info)
} }
/** /**
* g_union_info_get_method: * gi_union_info_get_method:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* @n: a method index * @n: a method index
* *
* Obtain the type information for method with specified index. * Obtain the type information for method with specified index.
* *
* Returns: (transfer full): the #GIFunctionInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GIFunctionInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_union_info_get_method (GIUnionInfo *info, gi_union_info_get_method (GIUnionInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -121,12 +121,12 @@ g_union_info_get_method (GIUnionInfo *info,
offset = rinfo->offset + header->union_blob_size offset = rinfo->offset + header->union_blob_size
+ blob->n_fields * header->field_blob_size + blob->n_fields * header->field_blob_size
+ n * header->function_blob_size; + n * header->function_blob_size;
return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
/** /**
* g_union_info_is_discriminated: * gi_union_info_is_discriminated:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* *
* Return true if this union contains discriminator field. * Return true if this union contains discriminator field.
@ -134,7 +134,7 @@ g_union_info_get_method (GIUnionInfo *info,
* Returns: %TRUE if this is a discriminated union, %FALSE otherwise * Returns: %TRUE if this is a discriminated union, %FALSE otherwise
*/ */
gboolean gboolean
g_union_info_is_discriminated (GIUnionInfo *info) gi_union_info_is_discriminated (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
@ -143,7 +143,7 @@ g_union_info_is_discriminated (GIUnionInfo *info)
} }
/** /**
* g_union_info_get_discriminator_offset: * gi_union_info_get_discriminator_offset:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* *
* Returns offset of the discriminator field in the structure. * Returns offset of the discriminator field in the structure.
@ -151,7 +151,7 @@ g_union_info_is_discriminated (GIUnionInfo *info)
* Returns: offset in bytes of the discriminator * Returns: offset in bytes of the discriminator
*/ */
gint gint
g_union_info_get_discriminator_offset (GIUnionInfo *info) gi_union_info_get_discriminator_offset (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
@ -160,24 +160,24 @@ g_union_info_get_discriminator_offset (GIUnionInfo *info)
} }
/** /**
* g_union_info_get_discriminator_type: * gi_union_info_get_discriminator_type:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* *
* Obtain the type information of the union discriminator. * Obtain the type information of the union discriminator.
* *
* Returns: (transfer full): the #GITypeInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GITypeInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GITypeInfo * GITypeInfo *
g_union_info_get_discriminator_type (GIUnionInfo *info) gi_union_info_get_discriminator_type (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
return _g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + 24); return gi_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + 24);
} }
/** /**
* g_union_info_get_discriminator: * gi_union_info_get_discriminator:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* @n: a union field index * @n: a union field index
* *
@ -185,11 +185,11 @@ g_union_info_get_discriminator_type (GIUnionInfo *info)
* union field is the active one if discriminator contains this * union field is the active one if discriminator contains this
* constant. * constant.
* *
* Returns: (transfer full): the #GIConstantInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GIConstantInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GIConstantInfo * GIConstantInfo *
g_union_info_get_discriminator (GIUnionInfo *info, gi_union_info_get_discriminator (GIUnionInfo *info,
gint n) gint n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -205,7 +205,7 @@ g_union_info_get_discriminator (GIUnionInfo *info,
+ blob->n_functions * header->function_blob_size + blob->n_functions * header->function_blob_size
+ n * header->constant_blob_size; + n * header->constant_blob_size;
return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info, return (GIConstantInfo *) gi_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info,
rinfo->typelib, offset); rinfo->typelib, offset);
} }
@ -213,17 +213,17 @@ g_union_info_get_discriminator (GIUnionInfo *info,
} }
/** /**
* g_union_info_find_method: * gi_union_info_find_method:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* @name: a method name * @name: a method name
* *
* Obtain the type information for method named @name. * Obtain the type information for method named @name.
* *
* Returns: (transfer full): the #GIFunctionInfo, free it with g_base_info_unref() * Returns: (transfer full): the #GIFunctionInfo, free it with gi_base_info_unref()
* when done. * when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_union_info_find_method (GIUnionInfo *info, gi_union_info_find_method (GIUnionInfo *info,
const gchar *name) const gchar *name)
{ {
gint offset; gint offset;
@ -234,11 +234,11 @@ g_union_info_find_method (GIUnionInfo *info,
offset = rinfo->offset + header->union_blob_size offset = rinfo->offset + header->union_blob_size
+ blob->n_fields * header->field_blob_size; + blob->n_fields * header->field_blob_size;
return _g_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_functions, name); return gi_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_functions, name);
} }
/** /**
* g_union_info_get_size: * gi_union_info_get_size:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* *
* Obtain the total size of the union. * Obtain the total size of the union.
@ -246,7 +246,7 @@ g_union_info_find_method (GIUnionInfo *info,
* Returns: size of the union in bytes * Returns: size of the union in bytes
*/ */
gsize gsize
g_union_info_get_size (GIUnionInfo *info) gi_union_info_get_size (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
@ -255,7 +255,7 @@ g_union_info_get_size (GIUnionInfo *info)
} }
/** /**
* g_union_info_get_alignment: * gi_union_info_get_alignment:
* @info: a #GIUnionInfo * @info: a #GIUnionInfo
* *
* Obtain the required alignment of the union. * Obtain the required alignment of the union.
@ -263,7 +263,7 @@ g_union_info_get_size (GIUnionInfo *info)
* Returns: required alignment in bytes * Returns: required alignment in bytes
*/ */
gsize gsize
g_union_info_get_alignment (GIUnionInfo *info) gi_union_info_get_alignment (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
@ -272,7 +272,7 @@ g_union_info_get_alignment (GIUnionInfo *info)
} }
/** /**
* g_union_info_get_copy_function: * gi_union_info_get_copy_function:
* @info: a union information blob * @info: a union information blob
* *
* Retrieves the name of the copy function for @info, if any is set. * Retrieves the name of the copy function for @info, if any is set.
@ -282,7 +282,7 @@ g_union_info_get_alignment (GIUnionInfo *info)
* Since: 1.76 * Since: 1.76
*/ */
const char * const char *
g_union_info_get_copy_function (GIUnionInfo *info) gi_union_info_get_copy_function (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob; UnionBlob *blob;
@ -293,13 +293,13 @@ g_union_info_get_copy_function (GIUnionInfo *info)
blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->copy_func) if (blob->copy_func)
return g_typelib_get_string (rinfo->typelib, blob->copy_func); return gi_typelib_get_string (rinfo->typelib, blob->copy_func);
return NULL; return NULL;
} }
/** /**
* g_union_info_get_free_function: * gi_union_info_get_free_function:
* @info: a union information blob * @info: a union information blob
* *
* Retrieves the name of the free function for @info, if any is set. * Retrieves the name of the free function for @info, if any is set.
@ -309,7 +309,7 @@ g_union_info_get_copy_function (GIUnionInfo *info)
* Since: 1.76 * Since: 1.76
*/ */
const char * const char *
g_union_info_get_free_function (GIUnionInfo *info) gi_union_info_get_free_function (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob; UnionBlob *blob;
@ -320,7 +320,7 @@ g_union_info_get_free_function (GIUnionInfo *info)
blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->free_func) if (blob->free_func)
return g_typelib_get_string (rinfo->typelib, blob->free_func); return gi_typelib_get_string (rinfo->typelib, blob->free_func);
return NULL; return NULL;
} }

View File

@ -39,49 +39,49 @@ G_BEGIN_DECLS
* Checks if @info is a #GIUnionInfo. * Checks if @info is a #GIUnionInfo.
*/ */
#define GI_IS_UNION_INFO(info) \ #define GI_IS_UNION_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_union_info_get_n_fields (GIUnionInfo *info); gint gi_union_info_get_n_fields (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFieldInfo * g_union_info_get_field (GIUnionInfo *info, GIFieldInfo * gi_union_info_get_field (GIUnionInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_union_info_get_n_methods (GIUnionInfo *info); gint gi_union_info_get_n_methods (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_union_info_get_method (GIUnionInfo *info, GIFunctionInfo * gi_union_info_get_method (GIUnionInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_union_info_is_discriminated (GIUnionInfo *info); gboolean gi_union_info_is_discriminated (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_union_info_get_discriminator_offset (GIUnionInfo *info); gint gi_union_info_get_discriminator_offset (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * g_union_info_get_discriminator_type (GIUnionInfo *info); GITypeInfo * gi_union_info_get_discriminator_type (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIConstantInfo * g_union_info_get_discriminator (GIUnionInfo *info, GIConstantInfo * gi_union_info_get_discriminator (GIUnionInfo *info,
gint n); gint n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_union_info_find_method (GIUnionInfo *info, GIFunctionInfo * gi_union_info_find_method (GIUnionInfo *info,
const gchar *name); const gchar *name);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gsize g_union_info_get_size (GIUnionInfo *info); gsize gi_union_info_get_size (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gsize g_union_info_get_alignment (GIUnionInfo *info); gsize gi_union_info_get_alignment (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_union_info_get_copy_function (GIUnionInfo *info); const char * gi_union_info_get_copy_function (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
const char * g_union_info_get_free_function (GIUnionInfo *info); const char * gi_union_info_get_free_function (GIUnionInfo *info);
G_END_DECLS G_END_DECLS

View File

@ -45,7 +45,7 @@
*/ */
GIVFuncInfo * GIVFuncInfo *
_g_base_info_find_vfunc (GIRealInfo *rinfo, gi_base_info_find_vfunc (GIRealInfo *rinfo,
guint32 offset, guint32 offset,
gint n_vfuncs, gint n_vfuncs,
const gchar *name) const gchar *name)
@ -60,7 +60,7 @@ _g_base_info_find_vfunc (GIRealInfo *rinfo,
const gchar *fname = (const gchar *)&rinfo->typelib->data[fblob->name]; const gchar *fname = (const gchar *)&rinfo->typelib->data[fblob->name];
if (strcmp (name, fname) == 0) if (strcmp (name, fname) == 0)
return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*) rinfo, return (GIVFuncInfo *) gi_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*) rinfo,
rinfo->typelib, offset); rinfo->typelib, offset);
offset += header->vfunc_blob_size; offset += header->vfunc_blob_size;
@ -70,7 +70,7 @@ _g_base_info_find_vfunc (GIRealInfo *rinfo,
} }
/** /**
* g_vfunc_info_get_flags: * gi_vfunc_info_get_flags:
* @info: a #GIVFuncInfo * @info: a #GIVFuncInfo
* *
* Obtain the flags for this virtual function info. See #GIVFuncInfoFlags for * Obtain the flags for this virtual function info. See #GIVFuncInfoFlags for
@ -79,7 +79,7 @@ _g_base_info_find_vfunc (GIRealInfo *rinfo,
* Returns: the flags * Returns: the flags
*/ */
GIVFuncInfoFlags GIVFuncInfoFlags
g_vfunc_info_get_flags (GIVFuncInfo *info) gi_vfunc_info_get_flags (GIVFuncInfo *info)
{ {
GIVFuncInfoFlags flags; GIVFuncInfoFlags flags;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -108,7 +108,7 @@ g_vfunc_info_get_flags (GIVFuncInfo *info)
} }
/** /**
* g_vfunc_info_get_offset: * gi_vfunc_info_get_offset:
* @info: a #GIVFuncInfo * @info: a #GIVFuncInfo
* *
* Obtain the offset of the function pointer in the class struct. The value * Obtain the offset of the function pointer in the class struct. The value
@ -117,7 +117,7 @@ g_vfunc_info_get_flags (GIVFuncInfo *info)
* Returns: the struct offset or 0xFFFF if it's unknown * Returns: the struct offset or 0xFFFF if it's unknown
*/ */
gint gint
g_vfunc_info_get_offset (GIVFuncInfo *info) gi_vfunc_info_get_offset (GIVFuncInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
VFuncBlob *blob; VFuncBlob *blob;
@ -131,7 +131,7 @@ g_vfunc_info_get_offset (GIVFuncInfo *info)
} }
/** /**
* g_vfunc_info_get_signal: * gi_vfunc_info_get_signal:
* @info: a #GIVFuncInfo * @info: a #GIVFuncInfo
* *
* Obtain the signal for the virtual function if one is set. * Obtain the signal for the virtual function if one is set.
@ -141,7 +141,7 @@ g_vfunc_info_get_offset (GIVFuncInfo *info)
* Returns: (transfer full): the signal or %NULL if none set * Returns: (transfer full): the signal or %NULL if none set
*/ */
GISignalInfo * GISignalInfo *
g_vfunc_info_get_signal (GIVFuncInfo *info) gi_vfunc_info_get_signal (GIVFuncInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
VFuncBlob *blob; VFuncBlob *blob;
@ -152,13 +152,13 @@ g_vfunc_info_get_signal (GIVFuncInfo *info)
blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset]; blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->class_closure) if (blob->class_closure)
return g_interface_info_get_signal ((GIInterfaceInfo *)rinfo->container, blob->signal); return gi_interface_info_get_signal ((GIInterfaceInfo *)rinfo->container, blob->signal);
return NULL; return NULL;
} }
/** /**
* g_vfunc_info_get_invoker: * gi_vfunc_info_get_invoker:
* @info: a #GIVFuncInfo * @info: a #GIVFuncInfo
* *
* If this virtual function has an associated invoker method, this * If this virtual function has an associated invoker method, this
@ -167,10 +167,10 @@ g_vfunc_info_get_signal (GIVFuncInfo *info)
* Not all virtuals will have invokers. * Not all virtuals will have invokers.
* *
* Returns: (transfer full): the #GIVFuncInfo or %NULL. Free it with * Returns: (transfer full): the #GIVFuncInfo or %NULL. Free it with
* g_base_info_unref() when done. * gi_base_info_unref() when done.
*/ */
GIFunctionInfo * GIFunctionInfo *
g_vfunc_info_get_invoker (GIVFuncInfo *info) gi_vfunc_info_get_invoker (GIVFuncInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
VFuncBlob *blob; VFuncBlob *blob;
@ -187,17 +187,17 @@ g_vfunc_info_get_invoker (GIVFuncInfo *info)
return NULL; return NULL;
container = rinfo->container; container = rinfo->container;
parent_type = g_base_info_get_type (container); parent_type = gi_base_info_get_type (container);
if (parent_type == GI_INFO_TYPE_OBJECT) if (parent_type == GI_INFO_TYPE_OBJECT)
return g_object_info_get_method ((GIObjectInfo*)container, blob->invoker); return gi_object_info_get_method ((GIObjectInfo*)container, blob->invoker);
else if (parent_type == GI_INFO_TYPE_INTERFACE) else if (parent_type == GI_INFO_TYPE_INTERFACE)
return g_interface_info_get_method ((GIInterfaceInfo*)container, blob->invoker); return gi_interface_info_get_method ((GIInterfaceInfo*)container, blob->invoker);
else else
g_assert_not_reached (); g_assert_not_reached ();
} }
/** /**
* g_vfunc_info_get_address: * gi_vfunc_info_get_address:
* @info: a #GIVFuncInfo * @info: a #GIVFuncInfo
* @implementor_gtype: #GType implementing this virtual function * @implementor_gtype: #GType implementing this virtual function
* @error: return location for a #GError * @error: return location for a #GError
@ -208,7 +208,7 @@ g_vfunc_info_get_invoker (GIVFuncInfo *info)
* Returns: address to a function or %NULL if an error happened * Returns: address to a function or %NULL if an error happened
*/ */
gpointer gpointer
g_vfunc_info_get_address (GIVFuncInfo *vfunc_info, gi_vfunc_info_get_address (GIVFuncInfo *vfunc_info,
GType implementor_gtype, GType implementor_gtype,
GError **error) GError **error)
{ {
@ -221,28 +221,28 @@ g_vfunc_info_get_address (GIVFuncInfo *vfunc_info,
gpointer implementor_class, implementor_vtable; gpointer implementor_class, implementor_vtable;
gpointer func = NULL; gpointer func = NULL;
container_info = g_base_info_get_container (vfunc_info); container_info = gi_base_info_get_container (vfunc_info);
if (g_base_info_get_type (container_info) == GI_INFO_TYPE_OBJECT) if (gi_base_info_get_type (container_info) == GI_INFO_TYPE_OBJECT)
{ {
object_info = (GIObjectInfo*) container_info; object_info = (GIObjectInfo*) container_info;
interface_info = NULL; interface_info = NULL;
struct_info = g_object_info_get_class_struct (object_info); struct_info = gi_object_info_get_class_struct (object_info);
} }
else else
{ {
interface_info = (GIInterfaceInfo*) container_info; interface_info = (GIInterfaceInfo*) container_info;
object_info = NULL; object_info = NULL;
struct_info = g_interface_info_get_iface_struct (interface_info); struct_info = gi_interface_info_get_iface_struct (interface_info);
} }
length = g_struct_info_get_n_fields (struct_info); length = gi_struct_info_get_n_fields (struct_info);
for (i = 0; i < length; i++) for (i = 0; i < length; i++)
{ {
field_info = g_struct_info_get_field (struct_info, i); field_info = gi_struct_info_get_field (struct_info, i);
if (strcmp (g_base_info_get_name ( (GIBaseInfo*) field_info), if (strcmp (gi_base_info_get_name ( (GIBaseInfo*) field_info),
g_base_info_get_name ( (GIBaseInfo*) vfunc_info)) != 0) { gi_base_info_get_name ( (GIBaseInfo*) vfunc_info)) != 0) {
g_base_info_unref (field_info); gi_base_info_unref (field_info);
field_info = NULL; field_info = NULL;
continue; continue;
} }
@ -253,8 +253,8 @@ g_vfunc_info_get_address (GIVFuncInfo *vfunc_info,
if (field_info == NULL) if (field_info == NULL)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_SYMBOL_NOT_FOUND, GI_INVOKE_ERROR_SYMBOL_NOT_FOUND,
"Couldn't find struct field for this vfunc"); "Couldn't find struct field for this vfunc");
goto out; goto out;
} }
@ -269,34 +269,34 @@ g_vfunc_info_get_address (GIVFuncInfo *vfunc_info,
{ {
GType interface_type; GType interface_type;
interface_type = g_registered_type_info_get_g_type ((GIRegisteredTypeInfo*) interface_info); interface_type = gi_registered_type_info_get_g_type ((GIRegisteredTypeInfo*) interface_info);
implementor_vtable = g_type_interface_peek (implementor_class, interface_type); implementor_vtable = g_type_interface_peek (implementor_class, interface_type);
} }
offset = g_field_info_get_offset (field_info); offset = gi_field_info_get_offset (field_info);
func = *(gpointer*) G_STRUCT_MEMBER_P (implementor_vtable, offset); func = *(gpointer*) G_STRUCT_MEMBER_P (implementor_vtable, offset);
g_type_class_unref (implementor_class); g_type_class_unref (implementor_class);
g_base_info_unref (field_info); gi_base_info_unref (field_info);
if (func == NULL) if (func == NULL)
{ {
g_set_error (error, g_set_error (error,
G_INVOKE_ERROR, GI_INVOKE_ERROR,
G_INVOKE_ERROR_SYMBOL_NOT_FOUND, GI_INVOKE_ERROR_SYMBOL_NOT_FOUND,
"Class %s doesn't implement %s", "Class %s doesn't implement %s",
g_type_name (implementor_gtype), g_type_name (implementor_gtype),
g_base_info_get_name ( (GIBaseInfo*) vfunc_info)); gi_base_info_get_name ( (GIBaseInfo*) vfunc_info));
goto out; goto out;
} }
out: out:
g_base_info_unref ((GIBaseInfo*) struct_info); gi_base_info_unref ((GIBaseInfo*) struct_info);
return func; return func;
} }
/** /**
* g_vfunc_info_invoke: (skip) * gi_vfunc_info_invoke: (skip)
* @info: a #GIVFuncInfo describing the virtual function to invoke * @info: a #GIVFuncInfo describing the virtual function to invoke
* @implementor: #GType of the type that implements this virtual function * @implementor: #GType of the type that implements this virtual function
* @in_args: (array length=n_in_args): an array of #GIArgument<!-- -->s, one for each in * @in_args: (array length=n_in_args): an array of #GIArgument<!-- -->s, one for each in
@ -320,7 +320,7 @@ g_vfunc_info_get_address (GIVFuncInfo *vfunc_info,
* error occurred. * error occurred.
*/ */
gboolean gboolean
g_vfunc_info_invoke (GIVFuncInfo *info, gi_vfunc_info_invoke (GIVFuncInfo *info,
GType implementor, GType implementor,
const GIArgument *in_args, const GIArgument *in_args,
int n_in_args, int n_in_args,
@ -331,11 +331,11 @@ g_vfunc_info_invoke (GIVFuncInfo *info,
{ {
gpointer func; gpointer func;
func = g_vfunc_info_get_address (info, implementor, error); func = gi_vfunc_info_get_address (info, implementor, error);
if (*error != NULL) if (*error != NULL)
return FALSE; return FALSE;
return g_callable_info_invoke ((GICallableInfo*) info, return gi_callable_info_invoke ((GICallableInfo*) info,
func, func,
in_args, in_args,
n_in_args, n_in_args,

View File

@ -39,27 +39,27 @@ G_BEGIN_DECLS
* Checks if @info is a #GIVfuncInfo. * Checks if @info is a #GIVfuncInfo.
*/ */
#define GI_IS_VFUNC_INFO(info) \ #define GI_IS_VFUNC_INFO(info) \
(g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VFUNC) (gi_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_VFUNC)
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIVFuncInfoFlags g_vfunc_info_get_flags (GIVFuncInfo *info); GIVFuncInfoFlags gi_vfunc_info_get_flags (GIVFuncInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gint g_vfunc_info_get_offset (GIVFuncInfo *info); gint gi_vfunc_info_get_offset (GIVFuncInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GISignalInfo * g_vfunc_info_get_signal (GIVFuncInfo *info); GISignalInfo * gi_vfunc_info_get_signal (GIVFuncInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * g_vfunc_info_get_invoker (GIVFuncInfo *info); GIFunctionInfo * gi_vfunc_info_get_invoker (GIVFuncInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gpointer g_vfunc_info_get_address (GIVFuncInfo *info, gpointer gi_vfunc_info_get_address (GIVFuncInfo *info,
GType implementor_gtype, GType implementor_gtype,
GError **error); GError **error);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
gboolean g_vfunc_info_invoke (GIVFuncInfo *info, gboolean gi_vfunc_info_invoke (GIVFuncInfo *info,
GType implementor, GType implementor,
const GIArgument *in_args, const GIArgument *in_args,
int n_in_args, int n_in_args,

View File

@ -31,28 +31,28 @@ test_build_retrieve (void)
guint32 bufsize; guint32 bufsize;
guint8* buf; guint8* buf;
builder = _gi_typelib_hash_builder_new (); builder = gi_typelib_hash_builder_new ();
_gi_typelib_hash_builder_add_string (builder, "Action", 0); gi_typelib_hash_builder_add_string (builder, "Action", 0);
_gi_typelib_hash_builder_add_string (builder, "ZLibDecompressor", 42); gi_typelib_hash_builder_add_string (builder, "ZLibDecompressor", 42);
_gi_typelib_hash_builder_add_string (builder, "VolumeMonitor", 9); gi_typelib_hash_builder_add_string (builder, "VolumeMonitor", 9);
_gi_typelib_hash_builder_add_string (builder, "FileMonitorFlags", 31); gi_typelib_hash_builder_add_string (builder, "FileMonitorFlags", 31);
if (!_gi_typelib_hash_builder_prepare (builder)) if (!gi_typelib_hash_builder_prepare (builder))
g_assert_not_reached (); g_assert_not_reached ();
bufsize = _gi_typelib_hash_builder_get_buffer_size (builder); bufsize = gi_typelib_hash_builder_get_buffer_size (builder);
buf = g_malloc (bufsize); buf = g_malloc (bufsize);
_gi_typelib_hash_builder_pack (builder, buf, bufsize); gi_typelib_hash_builder_pack (builder, buf, bufsize);
_gi_typelib_hash_builder_destroy (builder); gi_typelib_hash_builder_destroy (builder);
g_assert (_gi_typelib_hash_search (buf, "Action", 4) == 0); g_assert (gi_typelib_hash_search (buf, "Action", 4) == 0);
g_assert (_gi_typelib_hash_search (buf, "ZLibDecompressor", 4) == 42); g_assert (gi_typelib_hash_search (buf, "ZLibDecompressor", 4) == 42);
g_assert (_gi_typelib_hash_search (buf, "VolumeMonitor", 4) == 9); g_assert (gi_typelib_hash_search (buf, "VolumeMonitor", 4) == 9);
g_assert (_gi_typelib_hash_search (buf, "FileMonitorFlags", 4) == 31); g_assert (gi_typelib_hash_search (buf, "FileMonitorFlags", 4) == 31);
} }
int int

View File

@ -64,7 +64,7 @@ struct _GITypelibHashBuilder {
}; };
GITypelibHashBuilder * GITypelibHashBuilder *
_gi_typelib_hash_builder_new (void) gi_typelib_hash_builder_new (void)
{ {
GITypelibHashBuilder *builder = g_slice_new0 (GITypelibHashBuilder); GITypelibHashBuilder *builder = g_slice_new0 (GITypelibHashBuilder);
builder->c = NULL; builder->c = NULL;
@ -73,7 +73,7 @@ _gi_typelib_hash_builder_new (void)
} }
void void
_gi_typelib_hash_builder_add_string (GITypelibHashBuilder *builder, gi_typelib_hash_builder_add_string (GITypelibHashBuilder *builder,
const char *str, const char *str,
guint16 value) guint16 value)
{ {
@ -82,7 +82,7 @@ _gi_typelib_hash_builder_add_string (GITypelibHashBuilder *builder,
} }
gboolean gboolean
_gi_typelib_hash_builder_prepare (GITypelibHashBuilder *builder) gi_typelib_hash_builder_prepare (GITypelibHashBuilder *builder)
{ {
char **strs; char **strs;
GHashTableIter hashiter; GHashTableIter hashiter;
@ -137,7 +137,7 @@ _gi_typelib_hash_builder_prepare (GITypelibHashBuilder *builder)
} }
guint32 guint32
_gi_typelib_hash_builder_get_buffer_size (GITypelibHashBuilder *builder) gi_typelib_hash_builder_get_buffer_size (GITypelibHashBuilder *builder)
{ {
g_return_val_if_fail (builder != NULL, 0); g_return_val_if_fail (builder != NULL, 0);
g_return_val_if_fail (builder->prepared, 0); g_return_val_if_fail (builder->prepared, 0);
@ -147,7 +147,7 @@ _gi_typelib_hash_builder_get_buffer_size (GITypelibHashBuilder *builder)
} }
void void
_gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint32 len) gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint32 len)
{ {
guint16 *table; guint16 *table;
GHashTableIter hashiter; GHashTableIter hashiter;
@ -185,7 +185,7 @@ _gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint
} }
void void
_gi_typelib_hash_builder_destroy (GITypelibHashBuilder *builder) gi_typelib_hash_builder_destroy (GITypelibHashBuilder *builder)
{ {
if (builder->c) if (builder->c)
{ {
@ -197,7 +197,7 @@ _gi_typelib_hash_builder_destroy (GITypelibHashBuilder *builder)
} }
guint16 guint16
_gi_typelib_hash_search (guint8* memory, const char *str, guint n_entries) gi_typelib_hash_search (guint8* memory, const char *str, guint n_entries)
{ {
guint32 *mph; guint32 *mph;
guint16 *table; guint16 *table;