</refsect2>
</refsect1>
</chapter>
- <chapter xml:id="ch_GIErrorDomainInfo">
- <title>GIErrorDomainInfo</title>
- <refsynopsisdiv id="GIErrorDomainInfo.synopsis" role="synopsis">
- <title role="synopsis.title">Synopsis</title>
- <synopsis>
-struct <link linkend="GIErrorDomainInfo-struct">GIErrorDomainInfo</link>;
- </synopsis>
- </refsynopsisdiv>
- <refsect1 id="gierrordomaininfo-details" role="details">
- <title role="details.title">Details</title>
- <refsect2 id="GIErrorDomainInfo" role="typedef">
- <title>GIErrorDomainInfo</title>
- <indexterm zone="GIErrorDomainInfo">
- <primary sortas="ErrorDomainInfo">GIErrorDomainInfo</primary>
- </indexterm>
- <programlisting>typedef GIBaseInfo GIErrorDomainInfo</programlisting>
- <para>Represents a #GError error domain.</para>
- </refsect2>
- </refsect1>
- </chapter>
<chapter xml:id="ch_GIFieldInfo">
<title>GIFieldInfo</title>
<refsynopsisdiv id="GIFieldInfo.synopsis" role="synopsis">
<parameter><link linkend="GIBaseInfo"><type>GIBaseInfo</type></link> *info2</parameter>);
</programlisting>
<para>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.</para>
<para>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>
char *value;
while (g_base_info_iterate_attributes (info, &iter, &name, &value))
{
+g_print ("attribute name: %s value: %s", name, value);
}
}
</programlisting>
struct <link linkend="GIRepository-struct">GIRepository</link>;
<link linkend="GList"><returnvalue>GList</returnvalue></link> * <link linkend="g-irepository-enumerate-versions">g_irepository_enumerate_versions</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
<parameter><link linkend="gchar"><type>gchar</type></link> *namespace_</parameter>);
+<link linkend="GIEnumInfo"><returnvalue>GIEnumInfo</returnvalue></link> * <link linkend="g-irepository-find-by-error-domain">g_irepository_find_by_error_domain</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
+ <parameter><link linkend="GQuark"><type>GQuark</type></link> domain</parameter>);
<link linkend="GIBaseInfo"><returnvalue>GIBaseInfo</returnvalue></link> * <link linkend="g-irepository-find-by-gtype">g_irepository_find_by_gtype</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
<parameter><link linkend="GType"><type>GType</type></link> gtype</parameter>);
<link linkend="GIBaseInfo"><returnvalue>GIBaseInfo</returnvalue></link> * <link linkend="g-irepository-find-by-name">g_irepository_find_by_name</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
</varlistentry>
</variablelist>
</refsect2>
+ <refsect2 id="g-irepository-find-by-error-domain" role="function">
+ <title>g_irepository_find_by_error_domain ()</title>
+ <indexterm zone="g-irepository-find-by-error-domain">
+ <primary>find_by_error_domain</primary>
+ </indexterm>
+ <programlisting>
+<link linkend="GIEnumInfo"><returnvalue>GIEnumInfo</returnvalue></link> * g_irepository_find_by_error_domain (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
+ <parameter><link linkend="GQuark"><type>GQuark</type></link> domain</parameter>);
+ </programlisting>
+ <para>Searches for the enum type corresponding to the given #GError
+domain. 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.
+
+enum type, or %NULL</para>
+ <variablelist role="params">
+ <varlistentry>
+ <term>
+<parameter>repository</parameter> : </term>
+ <listitem>
+ <simpara>
+ instance
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+<parameter>domain</parameter> : </term>
+ <listitem>
+ <simpara>
+ a #GError domain
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+<parameter>Returns</parameter> : </term>
+ <listitem>
+ <simpara>
+ #GIEnumInfo representing metadata about @domain's
+ <emphasis role="annotation">
+[transfer full] </emphasis>
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
<refsect2 id="g-irepository-find-by-gtype" role="function">
<title>g_irepository_find_by_gtype ()</title>
<indexterm zone="g-irepository-find-by-gtype">
</programlisting>
<para>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
+g_irepository_require() once to load the namespace, or otherwise
ensure the namespace has already been loaded.</para>
<variablelist role="params">
<varlistentry>
<para>This function returns the "C prefix", or the C level namespace
associated with the given introspection namespace. Each C symbol
starts with this prefix, as well each #GType in the library.
-such as #g_irepository_require before calling this function.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
<parameter><link linkend="gchar"><type>gchar</type></link> *namespace_</parameter>);
</programlisting>
<para>Return an array of all (transitive) dependencies for namespace
+@namespace_, including version. The returned strings are of the
form <code>namespace-version</code>.
-such as #g_irepository_require before calling this function.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
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.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
</programlisting>
<para>This function returns the loaded version associated with the given
namespace @namespace_.
-such as #g_irepository_require before calling this function.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
<para>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
+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.</para>
<variablelist role="params">
<refsynopsisdiv id="ArgInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="ArgInfo-struct">ArgInfo</link>;
+class GIRepository.ArgInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giarginfo-details" role="details">
<refsynopsisdiv id="CallableInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="CallableInfo-struct">CallableInfo</link>;
+class GIRepository.CallableInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gicallableinfo-details" role="details">
<refsynopsisdiv id="CallbackInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="CallbackInfo-struct">CallbackInfo</link>;
+class GIRepository.CallbackInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gicallbackinfo-details" role="details">
<refsynopsisdiv id="ConstantInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="ConstantInfo-struct">ConstantInfo</link>;
+class GIRepository.ConstantInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giconstantinfo-details" role="details">
<refsynopsisdiv id="EnumInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="EnumInfo-struct">EnumInfo</link>;
+class GIRepository.EnumInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gienuminfo-details" role="details">
</refsect2>
</refsect1>
</chapter>
- <chapter xml:id="ch_ErrorDomainInfo">
- <title>GIRepository.ErrorDomainInfo</title>
- <refsynopsisdiv id="ErrorDomainInfo.synopsis" role="synopsis">
- <title role="synopsis.title">Synopsis</title>
- <synopsis>
-struct <link linkend="ErrorDomainInfo-struct">ErrorDomainInfo</link>;
- </synopsis>
- </refsynopsisdiv>
- <refsect1 id="gierrordomaininfo-details" role="details">
- <title role="details.title">Details</title>
- <refsect2 id="GIErrorDomainInfo" role="typedef">
- <title>GIErrorDomainInfo</title>
- <indexterm zone="GIErrorDomainInfo">
- <primary sortas="ErrorDomainInfo">GIErrorDomainInfo</primary>
- </indexterm>
- <programlisting>typedef GIBaseInfo GIErrorDomainInfo</programlisting>
- <para>Represents a #GError error domain.</para>
- </refsect2>
- </refsect1>
- </chapter>
<chapter xml:id="ch_FieldInfo">
<title>GIRepository.FieldInfo</title>
<refsynopsisdiv id="FieldInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="FieldInfo-struct">FieldInfo</link>;
+class GIRepository.FieldInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gifieldinfo-details" role="details">
<refsynopsisdiv id="FunctionInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="FunctionInfo-struct">FunctionInfo</link>;
+class GIRepository.FunctionInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gifunctioninfo-details" role="details">
<refsynopsisdiv id="InterfaceInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="InterfaceInfo-struct">InterfaceInfo</link>;
+class GIRepository.InterfaceInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giinterfaceinfo-details" role="details">
<refsynopsisdiv id="ObjectInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="ObjectInfo-struct">ObjectInfo</link>;
+class GIRepository.ObjectInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giobjectinfo-details" role="details">
<refsynopsisdiv id="PropertyInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="PropertyInfo-struct">PropertyInfo</link>;
+class GIRepository.PropertyInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gipropertyinfo-details" role="details">
<refsynopsisdiv id="RegisteredTypeInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="RegisteredTypeInfo-struct">RegisteredTypeInfo</link>;
+class GIRepository.RegisteredTypeInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giregisteredtypeinfo-details" role="details">
<refsynopsisdiv id="SignalInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="SignalInfo-struct">SignalInfo</link>;
+class GIRepository.SignalInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gisignalinfo-details" role="details">
<refsynopsisdiv id="StructInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="StructInfo-struct">StructInfo</link>;
+class GIRepository.StructInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gistructinfo-details" role="details">
<refsynopsisdiv id="TypeInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="TypeInfo-struct">TypeInfo</link>;
+class GIRepository.TypeInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="gitypeinfo-details" role="details">
<refsynopsisdiv id="UnionInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="UnionInfo-struct">UnionInfo</link>;
+class GIRepository.UnionInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giunioninfo-details" role="details">
<refsynopsisdiv id="VFuncInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="VFuncInfo-struct">VFuncInfo</link>;
+class GIRepository.VFuncInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="givfuncinfo-details" role="details">
<refsynopsisdiv id="ValueInfo.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
-struct <link linkend="ValueInfo-struct">ValueInfo</link>;
+class GIRepository.ValueInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="givalueinfo-details" role="details">
<title role="synopsis.title">Synopsis</title>
<anchor id="AttributeIter"/>
<synopsis>
-struct <link linkend="AttributeIter-struct">AttributeIter</link>;
+class GIRepository.AttributeIter:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giattributeiter-details" role="details">
<title role="synopsis.title">Synopsis</title>
<anchor id="BaseInfo"/>
<synopsis>
-struct <link linkend="BaseInfo-struct">BaseInfo</link>;
+class GIRepository.BaseInfo:
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="g-base-info-equal">g_base_info_equal</link> (<parameter><link linkend="GIBaseInfo"><type>GIBaseInfo</type></link> *baseinfo, </parameter>
<parameter><link linkend="GIBaseInfo"><type>GIBaseInfo</type></link> *info2</parameter>);
<link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="g-base-info-get-attribute">g_base_info_get_attribute</link> (<parameter><link linkend="GIBaseInfo"><type>GIBaseInfo</type></link> *baseinfo, </parameter>
<parameter><link linkend="GIBaseInfo"><type>GIBaseInfo</type></link> *info2</parameter>);
</programlisting>
<para>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.</para>
<para>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>
char *value;
while (g_base_info_iterate_attributes (info, &iter, &name, &value))
{
+g_print ("attribute name: %s value: %s", name, value);
}
}
</programlisting>
<title role="synopsis.title">Synopsis</title>
<anchor id="Repository"/>
<synopsis>
-struct <link linkend="Repository-struct">Repository</link>;
+class GIRepository.Repository(GObject.Object):
<link linkend="GList"><returnvalue>GList</returnvalue></link> * <link linkend="g-irepository-enumerate-versions">g_irepository_enumerate_versions</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
<parameter><link linkend="gchar"><type>gchar</type></link> *namespace_</parameter>);
+<link linkend="GIEnumInfo"><returnvalue>GIEnumInfo</returnvalue></link> * <link linkend="g-irepository-find-by-error-domain">g_irepository_find_by_error_domain</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
+ <parameter><link linkend="GQuark"><type>GQuark</type></link> domain</parameter>);
<link linkend="GIBaseInfo"><returnvalue>GIBaseInfo</returnvalue></link> * <link linkend="g-irepository-find-by-gtype">g_irepository_find_by_gtype</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
<parameter><link linkend="GType"><type>GType</type></link> gtype</parameter>);
<link linkend="GIBaseInfo"><returnvalue>GIBaseInfo</returnvalue></link> * <link linkend="g-irepository-find-by-name">g_irepository_find_by_name</link> (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
</varlistentry>
</variablelist>
</refsect2>
+ <refsect2 id="g-irepository-find-by-error-domain" role="function">
+ <title>g_irepository_find_by_error_domain ()</title>
+ <indexterm zone="g-irepository-find-by-error-domain">
+ <primary>find_by_error_domain</primary>
+ </indexterm>
+ <programlisting>
+<link linkend="GIEnumInfo"><returnvalue>GIEnumInfo</returnvalue></link> * g_irepository_find_by_error_domain (<parameter><link linkend="GIRepository"><type>GIRepository</type></link> *repository, </parameter>
+ <parameter><link linkend="GQuark"><type>GQuark</type></link> domain</parameter>);
+ </programlisting>
+ <para>Searches for the enum type corresponding to the given #GError
+domain. 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.
+
+enum type, or %NULL</para>
+ <variablelist role="params">
+ <varlistentry>
+ <term>
+<parameter>repository</parameter> : </term>
+ <listitem>
+ <simpara>
+ instance
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+<parameter>domain</parameter> : </term>
+ <listitem>
+ <simpara>
+ a #GError domain
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+<parameter>Returns</parameter> : </term>
+ <listitem>
+ <simpara>
+ #GIEnumInfo representing metadata about @domain's
+ <emphasis role="annotation">
+[transfer full] </emphasis>
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
<refsect2 id="g-irepository-find-by-gtype" role="function">
<title>g_irepository_find_by_gtype ()</title>
<indexterm zone="g-irepository-find-by-gtype">
</programlisting>
<para>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
+g_irepository_require() once to load the namespace, or otherwise
ensure the namespace has already been loaded.</para>
<variablelist role="params">
<varlistentry>
<para>This function returns the "C prefix", or the C level namespace
associated with the given introspection namespace. Each C symbol
starts with this prefix, as well each #GType in the library.
-such as #g_irepository_require before calling this function.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
<parameter><link linkend="gchar"><type>gchar</type></link> *namespace_</parameter>);
</programlisting>
<para>Return an array of all (transitive) dependencies for namespace
+@namespace_, including version. The returned strings are of the
form <code>namespace-version</code>.
-such as #g_irepository_require before calling this function.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
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.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
</programlisting>
<para>This function returns the loaded version associated with the given
namespace @namespace_.
-such as #g_irepository_require before calling this function.</para>
+
+Note: The namespace must have already been loaded using a function
+such as g_irepository_require() before calling this function.</para>
<variablelist role="params">
<varlistentry>
<term>
<para>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
+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.</para>
<variablelist role="params">
<title role="synopsis.title">Synopsis</title>
<anchor id="RepositoryClass"/>
<synopsis>
-struct <link linkend="RepositoryClass-struct">RepositoryClass</link>;
+class GIRepository.RepositoryClass:
</synopsis>
</refsynopsisdiv>
<refsect1 id="girepositoryclass-details" role="details">
<title role="synopsis.title">Synopsis</title>
<anchor id="RepositoryPrivate"/>
<synopsis>
-struct <link linkend="RepositoryPrivate-struct">RepositoryPrivate</link>;
+class GIRepository.RepositoryPrivate:
</synopsis>
</refsynopsisdiv>
<refsect1 id="girepositoryprivate-details" role="details">
<title role="synopsis.title">Synopsis</title>
<anchor id="Typelib"/>
<synopsis>
-struct <link linkend="Typelib-struct">Typelib</link>;
+class GIRepository.Typelib:
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="g-typelib-free">g_typelib_free</link> (<parameter><link linkend="GITypelib"><type>GITypelib</type></link> *typelib</parameter>);
<link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="g-typelib-get-namespace">g_typelib_get_namespace</link> (<parameter><link linkend="GITypelib"><type>GITypelib</type></link> *typelib</parameter>);
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="g-typelib-symbol">g_typelib_symbol</link> (<parameter><link linkend="GITypelib"><type>GITypelib</type></link> *typelib, </parameter>
<title role="synopsis.title">Synopsis</title>
<anchor id="UnresolvedInfo"/>
<synopsis>
-struct <link linkend="UnresolvedInfo-struct">UnresolvedInfo</link>;
+class GIRepository.UnresolvedInfo:
</synopsis>
</refsynopsisdiv>
<refsect1 id="giunresolvedinfo-details" role="details">
<title role="synopsis.title">Synopsis</title>
<anchor id="_BaseInfoStub"/>
<synopsis>
-struct <link linkend="_BaseInfoStub-struct">_BaseInfoStub</link>;
+class GIRepository._BaseInfoStub:
</synopsis>
</refsynopsisdiv>
<refsect1 id="_gibaseinfostub-details" role="details">