Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/girepository/girnode.h
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2009-02-20 02:48:51 (GMT)
committer Colin Walters <walters@verbum.org>2009-03-03 22:26:37 (GMT)
commitd5215b23315e7c9c22c6a32218bb6f8027a9dd4c (patch)
treee8d9e360099c756677ad23a1039f4d05533008b9 /girepository/girnode.h
parent2bdd2bf9303ae0e718c00ec84078336e722138f1 (diff)
Bug 571548 - Generic attributes
We now support an extensible mechanism where arbitrary key-value pairs may be associated with almost all items, including objects, methods, and properties. These attributes appear in both the .gir and the .typelib.
Diffstat (limited to 'girepository/girnode.h')
-rw-r--r--girepository/girnode.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/girepository/girnode.h b/girepository/girnode.h
index 45c2bb0..2a1f6b2 100644
--- a/girepository/girnode.h
+++ b/girepository/girnode.h
@@ -51,6 +51,8 @@ struct _GIrTypelibBuild {
GList *modules;
GHashTable *strings;
GHashTable *types;
+ GList *offset_ordered_nodes;
+ guint32 n_attributes;
guchar *data;
};
@@ -82,6 +84,10 @@ struct _GIrNode
{
GIrNodeTypeId type;
gchar *name;
+
+ guint32 offset; /* Assigned as we build the typelib */
+
+ GHashTable *attributes;
};
struct _GIrNodeXRef
@@ -349,6 +355,7 @@ GIrNode * g_ir_node_new (GIrNodeTypeId type);
void g_ir_node_free (GIrNode *node);
guint32 g_ir_node_get_size (GIrNode *node);
guint32 g_ir_node_get_full_size (GIrNode *node);
+guint32 g_ir_node_get_attribute_size (GIrNode *node);
void g_ir_node_build_typelib (GIrNode *node,
GIrNode *parent,
GIrTypelibBuild *build,