Imported Upstream version 1.35.9
[platform/upstream/gobject-introspection.git] / docs / reference / html / gi-girepository.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>girepository</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7 <link rel="home" href="index.html" title="GObject Introspection Reference Manual">
8 <link rel="up" href="gi-libgirepository.html" title="GIRepository">
9 <link rel="prev" href="gi-libgirepository.html" title="GIRepository">
10 <link rel="next" href="gi-ffi.html" title="GIR Foreign functions interface">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gi-libgirepository.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="gi-libgirepository.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GObject Introspection Reference Manual</th>
21 <td><a accesskey="n" href="gi-ffi.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gi-girepository.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gi-girepository.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gi-girepository.object-hierarchy" class="shortcut">Object Hierarchy</a>
29 </td></tr>
30 </table>
31 <div class="refentry">
32 <a name="gi-girepository"></a><div class="titlepage"></div>
33 <div class="refnamediv"><table width="100%"><tr>
34 <td valign="top">
35 <h2><span class="refentrytitle"><a name="gi-girepository.top_of_page"></a>girepository</span></h2>
36 <p>girepository</p>
37 </td>
38 <td valign="top" align="right"></td>
39 </tr></table></div>
40 <div class="refsynopsisdiv">
41 <a name="gi-girepository.synopsis"></a><h2>Synopsis</h2>
42 <a name="GIRepository"></a><pre class="synopsis">typedef             <a class="link" href="gi-girepository.html#GICallbackInfo" title="GICallbackInfo">GICallbackInfo</a>;
43 struct              <a class="link" href="gi-girepository.html#GIRepository-struct" title="struct GIRepository">GIRepository</a>;
44 enum                <a class="link" href="gi-girepository.html#GIRepositoryError" title="enum GIRepositoryError">GIRepositoryError</a>;
45 enum                <a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags">GIRepositoryLoadFlags</a>;
46                     <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib">GITypelib</a>;
47 <a class="link" href="gi-girepository.html#GIRepository"><span class="returnvalue">GIRepository</span></a> *      <a class="link" href="gi-girepository.html#g-irepository-get-default" title="g_irepository_get_default ()">g_irepository_get_default</a>           (<em class="parameter"><code><span class="type">void</span></code></em>);
48 <span class="returnvalue">void</span>                <a class="link" href="gi-girepository.html#g-irepository-prepend-search-path" title="g_irepository_prepend_search_path ()">g_irepository_prepend_search_path</a>   (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);
49 <span class="returnvalue">void</span>                <a class="link" href="gi-girepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a>  (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);
50 <span class="returnvalue">GSList</span> *            <a class="link" href="gi-girepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()">g_irepository_get_search_path</a>       (<em class="parameter"><code><span class="type">void</span></code></em>);
51 const <span class="returnvalue">char</span> *        <a class="link" href="gi-girepository.html#g-irepository-load-typelib" title="g_irepository_load_typelib ()">g_irepository_load_typelib</a>          (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
52                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
53                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
54                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
55 <span class="returnvalue">gboolean</span>            <a class="link" href="gi-girepository.html#g-irepository-is-registered" title="g_irepository_is_registered ()">g_irepository_is_registered</a>         (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
56                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
57                                                          <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>);
58 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *        <a class="link" href="gi-girepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()">g_irepository_find_by_name</a>          (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
59                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
60                                                          <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
61 <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         <a class="link" href="gi-girepository.html#g-irepository-require" title="g_irepository_require ()">g_irepository_require</a>               (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
62                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
63                                                          <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
64                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
65                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
66 <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         <a class="link" href="gi-girepository.html#g-irepository-require-private" title="g_irepository_require_private ()">g_irepository_require_private</a>       (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
67                                                          <em class="parameter"><code>const <span class="type">gchar</span> *typelib_dir</code></em>,
68                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
69                                                          <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
70                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
71                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
72 <span class="returnvalue">gchar</span> **            <a class="link" href="gi-girepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()">g_irepository_get_dependencies</a>      (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
73                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
74 <span class="returnvalue">gchar</span> **            <a class="link" href="gi-girepository.html#g-irepository-get-loaded-namespaces" title="g_irepository_get_loaded_namespaces ()">g_irepository_get_loaded_namespaces</a> (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>);
75 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *        <a class="link" href="gi-girepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()">g_irepository_find_by_gtype</a>         (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
76                                                          <em class="parameter"><code><span class="type">GType</span> gtype</code></em>);
77 <span class="returnvalue">gint</span>                <a class="link" href="gi-girepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()">g_irepository_get_n_infos</a>           (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
78                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
79 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *        <a class="link" href="gi-girepository.html#g-irepository-get-info" title="g_irepository_get_info ()">g_irepository_get_info</a>              (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
80                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
81                                                          <em class="parameter"><code><span class="type">gint</span> index</code></em>);
82 const <span class="returnvalue">gchar</span> *       <a class="link" href="gi-girepository.html#g-irepository-get-typelib-path" title="g_irepository_get_typelib_path ()">g_irepository_get_typelib_path</a>      (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
83                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
84 const <span class="returnvalue">gchar</span> *       <a class="link" href="gi-girepository.html#g-irepository-get-shared-library" title="g_irepository_get_shared_library ()">g_irepository_get_shared_library</a>    (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
85                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
86 const <span class="returnvalue">gchar</span> *       <a class="link" href="gi-girepository.html#g-irepository-get-version" title="g_irepository_get_version ()">g_irepository_get_version</a>           (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
87                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
88 <span class="returnvalue">GOptionGroup</span> *      <a class="link" href="gi-girepository.html#g-irepository-get-option-group" title="g_irepository_get_option_group ()">g_irepository_get_option_group</a>      (<em class="parameter"><code><span class="type">void</span></code></em>);
89 const <span class="returnvalue">gchar</span> *       <a class="link" href="gi-girepository.html#g-irepository-get-c-prefix" title="g_irepository_get_c_prefix ()">g_irepository_get_c_prefix</a>          (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
90                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
91 <span class="returnvalue">gboolean</span>            <a class="link" href="gi-girepository.html#g-irepository-dump" title="g_irepository_dump ()">g_irepository_dump</a>                  (<em class="parameter"><code>const <span class="type">char</span> *arg</code></em>,
92                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
93 <span class="returnvalue">GList</span> *             <a class="link" href="gi-girepository.html#g-irepository-enumerate-versions" title="g_irepository_enumerate_versions ()">g_irepository_enumerate_versions</a>    (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
94                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
95 #define             <a class="link" href="gi-girepository.html#G-IREPOSITORY-ERROR:CAPS" title="G_IREPOSITORY_ERROR">G_IREPOSITORY_ERROR</a>
96 <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         <a class="link" href="gi-girepository.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a>           (<em class="parameter"><code><span class="type">guint8</span> *memory</code></em>,
97                                                          <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
98                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
99 <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         <a class="link" href="gi-girepository.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a>     (<em class="parameter"><code>const <span class="type">guint8</span> *memory</code></em>,
100                                                          <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
101                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
102 <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         <a class="link" href="gi-girepository.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a>      (<em class="parameter"><code><span class="type">GMappedFile</span> *mfile</code></em>,
103                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
104 <span class="returnvalue">void</span>                <a class="link" href="gi-girepository.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a>                      (<em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);
105 <span class="returnvalue">gboolean</span>            <a class="link" href="gi-girepository.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a>                    (<em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
106                                                          <em class="parameter"><code>const <span class="type">gchar</span> *symbol_name</code></em>,
107                                                          <em class="parameter"><code><span class="type">gpointer</span> *symbol</code></em>);
108 const <span class="returnvalue">gchar</span> *       <a class="link" href="gi-girepository.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a>             (<em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);
109 </pre>
110 </div>
111 <div class="refsect1">
112 <a name="gi-girepository.object-hierarchy"></a><h2>Object Hierarchy</h2>
113 <pre class="synopsis">
114   GObject
115    +----GIRepository
116 </pre>
117 </div>
118 <div class="refsect1">
119 <a name="gi-girepository.description"></a><h2>Description</h2>
120 </div>
121 <div class="refsect1">
122 <a name="gi-girepository.details"></a><h2>Details</h2>
123 <div class="refsect2">
124 <a name="GICallbackInfo"></a><h3>GICallbackInfo</h3>
125 <pre class="programlisting">typedef GIBaseInfo GICallbackInfo;
126 </pre>
127 <p>
128 Represents a callback, eg arguments and return value.
129 </p>
130 </div>
131 <hr>
132 <div class="refsect2">
133 <a name="GIRepository-struct"></a><h3>struct GIRepository</h3>
134 <pre class="programlisting">struct GIRepository;</pre>
135 </div>
136 <hr>
137 <div class="refsect2">
138 <a name="GIRepositoryError"></a><h3>enum GIRepositoryError</h3>
139 <pre class="programlisting">typedef enum {
140   G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND,
141   G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH,
142   G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT,
143   G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND
144 } GIRepositoryError;
145 </pre>
146 <div class="variablelist"><table border="0" class="variablelist">
147 <colgroup>
148 <col align="left" valign="top">
149 <col>
150 </colgroup>
151 <tbody>
152 <tr>
153 <td><p><a name="G-IREPOSITORY-ERROR-TYPELIB-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND</code></span></p></td>
154 <td>the typelib could not be found.
155 </td>
156 </tr>
157 <tr>
158 <td><p><a name="G-IREPOSITORY-ERROR-NAMESPACE-MISMATCH:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH</code></span></p></td>
159 <td>the namespace does not match the
160 requested namespace.
161 </td>
162 </tr>
163 <tr>
164 <td><p><a name="G-IREPOSITORY-ERROR-NAMESPACE-VERSION-CONFLICT:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT</code></span></p></td>
165 <td>the version of the
166 typelib does not match the requested version.
167 </td>
168 </tr>
169 <tr>
170 <td><p><a name="G-IREPOSITORY-ERROR-LIBRARY-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND</code></span></p></td>
171 <td>the library used by the typelib
172 could not be found.
173 </td>
174 </tr>
175 </tbody>
176 </table></div>
177 </div>
178 <hr>
179 <div class="refsect2">
180 <a name="GIRepositoryLoadFlags"></a><h3>enum GIRepositoryLoadFlags</h3>
181 <pre class="programlisting">typedef enum {
182   G_IREPOSITORY_LOAD_FLAG_LAZY = 1 &lt;&lt; 0
183 } GIRepositoryLoadFlags;
184 </pre>
185 <p>
186 Flags that controlls how a typelib is loaded by
187 GIRepositry, used by <a class="link" href="gi-girepository.html#g-irepository-load-typelib" title="g_irepository_load_typelib ()"><code class="function">g_irepository_load_typelib()</code></a>.
188 </p>
189 <div class="variablelist"><table border="0" class="variablelist">
190 <colgroup>
191 <col align="left" valign="top">
192 <col>
193 </colgroup>
194 <tbody><tr>
195 <td><p><a name="G-IREPOSITORY-LOAD-FLAG-LAZY:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_LOAD_FLAG_LAZY</code></span></p></td>
196 <td>Load the types lazily.
197 </td>
198 </tr></tbody>
199 </table></div>
200 </div>
201 <hr>
202 <div class="refsect2">
203 <a name="GITypelib"></a><h3>GITypelib</h3>
204 <pre class="programlisting">typedef struct {
205 } GITypelib;
206 </pre>
207 </div>
208 <hr>
209 <div class="refsect2">
210 <a name="g-irepository-get-default"></a><h3>g_irepository_get_default ()</h3>
211 <pre class="programlisting"><a class="link" href="gi-girepository.html#GIRepository"><span class="returnvalue">GIRepository</span></a> *      g_irepository_get_default           (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
212 <p>
213 Returns the singleton process-global default <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>.  It is
214 not currently supported to have multiple repositories in a
215 particular process, but this function is provided in the unlikely
216 eventuality that it would become possible, and as a convenience for
217 higher level language bindings to conform to the GObject method
218 call conventions.
219 </p>
220 <p>
221 All methods on <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> also accept <code class="literal">NULL</code> as an instance
222 parameter to mean this default repository, which is usually more
223 convenient for C.
224 </p>
225 <div class="variablelist"><table border="0" class="variablelist">
226 <colgroup>
227 <col align="left" valign="top">
228 <col>
229 </colgroup>
230 <tbody><tr>
231 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
232 <td>The global singleton <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
233 </td>
234 </tr></tbody>
235 </table></div>
236 </div>
237 <hr>
238 <div class="refsect2">
239 <a name="g-irepository-prepend-search-path"></a><h3>g_irepository_prepend_search_path ()</h3>
240 <pre class="programlisting"><span class="returnvalue">void</span>                g_irepository_prepend_search_path   (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);</pre>
241 </div>
242 <hr>
243 <div class="refsect2">
244 <a name="g-irepository-prepend-library-path"></a><h3>g_irepository_prepend_library_path ()</h3>
245 <pre class="programlisting"><span class="returnvalue">void</span>                g_irepository_prepend_library_path  (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);</pre>
246 <p>
247 Prepends <em class="parameter"><code>directory</code></em> to the search path that is used to
248 search shared libraries referenced by imported namespaces.
249 Multiple calls to this function all contribute to the final
250 list of paths.
251 The list of paths is unique and shared for all <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>
252 instances across the process, but it doesn't affect namespaces
253 imported before the call.
254 </p>
255 <p>
256 If the library is not found in the directories configured
257 in this way, loading will fall back to the system library
258 path (ie. LD_LIBRARY_PATH and DT_RPATH in ELF systems).
259 See the documentation of your dynamic linker for full details.
260 </p>
261 <div class="variablelist"><table border="0" class="variablelist">
262 <colgroup>
263 <col align="left" valign="top">
264 <col>
265 </colgroup>
266 <tbody><tr>
267 <td><p><span class="term"><em class="parameter"><code>directory</code></em> :</span></p></td>
268 <td>a single directory to scan for shared libraries. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span>
269 </td>
270 </tr></tbody>
271 </table></div>
272 <p class="since">Since 1.35.8</p>
273 </div>
274 <hr>
275 <div class="refsect2">
276 <a name="g-irepository-get-search-path"></a><h3>g_irepository_get_search_path ()</h3>
277 <pre class="programlisting"><span class="returnvalue">GSList</span> *            g_irepository_get_search_path       (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
278 <p>
279 Returns the search path the GIRepository will use when looking for typelibs.
280 The string is internal to GIRespository and should not be freed, nor should
281 the elements.
282 </p>
283 <div class="variablelist"><table border="0" class="variablelist">
284 <colgroup>
285 <col align="left" valign="top">
286 <col>
287 </colgroup>
288 <tbody><tr>
289 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
290 <td>list of strings. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
291 </td>
292 </tr></tbody>
293 </table></div>
294 </div>
295 <hr>
296 <div class="refsect2">
297 <a name="g-irepository-load-typelib"></a><h3>g_irepository_load_typelib ()</h3>
298 <pre class="programlisting">const <span class="returnvalue">char</span> *        g_irepository_load_typelib          (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
299                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
300                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
301                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
302 </div>
303 <hr>
304 <div class="refsect2">
305 <a name="g-irepository-is-registered"></a><h3>g_irepository_is_registered ()</h3>
306 <pre class="programlisting"><span class="returnvalue">gboolean</span>            g_irepository_is_registered         (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
307                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
308                                                          <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>);</pre>
309 <p>
310 Check whether a particular namespace (and optionally, a specific
311 version thereof) is currently loaded.  This function is likely to
312 only be useful in unusual circumstances; in order to act upon
313 metadata in the namespace, you should call <a class="link" href="gi-girepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a>
314 instead which will ensure the namespace is loaded, and return as
315 quickly as this function will if it has already been loaded.
316 </p>
317 <div class="variablelist"><table border="0" class="variablelist">
318 <colgroup>
319 <col align="left" valign="top">
320 <col>
321 </colgroup>
322 <tbody>
323 <tr>
324 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
325 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
326 </td>
327 </tr>
328 <tr>
329 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
330 <td>Namespace of interest</td>
331 </tr>
332 <tr>
333 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
334 <td>Required version, may be <code class="literal">NULL</code> for latest. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
335 </td>
336 </tr>
337 <tr>
338 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
339 <td>
340 <code class="literal">TRUE</code> if namespace-version is loaded, <code class="literal">FALSE</code> otherwise</td>
341 </tr>
342 </tbody>
343 </table></div>
344 </div>
345 <hr>
346 <div class="refsect2">
347 <a name="g-irepository-find-by-name"></a><h3>g_irepository_find_by_name ()</h3>
348 <pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *        g_irepository_find_by_name          (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
349                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
350                                                          <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
351 <p>
352 Searches for a particular entry in a namespace.  Before calling
353 this function for a particular namespace, you must call
354 <a class="link" href="gi-girepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> once to load the namespace, or otherwise
355 ensure the namespace has already been loaded.
356 </p>
357 <div class="variablelist"><table border="0" class="variablelist">
358 <colgroup>
359 <col align="left" valign="top">
360 <col>
361 </colgroup>
362 <tbody>
363 <tr>
364 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
365 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
366 </td>
367 </tr>
368 <tr>
369 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
370 <td>Namespace which will be searched</td>
371 </tr>
372 <tr>
373 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
374 <td>Entry name to find</td>
375 </tr>
376 <tr>
377 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
378 <td>
379 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> representing metadata about <em class="parameter"><code>name</code></em>, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
380 </td>
381 </tr>
382 </tbody>
383 </table></div>
384 </div>
385 <hr>
386 <div class="refsect2">
387 <a name="g-irepository-require"></a><h3>g_irepository_require ()</h3>
388 <pre class="programlisting"><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         g_irepository_require               (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
389                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
390                                                          <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
391                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
392                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
393 <p>
394 Force the namespace <em class="parameter"><code>namespace_</code></em> to be loaded if it isn't already.
395 If <em class="parameter"><code>namespace_</code></em> is not loaded, this function will search for a
396 ".typelib" file using the repository search path.  In addition, a
397 version <em class="parameter"><code>version</code></em> of namespace may be specified.  If <em class="parameter"><code>version</code></em> is
398 not specified, the latest will be used.
399 </p>
400 <div class="variablelist"><table border="0" class="variablelist">
401 <colgroup>
402 <col align="left" valign="top">
403 <col>
404 </colgroup>
405 <tbody>
406 <tr>
407 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
408 <td>Repository, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
409 </td>
410 </tr>
411 <tr>
412 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
413 <td>GI namespace to use, e.g. "Gtk"</td>
414 </tr>
415 <tr>
416 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
417 <td>Version of namespace, may be <code class="literal">NULL</code> for latest. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
418 </td>
419 </tr>
420 <tr>
421 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
422 <td>Set of <a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><code class="literal">GIRepositoryLoadFlags</code></a>, may be 0</td>
423 </tr>
424 <tr>
425 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
426 <td>a <span class="type">GError</span>.</td>
427 </tr>
428 <tr>
429 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
430 <td>a pointer to the <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <code class="literal">NULL</code> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
431 </td>
432 </tr>
433 </tbody>
434 </table></div>
435 </div>
436 <hr>
437 <div class="refsect2">
438 <a name="g-irepository-require-private"></a><h3>g_irepository_require_private ()</h3>
439 <pre class="programlisting"><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         g_irepository_require_private       (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
440                                                          <em class="parameter"><code>const <span class="type">gchar</span> *typelib_dir</code></em>,
441                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
442                                                          <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
443                                                          <em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
444                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
445 <p>
446 Force the namespace <em class="parameter"><code>namespace_</code></em> to be loaded if it isn't already.
447 If <em class="parameter"><code>namespace_</code></em> is not loaded, this function will search for a
448 ".typelib" file within the private directory only. In addition, a
449 version <em class="parameter"><code>version</code></em> of namespace should be specified.  If <em class="parameter"><code>version</code></em> is
450 not specified, the latest will be used.
451 </p>
452 <div class="variablelist"><table border="0" class="variablelist">
453 <colgroup>
454 <col align="left" valign="top">
455 <col>
456 </colgroup>
457 <tbody>
458 <tr>
459 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
460 <td>Repository, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
461 </td>
462 </tr>
463 <tr>
464 <td><p><span class="term"><em class="parameter"><code>typelib_dir</code></em> :</span></p></td>
465 <td>Private directory where to find the requested typelib</td>
466 </tr>
467 <tr>
468 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
469 <td>GI namespace to use, e.g. "Gtk"</td>
470 </tr>
471 <tr>
472 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
473 <td>Version of namespace, may be <code class="literal">NULL</code> for latest. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
474 </td>
475 </tr>
476 <tr>
477 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
478 <td>Set of <a class="link" href="gi-girepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><code class="literal">GIRepositoryLoadFlags</code></a>, may be 0</td>
479 </tr>
480 <tr>
481 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
482 <td>a <span class="type">GError</span>.</td>
483 </tr>
484 <tr>
485 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
486 <td>a pointer to the <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <code class="literal">NULL</code> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
487 </td>
488 </tr>
489 </tbody>
490 </table></div>
491 </div>
492 <hr>
493 <div class="refsect2">
494 <a name="g-irepository-get-dependencies"></a><h3>g_irepository_get_dependencies ()</h3>
495 <pre class="programlisting"><span class="returnvalue">gchar</span> **            g_irepository_get_dependencies      (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
496                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
497 <p>
498 Return an array of all (transitive) dependencies for namespace
499 <em class="parameter"><code>namespace_</code></em>, including version.  The returned strings are of the
500 form <code class="code">namespace-version</code>.
501 </p>
502 <p>
503 Note: The namespace must have already been loaded using a function
504 such as <a class="link" href="gi-girepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
505 </p>
506 <div class="variablelist"><table border="0" class="variablelist">
507 <colgroup>
508 <col align="left" valign="top">
509 <col>
510 </colgroup>
511 <tbody>
512 <tr>
513 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
514 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
515 </td>
516 </tr>
517 <tr>
518 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
519 <td>Namespace of interest</td>
520 </tr>
521 <tr>
522 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
523 <td>Zero-terminated string array of versioned dependencies. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
524 </td>
525 </tr>
526 </tbody>
527 </table></div>
528 </div>
529 <hr>
530 <div class="refsect2">
531 <a name="g-irepository-get-loaded-namespaces"></a><h3>g_irepository_get_loaded_namespaces ()</h3>
532 <pre class="programlisting"><span class="returnvalue">gchar</span> **            g_irepository_get_loaded_namespaces (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>);</pre>
533 <p>
534 Return the list of currently loaded namespaces.
535 </p>
536 <div class="variablelist"><table border="0" class="variablelist">
537 <colgroup>
538 <col align="left" valign="top">
539 <col>
540 </colgroup>
541 <tbody>
542 <tr>
543 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
544 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
545 </td>
546 </tr>
547 <tr>
548 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
549 <td>List of namespaces. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
550 </td>
551 </tr>
552 </tbody>
553 </table></div>
554 </div>
555 <hr>
556 <div class="refsect2">
557 <a name="g-irepository-find-by-gtype"></a><h3>g_irepository_find_by_gtype ()</h3>
558 <pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *        g_irepository_find_by_gtype         (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
559                                                          <em class="parameter"><code><span class="type">GType</span> gtype</code></em>);</pre>
560 <p>
561 Searches all loaded namespaces for a particular <span class="type">GType</span>.  Note that
562 in order to locate the metadata, the namespace corresponding to
563 the type must first have been loaded.  There is currently no
564 mechanism for determining the namespace which corresponds to an
565 arbitrary GType - thus, this function will operate most reliably
566 when you know the GType to originate from be from a loaded namespace.
567 </p>
568 <div class="variablelist"><table border="0" class="variablelist">
569 <colgroup>
570 <col align="left" valign="top">
571 <col>
572 </colgroup>
573 <tbody>
574 <tr>
575 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
576 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
577 </td>
578 </tr>
579 <tr>
580 <td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
581 <td>GType to search for</td>
582 </tr>
583 <tr>
584 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
585 <td>
586 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> representing metadata about <em class="parameter"><code>type</code></em>, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
587 </td>
588 </tr>
589 </tbody>
590 </table></div>
591 </div>
592 <hr>
593 <div class="refsect2">
594 <a name="g-irepository-get-n-infos"></a><h3>g_irepository_get_n_infos ()</h3>
595 <pre class="programlisting"><span class="returnvalue">gint</span>                g_irepository_get_n_infos           (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
596                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
597 <p>
598 This function returns the number of metadata entries in
599 given namespace <em class="parameter"><code>namespace_</code></em>.  The namespace must have
600 already been loaded before calling this function.
601 </p>
602 <div class="variablelist"><table border="0" class="variablelist">
603 <colgroup>
604 <col align="left" valign="top">
605 <col>
606 </colgroup>
607 <tbody>
608 <tr>
609 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
610 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
611 </td>
612 </tr>
613 <tr>
614 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
615 <td>Namespace to inspect</td>
616 </tr>
617 <tr>
618 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
619 <td>number of metadata entries</td>
620 </tr>
621 </tbody>
622 </table></div>
623 </div>
624 <hr>
625 <div class="refsect2">
626 <a name="g-irepository-get-info"></a><h3>g_irepository_get_info ()</h3>
627 <pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *        g_irepository_get_info              (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
628                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
629                                                          <em class="parameter"><code><span class="type">gint</span> index</code></em>);</pre>
630 <p>
631 This function returns a particular metadata entry in the
632 given namespace <em class="parameter"><code>namespace_</code></em>.  The namespace must have
633 already been loaded before calling this function.
634 See <a class="link" href="gi-girepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()"><code class="function">g_irepository_get_n_infos()</code></a> to find the maximum number of
635 entries.
636 </p>
637 <div class="variablelist"><table border="0" class="variablelist">
638 <colgroup>
639 <col align="left" valign="top">
640 <col>
641 </colgroup>
642 <tbody>
643 <tr>
644 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
645 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
646 </td>
647 </tr>
648 <tr>
649 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
650 <td>Namespace to inspect</td>
651 </tr>
652 <tr>
653 <td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
654 <td>0-based offset into namespace metadata for entry</td>
655 </tr>
656 <tr>
657 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
658 <td>
659 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> containing metadata. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
660 </td>
661 </tr>
662 </tbody>
663 </table></div>
664 </div>
665 <hr>
666 <div class="refsect2">
667 <a name="g-irepository-get-typelib-path"></a><h3>g_irepository_get_typelib_path ()</h3>
668 <pre class="programlisting">const <span class="returnvalue">gchar</span> *       g_irepository_get_typelib_path      (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
669                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
670 <p>
671 If namespace <em class="parameter"><code>namespace_</code></em> is loaded, return the full path to the
672 .typelib file it was loaded from.  If the typelib for
673 namespace <em class="parameter"><code>namespace_</code></em> was included in a shared library, return
674 the special string "$lt;builtin$gt;".
675 </p>
676 <div class="variablelist"><table border="0" class="variablelist">
677 <colgroup>
678 <col align="left" valign="top">
679 <col>
680 </colgroup>
681 <tbody>
682 <tr>
683 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
684 <td>Repository, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
685 </td>
686 </tr>
687 <tr>
688 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
689 <td>GI namespace to use, e.g. "Gtk"</td>
690 </tr>
691 <tr>
692 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
693 <td>Filesystem path (or $lt;builtin$gt;) if successful, <code class="literal">NULL</code> if namespace is not loaded</td>
694 </tr>
695 </tbody>
696 </table></div>
697 </div>
698 <hr>
699 <div class="refsect2">
700 <a name="g-irepository-get-shared-library"></a><h3>g_irepository_get_shared_library ()</h3>
701 <pre class="programlisting">const <span class="returnvalue">gchar</span> *       g_irepository_get_shared_library    (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
702                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
703 <p>
704 This function returns the full path to the shared C library
705 associated with the given namespace <em class="parameter"><code>namespace_</code></em>. There may be no
706 shared library path associated, in which case this function will
707 return <code class="literal">NULL</code>.
708 </p>
709 <p>
710 Note: The namespace must have already been loaded using a function
711 such as <a class="link" href="gi-girepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
712 </p>
713 <div class="variablelist"><table border="0" class="variablelist">
714 <colgroup>
715 <col align="left" valign="top">
716 <col>
717 </colgroup>
718 <tbody>
719 <tr>
720 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
721 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
722 </td>
723 </tr>
724 <tr>
725 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
726 <td>Namespace to inspect</td>
727 </tr>
728 <tr>
729 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
730 <td>Full path to shared library, or <code class="literal">NULL</code> if none associated</td>
731 </tr>
732 </tbody>
733 </table></div>
734 </div>
735 <hr>
736 <div class="refsect2">
737 <a name="g-irepository-get-version"></a><h3>g_irepository_get_version ()</h3>
738 <pre class="programlisting">const <span class="returnvalue">gchar</span> *       g_irepository_get_version           (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
739                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
740 <p>
741 This function returns the loaded version associated with the given
742 namespace <em class="parameter"><code>namespace_</code></em>.
743 </p>
744 <p>
745 Note: The namespace must have already been loaded using a function
746 such as <a class="link" href="gi-girepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
747 </p>
748 <div class="variablelist"><table border="0" class="variablelist">
749 <colgroup>
750 <col align="left" valign="top">
751 <col>
752 </colgroup>
753 <tbody>
754 <tr>
755 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
756 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
757 </td>
758 </tr>
759 <tr>
760 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
761 <td>Namespace to inspect</td>
762 </tr>
763 <tr>
764 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
765 <td>Loaded version</td>
766 </tr>
767 </tbody>
768 </table></div>
769 </div>
770 <hr>
771 <div class="refsect2">
772 <a name="g-irepository-get-option-group"></a><h3>g_irepository_get_option_group ()</h3>
773 <pre class="programlisting"><span class="returnvalue">GOptionGroup</span> *      g_irepository_get_option_group      (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
774 <p>
775 Obtain the option group for girepository, it's used
776 by the dumper and for programs that wants to provide
777 introspection information
778 </p>
779 <div class="variablelist"><table border="0" class="variablelist">
780 <colgroup>
781 <col align="left" valign="top">
782 <col>
783 </colgroup>
784 <tbody><tr>
785 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
786 <td>the option group. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
787 </td>
788 </tr></tbody>
789 </table></div>
790 </div>
791 <hr>
792 <div class="refsect2">
793 <a name="g-irepository-get-c-prefix"></a><h3>g_irepository_get_c_prefix ()</h3>
794 <pre class="programlisting">const <span class="returnvalue">gchar</span> *       g_irepository_get_c_prefix          (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
795                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
796 <p>
797 This function returns the "C prefix", or the C level namespace
798 associated with the given introspection namespace.  Each C symbol
799 starts with this prefix, as well each <span class="type">GType</span> in the library.
800 </p>
801 <p>
802 Note: The namespace must have already been loaded using a function
803 such as <a class="link" href="gi-girepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
804 </p>
805 <div class="variablelist"><table border="0" class="variablelist">
806 <colgroup>
807 <col align="left" valign="top">
808 <col>
809 </colgroup>
810 <tbody>
811 <tr>
812 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
813 <td>A <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a>, may be <code class="literal">NULL</code> for the default. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
814 </td>
815 </tr>
816 <tr>
817 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
818 <td>Namespace to inspect</td>
819 </tr>
820 <tr>
821 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
822 <td>C namespace prefix, or <code class="literal">NULL</code> if none associated</td>
823 </tr>
824 </tbody>
825 </table></div>
826 </div>
827 <hr>
828 <div class="refsect2">
829 <a name="g-irepository-dump"></a><h3>g_irepository_dump ()</h3>
830 <pre class="programlisting"><span class="returnvalue">gboolean</span>            g_irepository_dump                  (<em class="parameter"><code>const <span class="type">char</span> *arg</code></em>,
831                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
832 <p>
833 Argument specified is a comma-separated pair of filenames; i.e. of
834 the form "input.txt,output.xml".  The input file should be a
835 UTF-8 Unix-line-ending text file, with each line containing the name
836 of a GType _get_type function.
837 </p>
838 <p>
839 The output file should already exist, but be empty.  This function will
840 overwrite its contents.
841 </p>
842 <div class="variablelist"><table border="0" class="variablelist">
843 <colgroup>
844 <col align="left" valign="top">
845 <col>
846 </colgroup>
847 <tbody>
848 <tr>
849 <td><p><span class="term"><em class="parameter"><code>arg</code></em> :</span></p></td>
850 <td>Comma-separated pair of input and output filenames</td>
851 </tr>
852 <tr>
853 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
854 <td>a <code class="literal">GError</code>
855 </td>
856 </tr>
857 <tr>
858 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
859 <td>
860 <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on error</td>
861 </tr>
862 </tbody>
863 </table></div>
864 </div>
865 <hr>
866 <div class="refsect2">
867 <a name="g-irepository-enumerate-versions"></a><h3>g_irepository_enumerate_versions ()</h3>
868 <pre class="programlisting"><span class="returnvalue">GList</span> *             g_irepository_enumerate_versions    (<em class="parameter"><code><a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
869                                                          <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
870 <p>
871 Obtain an unordered list of versions (either currently loaded or
872 available) for <em class="parameter"><code>namespace_</code></em> in this <em class="parameter"><code>repository</code></em>.
873 </p>
874 <div class="variablelist"><table border="0" class="variablelist">
875 <colgroup>
876 <col align="left" valign="top">
877 <col>
878 </colgroup>
879 <tbody>
880 <tr>
881 <td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
882 <td>the repository. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
883 </td>
884 </tr>
885 <tr>
886 <td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
887 <td>GI namespace, e.g. "Gtk"</td>
888 </tr>
889 <tr>
890 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
891 <td>the array of versions. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
892 </td>
893 </tr>
894 </tbody>
895 </table></div>
896 </div>
897 <hr>
898 <div class="refsect2">
899 <a name="G-IREPOSITORY-ERROR:CAPS"></a><h3>G_IREPOSITORY_ERROR</h3>
900 <pre class="programlisting">#define G_IREPOSITORY_ERROR (g_irepository_error_quark ())
901 </pre>
902 </div>
903 <hr>
904 <div class="refsect2">
905 <a name="g-typelib-new-from-memory"></a><h3>g_typelib_new_from_memory ()</h3>
906 <pre class="programlisting"><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         g_typelib_new_from_memory           (<em class="parameter"><code><span class="type">guint8</span> *memory</code></em>,
907                                                          <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
908                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
909 <p>
910 Creates a new <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location.  The memory block
911 pointed to by <em class="parameter"><code>typelib</code></em> will be automatically <code class="function">g_free()</code>d when the
912 repository is destroyed.
913 </p>
914 <div class="variablelist"><table border="0" class="variablelist">
915 <colgroup>
916 <col align="left" valign="top">
917 <col>
918 </colgroup>
919 <tbody>
920 <tr>
921 <td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
922 <td>address of memory chunk containing the typelib</td>
923 </tr>
924 <tr>
925 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
926 <td>length of memory chunk containing the typelib</td>
927 </tr>
928 <tr>
929 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
930 <td>a <span class="type">GError</span>
931 </td>
932 </tr>
933 <tr>
934 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
935 <td>the new <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
936 </td>
937 </tr>
938 </tbody>
939 </table></div>
940 </div>
941 <hr>
942 <div class="refsect2">
943 <a name="g-typelib-new-from-const-memory"></a><h3>g_typelib_new_from_const_memory ()</h3>
944 <pre class="programlisting"><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         g_typelib_new_from_const_memory     (<em class="parameter"><code>const <span class="type">guint8</span> *memory</code></em>,
945                                                          <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
946                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
947 <p>
948 Creates a new <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location.
949 </p>
950 <div class="variablelist"><table border="0" class="variablelist">
951 <colgroup>
952 <col align="left" valign="top">
953 <col>
954 </colgroup>
955 <tbody>
956 <tr>
957 <td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
958 <td>address of memory chunk containing the typelib</td>
959 </tr>
960 <tr>
961 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
962 <td>length of memory chunk containing the typelib</td>
963 </tr>
964 <tr>
965 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
966 <td>A <span class="type">GError</span>
967 </td>
968 </tr>
969 <tr>
970 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
971 <td>the new <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
972 </td>
973 </tr>
974 </tbody>
975 </table></div>
976 </div>
977 <hr>
978 <div class="refsect2">
979 <a name="g-typelib-new-from-mapped-file"></a><h3>g_typelib_new_from_mapped_file ()</h3>
980 <pre class="programlisting"><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *         g_typelib_new_from_mapped_file      (<em class="parameter"><code><span class="type">GMappedFile</span> *mfile</code></em>,
981                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
982 <p>
983 Creates a new <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a <span class="type">GMappedFile</span>.
984 </p>
985 <div class="variablelist"><table border="0" class="variablelist">
986 <colgroup>
987 <col align="left" valign="top">
988 <col>
989 </colgroup>
990 <tbody>
991 <tr>
992 <td><p><span class="term"><em class="parameter"><code>mfile</code></em> :</span></p></td>
993 <td>a <span class="type">GMappedFile</span>, that will be free'd when the repository is destroyed</td>
994 </tr>
995 <tr>
996 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
997 <td>a <span class="type">GError</span>
998 </td>
999 </tr>
1000 <tr>
1001 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1002 <td>the new <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
1003 </td>
1004 </tr>
1005 </tbody>
1006 </table></div>
1007 </div>
1008 <hr>
1009 <div class="refsect2">
1010 <a name="g-typelib-free"></a><h3>g_typelib_free ()</h3>
1011 <pre class="programlisting"><span class="returnvalue">void</span>                g_typelib_free                      (<em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
1012 <p>
1013 Free a <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.
1014 </p>
1015 <div class="variablelist"><table border="0" class="variablelist">
1016 <colgroup>
1017 <col align="left" valign="top">
1018 <col>
1019 </colgroup>
1020 <tbody><tr>
1021 <td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
1022 <td>a <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
1023 </td>
1024 </tr></tbody>
1025 </table></div>
1026 </div>
1027 <hr>
1028 <div class="refsect2">
1029 <a name="g-typelib-symbol"></a><h3>g_typelib_symbol ()</h3>
1030 <pre class="programlisting"><span class="returnvalue">gboolean</span>            g_typelib_symbol                    (<em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
1031                                                          <em class="parameter"><code>const <span class="type">gchar</span> *symbol_name</code></em>,
1032                                                          <em class="parameter"><code><span class="type">gpointer</span> *symbol</code></em>);</pre>
1033 <p>
1034 Loads a symbol from <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.
1035 </p>
1036 <div class="variablelist"><table border="0" class="variablelist">
1037 <colgroup>
1038 <col align="left" valign="top">
1039 <col>
1040 </colgroup>
1041 <tbody>
1042 <tr>
1043 <td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
1044 <td>the typelib</td>
1045 </tr>
1046 <tr>
1047 <td><p><span class="term"><em class="parameter"><code>symbol_name</code></em> :</span></p></td>
1048 <td>name of symbol to be loaded</td>
1049 </tr>
1050 <tr>
1051 <td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td>
1052 <td>returns a pointer to the symbol value</td>
1053 </tr>
1054 <tr>
1055 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1056 <td>
1057 <span class="type">TRUE</span> on success</td>
1058 </tr>
1059 </tbody>
1060 </table></div>
1061 </div>
1062 <hr>
1063 <div class="refsect2">
1064 <a name="g-typelib-get-namespace"></a><h3>g_typelib_get_namespace ()</h3>
1065 <pre class="programlisting">const <span class="returnvalue">gchar</span> *       g_typelib_get_namespace             (<em class="parameter"><code><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
1066 </div>
1067 </div>
1068 </div>
1069 <div class="footer">
1070 <hr>
1071           Generated by GTK-Doc V1.18.1</div>
1072 </body>
1073 </html>