The type of array in a #GITypeInfo. An opaque structure used to iterate over attributes in a #GIBaseInfo struct. The direction of a #GIArgInfo. Flags for a #GIFieldInfo. Flags for a #GIFunctionInfo struct. The type of a GIBaseInfo struct. Extract an object instance out of @value the object instance a #GValue Increases the reference count of an object instance. the object instance object instance pointer Update @value and attach the object instance pointer @object to it. a #GValue object instance pointer Decreases the reference count of an object instance. object instance pointer Returns the singleton process-global default #GIRepository. It is not currently supported to have multiple repositories in a particular process, but this function is provided in the unlikely eventuality that it would become possible, and as a convenience for higher level language bindings to conform to the GObject method call conventions. All methods on #GIRepository also accept %NULL as an instance parameter to mean this default repository, which is usually more convenient for C. The global singleton #GIRepository Returns the search path the GIRepository will use when looking for typelibs. The string is internal to GIRespository and should not be freed, nor should the elements. list of strings Check whether a particular namespace (and optionally, a specific version thereof) is currently loaded. This function is likely to only be useful in unusual circumstances; in order to act upon metadata in the namespace, you should call #g_irepository_require instead which will ensure the namespace is loaded, and return as quickly as this function will if it has already been loaded. %TRUE if namespace-version is loaded, %FALSE otherwise Namespace of interest Required version, may be %NULL for latest Searches for a particular entry in a namespace. Before calling this function for a particular namespace, you must call #g_irepository_require once to load the namespace, or otherwise ensure the namespace has already been loaded. #GIBaseInfo representing metadata about @name, or %NULL Namespace which will be searched Entry name to find Obtain an unordered list of versions (either currently loaded or available) for @namespace_ in this @repository. the array of versions. GI namespace, e.g. "Gtk" Force the namespace @namespace_ to be loaded if it isn't already. If @namespace_ is not loaded, this function will search for a ".typelib" file using the repository search path. In addition, a version @version of namespace may be specified. If @version is not specified, the latest will be used. a pointer to the #GTypelib if successful, %NULL otherwise GI namespace to use, e.g. "Gtk" Version of namespace, may be %NULL for latest Set of %GIRepositoryLoadFlags, may be 0 Force the namespace @namespace_ to be loaded if it isn't already. If @namespace_ is not loaded, this function will search for a ".typelib" file within the private directory only. In addition, a version @version of namespace should be specified. If @version is not specified, the latest will be used. a pointer to the #GTypelib if successful, %NULL otherwise Private directory where to find the requested typelib Version of namespace, may be %NULL for latest Set of %GIRepositoryLoadFlags, may be 0 Return an array of all (transitive) dependencies for namespace form <code>namespace-version</code>. such as #g_irepository_require before calling this function. Zero-terminated string array of versioned dependencies Namespace of interest Searches all loaded namespaces for a particular #GType. Note that in order to locate the metadata, the namespace corresponding to the type must first have been loaded. There is currently no mechanism for determining the namespace which corresponds to an arbitrary GType - thus, this function will operate most reliably when you know the GType to originate from be from a loaded namespace. #GIBaseInfo representing metadata about @type, or %NULL GType to search for This function returns the number of metadata entries in given namespace @namespace_. The namespace must have already been loaded before calling this function. number of metadata entries Namespace to inspect This function returns a particular metadata entry in the given namespace @namespace_. The namespace must have already been loaded before calling this function. #GIBaseInfo containing metadata Namespace to inspect Offset into namespace metadata for entry This function returns the full path to the shared C library associated with the given namespace @namespace_. There may be no shared library path associated, in which case this function will return %NULL. such as #g_irepository_require before calling this function. Full path to shared library, or %NULL if none associated Namespace to inspect This function returns the loaded version associated with the given namespace @namespace_. such as #g_irepository_require before calling this function. Loaded version Namespace to inspect Scope type of a #GIArgInfo representing callback, determines how the callback is invoked and is used to decided when the invoke structs can be freed. The transfer is the exchange of data between two parts, from the callee to the caller. The callee is either a function/method/signal or an object/interface where a property is defined. The caller is the side accessing a property or calling a function. #GITransfer specifies who's responsible for freeing the resources after the ownership transfer is complete. In case of a containing type such as a list, an array or a hash table the container itself is specified differently from the items within the container itself. Each container is freed differently, check the documentation for the types themselves for information on how to free them. The type tag of a #GITypeInfo. Represents a unresolved type in a typelib. Flags of a #GIVFuncInfo struct. An error occuring while invoking a function via g_function_info_invoke(). Obtain the index of the user data argument. This is only valid for arguments which are callbacks. index of the user data argument or -1 if there is none a #GIArgInfo Obtains the index of the #GDestroyNotify argument. This is only valid for arguments which are callbacks. index of the #GDestroyNotify argument or -1 if there is none a #GIArgInfo Obtain the direction of the argument. Check #GIDirection for possible direction values. the direction a #GIArgInfo Obtain the ownership transfer for this argument. #GITransfer contains a list of possible values. the transfer a #GIArgInfo Obtain the scope type for this argument. The scope type explains how a callback is going to be invoked, most importantly when the resources required to invoke it can be freed. #GIScopeType contains a list of possible values. the scope type a #GIArgInfo Obtain the type information for @info. g_base_info_unref() when done. the #GIArgInfo, free it with a #GIArgInfo Obtain if the argument is a pointer to a struct or object that will receive an output of a function. The default assumption for %GI_DIRECTION_OUT arguments which have allocation is that the callee allocates; if this is %TRUE, then the caller must allocate. %TRUE if caller is required to have allocated the argument a #GIArgInfo Obtain if the argument is optional. %TRUE if it is an optional argument a #GIArgInfo Obtain if the argument is a return value. It can either be a parameter or a return value. %TRUE if it is a return value a #GIArgInfo Obtain information about a the type of given argument @info; this function is a variant of g_arg_info_get_type() designed for stack allocation. The initialized @type must not be referenced after @info is deallocated. a #GIArgInfo Initialized with information about type of @info Obtain if the argument accepts %NULL. %TRUE if it accepts %NULL a #GIArgInfo Compare two #GIBaseInfo. Using pointer comparison is not practical since many functions return different instances of #GIBaseInfo that refers to the same part of the TypeLib; use this function instead to do #GIBaseInfo comparisons. %TRUE if and only if @info1 equals @info2. a #GIBaseInfo a #GIBaseInfo Retrieve an arbitrary attribute associated with this node. The value of the attribute, or %NULL if no such attribute exists a #GIBaseInfo a freeform string naming an attribute Obtain the container of the @info. The container is the parent GIBaseInfo. For instance, the parent of a #GIFunctionInfo is an #GIObjectInfo or #GIInterfaceInfo. the container a #GIBaseInfo Obtain the name of the @info. What the name represents depends on the #GIInfoType of the @info. For instance for #GIFunctionInfo it is the name of the function. the name of @info or %NULL if it lacks a name. a #GIBaseInfo Obtain the namespace of @info. the namespace a #GIBaseInfo Obtain the info type of the GIBaseInfo. the info type of @info a #GIBaseInfo Obtain the typelib this @info belongs to the typelib. a #GIBaseInfo Obtain whether the @info is represents a metadata which is deprecated or not. %TRUE if deprecated a #GIBaseInfo Iterate over all attributes associated with this node. The iterator structure is typically stack allocated, and must have its first member initialized to %NULL. Both the @name and @value should be treated as constants and must not be freed. <example> <title>Iterating over attributes</title> <programlisting> void print_attributes (GIBaseInfo *info) { GIAttributeIter iter = { 0, }; char *name; char *value; while (g_base_info_iterate_attributes (info, &iter, &name, &value)) { } } </programlisting> </example> %TRUE if there are more attributes a #GIBaseInfo a #GIAttributeIter structure, must be initialized; see below Returned name, must not be freed Returned name, must not be freed Increases the reference count of @info. the same @info. a #GIBaseInfo Decreases the reference count of @info. When its reference count drops to 0, the info is freed. a #GIBaseInfo Obtain information about a particular argument of this callable. g_base_info_unref() when done. the #GIArgInfo. Free it with a #GICallableInfo the argument index to fetch See whether the caller owns the return value of this callable. #GITransfer contains a list of possible transfer values. %TRUE if the caller owns the return value, %FALSE otherwise. a #GICallableInfo Obtain the number of arguments (both IN and OUT) for this callable. The number of arguments this callable expects. a #GICallableInfo Retrieve an arbitrary attribute associated with the return value. The value of the attribute, or %NULL if no such attribute exists a #GICallableInfo a freeform string naming an attribute Obtain the return type of a callable item as a #GITypeInfo. g_base_info_unref() when done. the #GITypeInfo. Free the struct by calling a #GICallableInfo Iterate over all attributes associated with the return value. The iterator structure is typically stack allocated, and must have its first member initialized to %NULL. Both the @name and @value should be treated as constants and must not be freed. See g_base_info_iterate_attributes() for an example of how to use a similar API. %TRUE if there are more attributes a #GICallableInfo a #GIAttributeIter structure, must be initialized; see below Returned name, must not be freed Returned name, must not be freed Obtain information about a particular argument of this callable; this function is a variant of g_callable_info_get_arg() designed for stack allocation. The initialized @arg must not be referenced after @info is deallocated. a #GICallableInfo the argument index to fetch Initialize with argument number @n Obtain information about a return value of callable; this function is a variant of g_callable_info_get_return_type() designed for stack allocation. The initialized @type must not be referenced after @info is deallocated. a #GICallableInfo Initialized with return type of @info See if a callable could return %NULL. %TRUE if callable could return %NULL a #GICallableInfo Obtain the type of the constant as a #GITypeInfo. g_base_info_unref() when done. the #GITypeInfo. Free the struct by calling a #GIConstantInfo Obtain the value associated with the #GIConstantInfo and store it in the The size of the constant value stored in @argument will be returned. size of the constant a #GIConstantInfo an argument Obtain the tag of the type used for the enum in the C ABI. This will will be a signed or unsigned integral type. Note that in the current implementation the width of the type is computed correctly, but the signed or unsigned nature of the type may not match the sign of the type used by the C compiler. the storage type for the enumeration a #GIEnumInfo Obtain a value for this enumeration. free the struct with g_base_info_unref() when done. the enumeration value or %NULL if type tag is wrong, a #GIEnumInfo index of value to fetch Obtain the enum containing all the error codes for this error domain. The return value will have a #GIInfoType of %GI_INFO_TYPE_ERROR_DOMAIN free the struct with g_base_info_unref() when done. the error domain or %NULL if type tag is wrong, a #GIErrorDomainInfo Obtain a string representing the quark for this error domain. %NULL will be returned if the type tag is wrong or if a quark is missing in the typelib. the quark represented as a string or %NULL a #GIErrorDomainInfo Reads a field identified by a #GFieldInfo from a C structure or union. This only handles fields of simple C types. It will fail for a field of a composite type like a nested structure or union even if that is actually readable. %TRUE if reading the field succeeded, otherwise %FALSE a #GIFieldInfo pointer to a block of memory representing a C structure or union a #GArgument into which to store the value retrieved Obtain the flags for this #GIFieldInfo. See #GIFieldInfoFlags for possible flag values. the flags a #GIFieldInfo Obtain the offset in bits of the field member, this is relative to the beginning of the struct or union. the field offset a #GIFieldInfo Obtain the size in bits of the field member, this is how much space you need to allocate to store the field. the field size a #GIFieldInfo Obtain the type of a field as a #GITypeInfo. g_base_info_unref() when done. the #GITypeInfo. Free the struct by calling a #GIFieldInfo Writes a field identified by a #GFieldInfo to a C structure or union. This only handles fields of simple C types. It will fail for a field of a composite type like a nested structure or union even if that is actually writable. Note also that that it will refuse to write fields where memory management would by required. A field with a type such as 'char *' must be set with a setter function. %TRUE if writing the field succeeded, otherwise %FALSE a #GIFieldInfo pointer to a block of memory representing a C structure or union a #GArgument holding the value to store Obtain the #GIFunctionInfoFlags for the @info. the flags a #GIFunctionInfo Obtain the property associated with this #GIFunctionInfo. Only #GIFunctionInfo with the flag %GI_FUNCTION_IS_GETTER or %GI_FUNCTION_IS_SETTER have a property set. For other cases, %NULL will be returned. g_base_info_unref() when done. the property or %NULL if not set. Free it with a #GIFunctionInfo Obtain the symbol of the function. The symbol is the name of the exported function, suitable to be used as an argument to g_module_symbol(). the symbol a #GIFunctionInfo Obtain the virtual function associated with this #GIFunctionInfo. Only #GIFunctionInfo with the flag %GI_FUNCTION_WRAPS_VFUNC has a virtual function set. For other cases, %NULL will be returned. Free it by calling g_base_info_unref() when done. the virtual function or %NULL if not set. a #GIFunctionInfo Invokes the function described in @info with the given arguments. Note that inout parameters must appear in both argument lists. This function uses dlsym() to obtain a pointer to the function, so the library or shared object containing the described function must either be linked to the caller, or must have been g_module_symbol()<!-- -->ed before calling this function. error occurred. %TRUE if the function has been invoked, %FALSE if an a #GIFunctionInfo describing the function to invoke an array of #GArgument<!-- -->s, one for each in parameter of @info. If there are no in parameter, @in_args can be %NULL the length of the @in_args array an array of #GArgument<!-- -->s, one for each out parameter of @info. If there are no out parameters, @out_args may be %NULL the length of the @out_args array return location for the return value of the function. If the function returns void, @return_value may be %NULL Obtain a string representation of @type the string the info type Obtain a method of the interface type given a @name. %NULL will be returned if there's no method available with that name. Free the struct by calling g_base_info_unref() when done. the #GIFunctionInfo or %NULL if none found. a #GIInterfaceInfo name of method to obtain Locate a virtual function slot with name @name. See the documentation for g_object_info_find_vfunc() for more information on virtuals. g_base_info_unref() when done. the #GIVFuncInfo, or %NULL. Free it with a #GIInterfaceInfo The name of a virtual function to find. Obtain an interface type constant at index @n. g_base_info_unref() when done. the #GIConstantInfo. Free the struct by calling a #GIInterfaceInfo index of constant to get Returns the layout C structure associated with this #GInterface. g_base_info_unref() when done. the #GIStructInfo or %NULL. Free it with a #GIInterfaceInfo Obtain an interface type method at index @n. g_base_info_unref() when done. the #GIFunctionInfo. Free the struct by calling a #GIInterfaceInfo index of method to get Obtain the number of constants that this interface type has. number of constants a #GIInterfaceInfo Obtain the number of methods that this interface type has. number of methods a #GIInterfaceInfo Obtain the number of prerequisites for this interface type. A prerequisites is another interface that needs to be implemented for interface, similar to an base class for GObjects. number of prerequisites a #GIInterfaceInfo Obtain the number of properties that this interface type has. number of properties a #GIInterfaceInfo Obtain the number of signals that this interface type has. number of signals a #GIInterfaceInfo Obtain the number of virtual functions that this interface type has. number of virtual functions a #GIInterfaceInfo Obtain an interface type prerequisites index @n. g_base_info_unref() when done. the prerequisites as a #GIBaseInfo. Free the struct by calling a #GIInterfaceInfo index of prerequisites to get Obtain an interface type property at index @n. g_base_info_unref() when done. the #GIPropertyInfo. Free the struct by calling a #GIInterfaceInfo index of property to get Obtain an interface type signal at index @n. g_base_info_unref() when done. the #GISignalInfo. Free the struct by calling a #GIInterfaceInfo index of signal to get Obtain an interface type virtual function at index @n. g_base_info_unref() when done. the #GIVFuncInfo. Free the struct by calling a #GIInterfaceInfo index of virtual function to get Obtain a method of the object type given a @name. %NULL will be returned if there's no method available with that name. g_base_info_unref() when done. the #GIFunctionInfo. Free the struct by calling a #GIObjectInfo name of method to obtain 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 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 returned. See the documentation for g_vfunc_info_get_invoker() for more information on invoking virtuals. g_base_info_unref() when done. the #GIVFuncInfo, or %NULL. Free it with a #GIObjectInfo The name of a virtual function to find. Obtain if the object type is an abstract type, eg if it cannot be instantiated %TRUE if the object type is abstract a #GIObjectInfo Every #GObject has two structures; an instance structure and a class structure. This function returns the metadata for the class structure. g_base_info_unref() when done. the #GIStructInfo or %NULL. Free with a #GIObjectInfo Obtain an object type constant at index @n. g_base_info_unref() when done. the #GIConstantInfo. Free the struct by calling a #GIObjectInfo index of constant to get Obtain an object type field at index @n. g_base_info_unref() when done. the #GIFieldInfo. Free the struct by calling a #GIObjectInfo index of field to get Obtain if the object type is of a fundamental type which is not G_TYPE_OBJECT. This is mostly for supporting GstMiniObject. %TRUE if the object type is a fundamental type a #GIObjectInfo Obtain the symbol name of the function that should be called to convert an object instance pointer of this object type to a GValue. I's mainly used fundamental types. The type signature for the symbol is %GIObjectInfoGetValueFunction, to fetch the function pointer see g_object_info_get_get_value_function(). the symbol or %NULL a #GIObjectInfo Obtain a pointer to a function which can be used to extract an instance of this object type out of a GValue. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type. the function pointer or %NULL a #GIObjectInfo Obtain an object type interface at index @n. g_base_info_unref() when done. the #GIInterfaceInfo. Free the struct by calling a #GIObjectInfo index of interface to get Obtain an object type method at index @n. g_base_info_unref() when done. the #GIFunctionInfo. Free the struct by calling a #GIObjectInfo index of method to get Obtain the number of constants that this object type has. number of constants a #GIObjectInfo Obtain the number of fields that this object type has. number of fields a #GIObjectInfo Obtain the number of interfaces that this object type has. number of interfaces a #GIObjectInfo Obtain the number of methods that this object type has. number of methods a #GIObjectInfo Obtain the number of properties that this object type has. number of properties a #GIObjectInfo Obtain the number of signals that this object type has. number of signals a #GIObjectInfo Obtain the number of virtual functions that this object type has. number of virtual functions a #GIObjectInfo Obtain the parent of the object type. g_base_info_unref() when done. the #GIObjectInfo. Free the struct by calling a #GIObjectInfo Obtain an object type property at index @n. g_base_info_unref() when done. the #GIPropertyInfo. Free the struct by calling a #GIObjectInfo index of property to get 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 the symbol is %GIObjectInfoRefFunction, to fetch the function pointer see g_object_info_get_ref_function(). the symbol or %NULL a #GIObjectInfo Obtain a pointer to a function which can be used to increase the reference count an instance of this object type. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type. the function pointer or %NULL a #GIObjectInfo 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. I's mainly used fundamental types. The type signature for the symbol is %GIObjectInfoSetValueFunction, to fetch the function pointer see g_object_info_get_set_value_function(). the symbol or %NULL a #GIObjectInfo Obtain a pointer to a function which can be used to set a GValue given an instance of this object type. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type. the function pointer or %NULL a #GIObjectInfo Obtain an object type signal at index @n. g_base_info_unref() when done. the #GISignalInfo. Free the struct by calling a #GIObjectInfo index of signal to get Obtain the function which when called will return the GType function for which this object type is registered. the type init function a #GIObjectInfo Obtain the name of the objects class/type. name of the objects type a #GIObjectInfo 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 the symbol is %GIObjectInfoUnrefFunction, to fetch the function pointer see g_object_info_get_unref_function(). the symbol or %NULL a #GIObjectInfo Obtain a pointer to a function which can be used to decrease the reference count an instance of this object type. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type. the function pointer or %NULL a #GIObjectInfo Obtain an object type virtual function at index @n. g_base_info_unref() when done. the #GIVFuncInfo. Free the struct by calling a #GIObjectInfo index of virtual function to get Obtain the flags for this property info. See #GParamFags for more information about possible flag values. the flags a #GIPropertyInfo Obtain the ownership transfer for this property. See #GITransfer for more information about transfer values. the transfer a #GIPropertyInfo Obtain the type information for the property @info. g_base_info_unref() when done. the #GITypeInfo, free it with a #GIPropertyInfo Obtain the #GType for this registered type. the #GType. a #GIRegisteredTypeInfo Obtain the type init function for @info. The type init function is the function which will register the GType within the GObject type system. Usually this is not called by langauge bindings or applications, use g_registered_type_info_get_g_type() directly instead. passing into g_module_symbol(). the symbol name of the type init function, suitable for a #GIRegisteredTypeInfo Obtain the type name of the struct within the GObject type system. This type can be passed to g_type_name() to get a #GType. the type name a #GIRegisteredTypeInfo Obtain the class closure for this signal if one is set. The class closure is a virtual function on the type that the signal belongs to. If the signal lacks a closure %NULL will be returned. the class closure or %NULL a #GISignalInfo Obtain the flags for this signal info. See #GSignalFlags for more information about possible flag values. the flags a #GISignalInfo Obtain if the returning true in the signal handler will stop the emission of the signal. %TRUE if returning true stops the signal emission a #GISignalInfo Return true if this structure represents the "class structure" for some #GObject or #GInterface. This function is mainly useful to hide this kind of structure from generated public APIs. %TRUE if this is a class struct, %FALSE otherwise a #GIStructInfo Obtain the fixed array size of the type. The type tag must be a #GI_TYPE_TAG_ARRAY or -1 will returned. the size or -1 if it's not an array a #GITypeInfo Obtain the array length of the type. The type tag must be a #GI_TYPE_TAG_ARRAY or -1 will returned. the array length, or -1 if the type is not an array a #GITypeInfo Obtain the array type for this type. See #GIArrayType for a list of possible values. If the type tag of this type is not array, -1 will be returned. the array type or -1 a #GITypeInfo Obtain the error domains at index @n for this type. The type tag must be a #GI_TYPE_TAG_ERROR or -1 will be returned. free the struct with g_base_info_unref() when done. the error domain or %NULL if type tag is wrong, a #GITypeInfo index of error domain 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 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(). g_base_info_unref() when done. the #GIBaseInfo, or %NULL. Free it with a #GITypeInfo Obtain the number of error domains for this type. The type tag must be a #GI_TYPE_TAG_ERROR or -1 will be returned. number of error domains or -1 a #GITypeInfo Obtain the parameter type @n. the param type info a #GITypeInfo index of the parameter Obtain the type tag for the type. See #GITypeTag for a list of type tags. the type tag a #GITypeInfo Obtain if the type is passed as a reference. %TRUE if it is a pointer a #GITypeInfo Obtain if the last element of the array is %NULL. The type tag must be a #GI_TYPE_TAG_ARRAY or %FALSE will returned. %TRUE if zero terminated a #GITypeInfo Obtain a string representation of @type the string the type_tag Obtain the enumeration value of the #GIValueInfo. the enumeration value a #GIValueInfo Obtain the flags for this virtual function info. See #GIVFuncInfoFlags for more information about possible flag values. the flags a #GIVFuncInfo If this virtual function has an associated invoker method, this method will return it. An invoker method is a C entry point. Not all virtuals will have invokers. g_base_info_unref() when done. the #GIVFuncInfo or %NULL. Free it with a #GIVFuncInfo Obtain the offset of the function pointer in the class struct. The value 0xFFFF indicates that the struct offset is unknown. the struct offset or 0xFFFF if it's unknown a #GIVFuncInfo Obtain the signal for the virtual function if one is set. The signal comes from the object or interface to which this virtual function belongs. the signal or %NULL if none set a #GIVFuncInfo