summaryrefslogtreecommitdiff
path: root/girepository/girnode.h
diff options
context:
space:
mode:
authorColin Walters <walters@src.gnome.org>2009-02-06 18:37:13 +0000
committerColin Walters <walters@src.gnome.org>2009-02-06 18:37:13 +0000
commitd1bf6a23c6fa14e918aa93e346237b1c832fb2ea (patch)
tree715bf149bfa948eed8a1da945e2c0984ea81df73 /girepository/girnode.h
parent3ae9127e53032065df14be8539aba0cf50835386 (diff)
downloadgobject-introspection-d1bf6a23c6fa14e918aa93e346237b1c832fb2ea.tar.gz
Bug 551738 - Associate classes with their structs
Inside glibtransformer, we now look at structures ending in "Class" and see if they have an associated GlibObject (i.e. a structure of the same name without the "Class" suffix). If found, pair them up. The .gir file for <class> gains an attribute denoting its associated class struct. Any <record> many now have a glib:is-class-struct-for annotation which tells which (if any) <class> for which it defines the layout. In the .typelib, we record the association between the class and its structure. Generic structures however just have a boolean saying whether they're a class struct. (Going from a generic class struct to its class should not be necessary). Finally, we expose GIRepository APIs to access both bits of information from the .typelib. svn path=/trunk/; revision=1088
Diffstat (limited to 'girepository/girnode.h')
-rw-r--r--girepository/girnode.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/girepository/girnode.h b/girepository/girnode.h
index a1b8f0dc..fad67991 100644
--- a/girepository/girnode.h
+++ b/girepository/girnode.h
@@ -228,6 +228,7 @@ struct _GIrNodeInterface
gchar *gtype_init;
gchar *parent;
+ gchar *class_struct; /* Only applies to classes */
GList *interfaces;
GList *prerequisites;
@@ -292,6 +293,7 @@ struct _GIrNodeStruct
gboolean deprecated;
gboolean disguised;
+ gboolean is_gclass_struct;
gchar *gtype_name;
gchar *gtype_init;