Bug 571373 - Move typelib docs from typelib-format.txt into girepository.h
[gnome.gobject-introspection] / girepository / girepository.h
1 /* GObject introspection: Repository
2  *
3  * Copyright (C) 2005 Matthias Clasen
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 #ifndef __G_IREPOSITORY_H__
22 #define __G_IREPOSITORY_H__
23
24 #include <glib-object.h>
25 #include <gmodule.h>
26
27 G_BEGIN_DECLS
28
29 #define G_TYPE_IREPOSITORY      (g_irepository_get_type ())
30 #define G_IREPOSITORY(obj)      (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_IREPOSITORY, GIRepository))
31
32 typedef struct _GIRepository         GIRepository; 
33 typedef struct _GIRepositoryClass    GIRepositoryClass; 
34 typedef struct _GIRepositoryPrivate  GIRepositoryPrivate; 
35 typedef struct _GIBaseInfo           GIBaseInfo;
36 typedef struct _GICallableInfo       GICallableInfo;
37 typedef struct _GIFunctionInfo       GIFunctionInfo;
38 typedef struct _GICallbackInfo       GICallbackInfo;
39 typedef struct _GIRegisteredTypeInfo GIRegisteredTypeInfo;
40 typedef struct _GIStructInfo         GIStructInfo;
41 typedef struct _GIUnionInfo          GIUnionInfo;
42 typedef struct _GIEnumInfo           GIEnumInfo;
43 typedef struct _GIObjectInfo         GIObjectInfo;
44 typedef struct _GIInterfaceInfo      GIInterfaceInfo;
45 typedef struct _GIConstantInfo       GIConstantInfo;
46 typedef struct _GIValueInfo          GIValueInfo;
47 typedef struct _GISignalInfo         GISignalInfo;
48 typedef struct _GIVFuncInfo          GIVFuncInfo;
49 typedef struct _GIPropertyInfo       GIPropertyInfo;
50 typedef struct _GIFieldInfo          GIFieldInfo;
51 typedef struct _GIArgInfo            GIArgInfo;
52 typedef struct _GITypeInfo           GITypeInfo;
53 typedef struct _GIErrorDomainInfo    GIErrorDomainInfo;
54 typedef struct _GIUnresolvedInfo     GIUnresolvedInfo;
55 typedef struct _GTypelib            GTypelib;
56
57 struct _GIRepository 
58
59   GObject parent; 
60
61   /*< private >*/
62   GIRepositoryPrivate *priv;
63 };
64
65 struct _GIRepositoryClass
66
67   GObjectClass parent; 
68 };
69
70 typedef enum
71 {
72   G_IREPOSITORY_LOAD_FLAG_LAZY = 1 << 0
73 } GIRepositoryLoadFlags;
74
75 /* Repository */
76
77 GType         g_irepository_get_type      (void) G_GNUC_CONST;
78 GIRepository *g_irepository_get_default   (void);
79 void          g_irepository_prepend_search_path (const char *directory);
80 GSList *      g_irepository_get_search_path     (void);
81 const char *  g_irepository_load_typelib  (GIRepository *repository,
82                                            GTypelib     *typelib,
83                                            GIRepositoryLoadFlags flags,
84                                            GError      **error);
85 gboolean      g_irepository_is_registered (GIRepository *repository,
86                                            const gchar  *namespace_,
87                                            const gchar  *version);
88 GIBaseInfo *  g_irepository_find_by_name  (GIRepository *repository,
89                                            const gchar  *namespace_,
90                                            const gchar  *name);
91 GTypelib *    g_irepository_require       (GIRepository *repository,
92                                            const gchar  *namespace_,
93                                            const gchar  *version,
94                                            GIRepositoryLoadFlags flags,
95                                            GError      **error);
96 gchar      ** g_irepository_get_dependencies (GIRepository *repository,
97                                               const gchar  *namespace_);
98 gchar      ** g_irepository_get_loaded_namespaces (GIRepository *repository);
99 GIBaseInfo *  g_irepository_find_by_gtype (GIRepository *repository,
100                                            GType         gtype);
101 gint          g_irepository_get_n_infos   (GIRepository *repository,
102                                            const gchar  *namespace_);
103 GIBaseInfo *  g_irepository_get_info      (GIRepository *repository,
104                                            const gchar  *namespace_,
105                                            gint          index);
106 const gchar * g_irepository_get_typelib_path   (GIRepository *repository,
107                                                 const gchar  *namespace_);
108 const gchar * g_irepository_get_shared_library (GIRepository *repository,
109                                                 const gchar  *namespace_);
110 const gchar * g_irepository_get_version (GIRepository *repository,
111                                          const gchar  *namespace_);
112
113 GOptionGroup * g_irepository_get_option_group (void);
114
115 gboolean       g_irepository_dump  (const char *arg, GError **error);
116
117 /* Typelib */
118
119 GTypelib *   g_typelib_new_from_memory       (guchar       *memory,
120                                                 gsize         len);
121 GTypelib *   g_typelib_new_from_const_memory (const guchar *memory,
122                                                 gsize         len);
123 GTypelib *   g_typelib_new_from_mapped_file  (GMappedFile  *mfile);
124 void          g_typelib_free                  (GTypelib    *typelib);
125
126 gboolean      g_typelib_symbol                (GTypelib    *typelib,
127                                                const gchar *symbol_name,
128                                                gpointer    *symbol);
129 const gchar * g_typelib_get_namespace         (GTypelib    *typelib);
130
131 typedef enum
132 {
133   G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND,
134   G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH,
135   G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT,
136   G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND
137 } GIRepositoryError;
138
139 #define G_IREPOSITORY_ERROR (g_irepository_error_quark ())
140
141 GQuark g_irepository_error_quark (void);
142
143
144 /* Global utility functions */
145
146 void gi_cclosure_marshal_generic (GClosure       *closure,
147                                   GValue         *return_gvalue,
148                                   guint           n_param_values,
149                                   const GValue   *param_values,
150                                   gpointer        invocation_hint,
151                                   gpointer        marshal_data);
152
153 /* Types of objects registered in the repository */
154
155 typedef enum 
156 {
157   GI_INFO_TYPE_INVALID,
158   GI_INFO_TYPE_FUNCTION,
159   GI_INFO_TYPE_CALLBACK,
160   GI_INFO_TYPE_STRUCT,
161   GI_INFO_TYPE_BOXED,
162   GI_INFO_TYPE_ENUM,
163   GI_INFO_TYPE_FLAGS,
164   GI_INFO_TYPE_OBJECT,
165   GI_INFO_TYPE_INTERFACE,
166   GI_INFO_TYPE_CONSTANT,
167   GI_INFO_TYPE_ERROR_DOMAIN,
168   GI_INFO_TYPE_UNION,
169   GI_INFO_TYPE_VALUE,
170   GI_INFO_TYPE_SIGNAL,
171   GI_INFO_TYPE_VFUNC,
172   GI_INFO_TYPE_PROPERTY,
173   GI_INFO_TYPE_FIELD,
174   GI_INFO_TYPE_ARG,
175   GI_INFO_TYPE_TYPE,
176   GI_INFO_TYPE_UNRESOLVED
177 } GIInfoType;
178
179
180 /* GIBaseInfo */
181
182 GIBaseInfo *           g_base_info_ref              (GIBaseInfo   *info);
183 void                   g_base_info_unref            (GIBaseInfo   *info);
184 GIInfoType             g_base_info_get_type         (GIBaseInfo   *info);
185 const gchar *          g_base_info_get_name         (GIBaseInfo   *info);
186 const gchar *          g_base_info_get_namespace    (GIBaseInfo   *info);
187 gboolean               g_base_info_is_deprecated    (GIBaseInfo   *info);
188 const gchar *          g_base_info_get_annotation   (GIBaseInfo   *info,
189                                                      const gchar  *name);
190 GIBaseInfo *           g_base_info_get_container    (GIBaseInfo   *info);
191 GTypelib *             g_base_info_get_typelib      (GIBaseInfo   *info);
192
193 GIBaseInfo *           g_info_new                   (GIInfoType    type,
194                                                      GIBaseInfo   *container,
195                                                      GTypelib     *typelib, 
196                                                      guint32       offset);
197
198
199 /* GIFunctionInfo */
200
201 typedef enum
202 {
203   GI_FUNCTION_IS_METHOD      = 1 << 0,
204   GI_FUNCTION_IS_CONSTRUCTOR = 1 << 1,
205   GI_FUNCTION_IS_GETTER      = 1 << 2,
206   GI_FUNCTION_IS_SETTER      = 1 << 3,
207   GI_FUNCTION_WRAPS_VFUNC    = 1 << 4,
208   GI_FUNCTION_THROWS         = 1 << 5
209 } GIFunctionInfoFlags;
210
211 const gchar *           g_function_info_get_symbol     (GIFunctionInfo *info);
212 GIFunctionInfoFlags     g_function_info_get_flags      (GIFunctionInfo *info);
213 GIPropertyInfo *        g_function_info_get_property   (GIFunctionInfo *info);
214 GIVFuncInfo *           g_function_info_get_vfunc      (GIFunctionInfo *info);
215
216 typedef union 
217 {
218   gboolean v_boolean;
219   gint8    v_int8;
220   guint8   v_uint8;
221   gint16   v_int16;
222   guint16  v_uint16;
223   gint32   v_int32;
224   guint32  v_uint32;
225   gint64   v_int64;
226   guint64  v_uint64;
227   gfloat   v_float;
228   gdouble  v_double;
229   gint     v_int;
230   guint    v_uint;
231   glong    v_long;
232   gulong   v_ulong;
233   gssize   v_ssize;
234   gsize    v_size;
235   gchar *  v_string;
236   gpointer v_pointer;
237 } GArgument;
238
239 #define G_INVOKE_ERROR (g_invoke_error_quark ())
240 GQuark g_invoke_error_quark (void);
241
242 typedef enum
243 {
244   G_INVOKE_ERROR_FAILED,
245   G_INVOKE_ERROR_SYMBOL_NOT_FOUND,
246   G_INVOKE_ERROR_ARGUMENT_MISMATCH
247 } GInvokeError;
248
249 gboolean              g_function_info_invoke         (GIFunctionInfo *info, 
250                                                       const GArgument  *in_args,
251                                                       int               n_in_args,
252                                                       const GArgument  *out_args,
253                                                       int               n_out_args,
254                                                       GArgument        *return_value,
255                                                       GError          **error);
256
257
258 /* GICallableInfo */
259
260 typedef enum {
261   GI_TRANSFER_NOTHING,
262   GI_TRANSFER_CONTAINER,
263   GI_TRANSFER_EVERYTHING
264 } GITransfer;
265
266 GITypeInfo *           g_callable_info_get_return_type (GICallableInfo *info);
267 GITransfer             g_callable_info_get_caller_owns (GICallableInfo *info);
268 gboolean               g_callable_info_may_return_null (GICallableInfo *info);
269 gint                   g_callable_info_get_n_args      (GICallableInfo *info);
270 GIArgInfo *            g_callable_info_get_arg         (GICallableInfo *info,
271                                                         gint           n);
272
273 /* GIArgInfo */
274
275 typedef enum  {
276   GI_DIRECTION_IN,
277   GI_DIRECTION_OUT,
278   GI_DIRECTION_INOUT
279 } GIDirection;
280
281 typedef enum {
282   GI_SCOPE_TYPE_INVALID, /* The argument is not of callback type */
283   GI_SCOPE_TYPE_CALL, /* The callback and associated user_data is only used during the
284                          call to this function */
285   GI_SCOPE_TYPE_OBJECT, /* The callback and associated user_data is used until
286                            the object containing this method is destroyed */
287   GI_SCOPE_TYPE_ASYNC, /* The callback and associated user_data is 
288                           only used until the callback is invoked, and the callback 
289                           is invoked always exactly once. */
290   GI_SCOPE_TYPE_NOTIFIED /* The callback and and associated user_data is
291                             used until the caller is notfied via the destroy_notify */
292 } GIScopeType;
293
294 GIDirection            g_arg_info_get_direction          (GIArgInfo *info);
295 gboolean               g_arg_info_is_dipper              (GIArgInfo *info);
296 gboolean               g_arg_info_is_return_value        (GIArgInfo *info);
297 gboolean               g_arg_info_is_optional            (GIArgInfo *info);
298 gboolean               g_arg_info_may_be_null            (GIArgInfo *info);
299 GITransfer             g_arg_info_get_ownership_transfer (GIArgInfo *info);
300 GIScopeType            g_arg_info_get_scope              (GIArgInfo *info);
301 gint                   g_arg_info_get_closure            (GIArgInfo *info);
302 gint                   g_arg_info_get_destroy            (GIArgInfo *info);
303 GITypeInfo *           g_arg_info_get_type               (GIArgInfo *info);
304
305
306 /* GITypeInfo */
307
308 typedef enum {
309   /* Basic types */
310   GI_TYPE_TAG_VOID      =  0,
311   GI_TYPE_TAG_BOOLEAN   =  1,
312   GI_TYPE_TAG_INT8      =  2,
313   GI_TYPE_TAG_UINT8     =  3,
314   GI_TYPE_TAG_INT16     =  4,
315   GI_TYPE_TAG_UINT16    =  5,  
316   GI_TYPE_TAG_INT32     =  6,
317   GI_TYPE_TAG_UINT32    =  7,
318   GI_TYPE_TAG_INT64     =  8,
319   GI_TYPE_TAG_UINT64    =  9,
320   GI_TYPE_TAG_INT       = 10,
321   GI_TYPE_TAG_UINT      = 11,
322   GI_TYPE_TAG_LONG      = 12,
323   GI_TYPE_TAG_ULONG     = 13,
324   GI_TYPE_TAG_SSIZE     = 14,
325   GI_TYPE_TAG_SIZE      = 15,
326   GI_TYPE_TAG_FLOAT     = 16,
327   GI_TYPE_TAG_DOUBLE    = 17,
328   GI_TYPE_TAG_TIME_T    = 18,
329   GI_TYPE_TAG_GTYPE     = 19,
330   GI_TYPE_TAG_UTF8      = 20,
331   GI_TYPE_TAG_FILENAME  = 21,
332   /* Non-basic types */
333   GI_TYPE_TAG_ARRAY     = 22,
334   GI_TYPE_TAG_INTERFACE = 23,
335   GI_TYPE_TAG_GLIST     = 24,
336   GI_TYPE_TAG_GSLIST    = 25,
337   GI_TYPE_TAG_GHASH     = 26,
338   GI_TYPE_TAG_ERROR     = 27
339   /* Note - there is only room currently for 32 tags.
340    * See docs/typelib-format.txt SimpleTypeBlob definition */
341 } GITypeTag;
342
343 #define G_TYPE_TAG_IS_BASIC(tag) (tag < GI_TYPE_TAG_ARRAY)
344
345 const gchar*           g_type_tag_to_string            (GITypeTag   type);
346
347 gboolean               g_type_info_is_pointer          (GITypeInfo *info);
348 GITypeTag              g_type_info_get_tag             (GITypeInfo *info);
349 GITypeInfo *           g_type_info_get_param_type      (GITypeInfo *info,
350                                                         gint       n);
351 GIBaseInfo *           g_type_info_get_interface       (GITypeInfo *info);
352 gint                   g_type_info_get_array_length    (GITypeInfo *info);
353 gint                   g_type_info_get_array_fixed_size(GITypeInfo *info);
354 gboolean               g_type_info_is_zero_terminated  (GITypeInfo *info);
355
356 gint                   g_type_info_get_n_error_domains (GITypeInfo *info);
357 GIErrorDomainInfo     *g_type_info_get_error_domain    (GITypeInfo *info,
358                                                         gint       n);
359
360 /* GIErrorDomainInfo */
361
362 const gchar *          g_error_domain_info_get_quark   (GIErrorDomainInfo *info);
363 GIInterfaceInfo *           g_error_domain_info_get_codes (GIErrorDomainInfo *info);
364
365
366 /* GIValueInfo */
367  
368 glong                  g_value_info_get_value      (GIValueInfo *info);
369
370
371 /* GIFieldInfo */
372
373 typedef enum
374 {
375   GI_FIELD_IS_READABLE = 1 << 0,
376   GI_FIELD_IS_WRITABLE = 1 << 1
377 } GIFieldInfoFlags;
378
379 GIFieldInfoFlags       g_field_info_get_flags      (GIFieldInfo *info);
380 gint                   g_field_info_get_size       (GIFieldInfo *info);
381 gint                   g_field_info_get_offset     (GIFieldInfo *info);
382 GITypeInfo *           g_field_info_get_type       (GIFieldInfo *info);
383
384 gboolean g_field_info_get_field (GIFieldInfo     *field_info,
385                                  gpointer         mem,
386                                  GArgument       *value);
387 gboolean g_field_info_set_field (GIFieldInfo     *field_info,
388                                  gpointer         mem,
389                                  const GArgument *value);
390
391 /* GIUnionInfo */
392 gint                   g_union_info_get_n_fields  (GIUnionInfo *info);
393 GIFieldInfo *          g_union_info_get_field     (GIUnionInfo *info,
394                                                    gint         n);
395 gint                   g_union_info_get_n_methods (GIUnionInfo *info);
396 GIFunctionInfo *       g_union_info_get_method    (GIUnionInfo *info,
397                                                    gint         n);
398 gboolean               g_union_info_is_discriminated (GIUnionInfo *info);
399 gint                   g_union_info_get_discriminator_offset (GIUnionInfo *info);
400 GITypeInfo *           g_union_info_get_discriminator_type (GIUnionInfo *info);
401 GIConstantInfo *       g_union_info_get_discriminator      (GIUnionInfo *info,
402                                                             gint         n);
403 GIFunctionInfo *       g_union_info_find_method    (GIUnionInfo *info,
404                                                     const gchar *name);
405 gsize                  g_union_info_get_size       (GIUnionInfo *info);
406 gsize                  g_union_info_get_alignment  (GIUnionInfo *info);
407
408
409 /* GIStructInfo */
410 gint                   g_struct_info_get_n_fields  (GIStructInfo *info);
411 GIFieldInfo *          g_struct_info_get_field     (GIStructInfo *info,
412                                                     gint         n);
413 gint                   g_struct_info_get_n_methods (GIStructInfo *info);
414 GIFunctionInfo *       g_struct_info_get_method    (GIStructInfo *info,
415                                                     gint         n);
416 GIFunctionInfo *       g_struct_info_find_method   (GIStructInfo *info,
417                                                     const gchar *name);
418 gsize                  g_struct_info_get_size      (GIStructInfo *info);
419 gsize                  g_struct_info_get_alignment (GIStructInfo *info);
420 gboolean               g_struct_info_is_class_struct (GIStructInfo *info);
421
422 /* GIRegisteredTypeInfo */
423
424 const gchar *          g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);
425 const gchar *          g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info);
426 GType                  g_registered_type_info_get_g_type    (GIRegisteredTypeInfo *info);
427
428 /* GIEnumInfo */
429
430 gint                   g_enum_info_get_n_values             (GIEnumInfo      *info);
431 GIValueInfo  *         g_enum_info_get_value                (GIEnumInfo      *info,
432                                                              gint            n);
433 GITypeTag              g_enum_info_get_storage_type         (GIEnumInfo      *info);
434
435 /* GIObjectInfo */
436
437 const gchar *          g_object_info_get_type_name          (GIObjectInfo    *info);
438 const gchar *          g_object_info_get_type_init          (GIObjectInfo    *info);
439 gboolean               g_object_info_get_abstract           (GIObjectInfo    *info);
440 GIObjectInfo *         g_object_info_get_parent             (GIObjectInfo    *info);
441 gint                   g_object_info_get_n_interfaces       (GIObjectInfo    *info);
442 GIInterfaceInfo *      g_object_info_get_interface          (GIObjectInfo    *info,
443                                                              gint            n);
444 gint                   g_object_info_get_n_fields           (GIObjectInfo    *info);
445 GIFieldInfo *          g_object_info_get_field              (GIObjectInfo    *info,
446                                                              gint            n);
447 gint                   g_object_info_get_n_properties       (GIObjectInfo    *info);
448 GIPropertyInfo *       g_object_info_get_property           (GIObjectInfo    *info,
449                                                              gint            n);
450 gint                   g_object_info_get_n_methods          (GIObjectInfo    *info);
451 GIFunctionInfo *       g_object_info_get_method             (GIObjectInfo    *info,
452                                                              gint            n);
453 GIFunctionInfo *       g_object_info_find_method            (GIObjectInfo *info,
454                                                              const gchar *name);
455 gint                   g_object_info_get_n_signals          (GIObjectInfo    *info);
456 GISignalInfo *         g_object_info_get_signal             (GIObjectInfo    *info,
457                                                              gint            n);
458 gint                   g_object_info_get_n_vfuncs           (GIObjectInfo    *info);
459 GIVFuncInfo *          g_object_info_get_vfunc              (GIObjectInfo    *info,
460                                                              gint            n);
461 gint                   g_object_info_get_n_constants        (GIObjectInfo    *info);
462 GIConstantInfo *       g_object_info_get_constant           (GIObjectInfo    *info,
463                                                              gint            n);
464 GIStructInfo *         g_object_info_get_class_struct       (GIObjectInfo    *info);
465
466                                                              
467 /* GIInterfaceInfo */
468
469 gint                   g_interface_info_get_n_prerequisites (GIInterfaceInfo *info);
470 GIBaseInfo *           g_interface_info_get_prerequisite    (GIInterfaceInfo *info,
471                                                              gint        n);
472 gint                   g_interface_info_get_n_properties    (GIInterfaceInfo *info);
473 GIPropertyInfo *       g_interface_info_get_property        (GIInterfaceInfo *info,
474                                                              gint        n);
475 gint                   g_interface_info_get_n_methods       (GIInterfaceInfo *info);
476 GIFunctionInfo *       g_interface_info_get_method          (GIInterfaceInfo *info,
477                                                              gint        n);
478 GIFunctionInfo *       g_interface_info_find_method         (GIInterfaceInfo *info,
479                                                              const gchar *name);
480 gint                   g_interface_info_get_n_signals       (GIInterfaceInfo *info);
481 GISignalInfo *         g_interface_info_get_signal          (GIInterfaceInfo *info,
482                                                              gint        n);
483 gint                   g_interface_info_get_n_vfuncs        (GIInterfaceInfo *info);
484 GIVFuncInfo *          g_interface_info_get_vfunc           (GIInterfaceInfo *info,
485                                                              gint        n);
486 gint                   g_interface_info_get_n_constants     (GIInterfaceInfo *info);
487 GIConstantInfo *       g_interface_info_get_constant        (GIInterfaceInfo *info,
488                                                              gint        n);
489
490
491 /* GIPropertyInfo  */
492
493 GParamFlags             g_property_info_get_flags                (GIPropertyInfo         *info);
494 GITypeInfo *            g_property_info_get_type                 (GIPropertyInfo         *info);
495
496
497 /* GISignalInfo */
498
499 GSignalFlags            g_signal_info_get_flags                  (GISignalInfo           *info);
500 GIVFuncInfo *           g_signal_info_get_class_closure          (GISignalInfo           *info);
501 gboolean                g_signal_info_true_stops_emit            (GISignalInfo           *info);
502
503
504 /* GIVFuncInfo */
505
506 typedef enum
507 {
508   GI_VFUNC_MUST_CHAIN_UP     = 1 << 0,
509   GI_VFUNC_MUST_OVERRIDE     = 1 << 1,
510   GI_VFUNC_MUST_NOT_OVERRIDE = 1 << 2
511 } GIVFuncInfoFlags;
512
513 GIVFuncInfoFlags        g_vfunc_info_get_flags                   (GIVFuncInfo            *info);
514 gint                    g_vfunc_info_get_offset                  (GIVFuncInfo            *info);
515 GISignalInfo *          g_vfunc_info_get_signal                  (GIVFuncInfo            *info);
516
517
518 /* GIConstantInfo */
519
520 GITypeInfo *            g_constant_info_get_type                 (GIConstantInfo         *info);
521 gint                    g_constant_info_get_value                (GIConstantInfo         *info,
522                                                                   GArgument             *value);
523
524
525 G_END_DECLS
526
527 #endif  /* __G_IREPOSITORY_H__ */
528