summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@src.gnome.org>2008-08-07 12:41:46 +0000
committerColin Walters <walters@src.gnome.org>2008-08-07 12:41:46 +0000
commitb5bb46f9f84bb2687f972d4e6829f79714e5fe7b (patch)
treec113ddb4522f37ebaf9026f8839eab2f18c35a55
parentf62744c06e8e2f557209e2a9c506d4ee5dbeb9da (diff)
downloadgobject-introspection-b5bb46f9f84bb2687f972d4e6829f79714e5fe7b.tar.gz
Parse signals, enums, bitfields
svn path=/branches/gir-compiler/; revision=314
-rw-r--r--tools/girparser.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/tools/girparser.c b/tools/girparser.c
index 81230a48..315322d2 100644
--- a/tools/girparser.c
+++ b/tools/girparser.c
@@ -1656,6 +1656,12 @@ start_element_handler (GMarkupParseContext *context,
switch (element_name[0])
{
+ case 'b':
+ if (start_enum (context, element_name,
+ attribute_names, attribute_values,
+ ctx, error))
+ goto out;
+ break;
case 'c':
if (start_function (context, element_name,
attribute_names, attribute_values,
@@ -1717,11 +1723,6 @@ start_element_handler (GMarkupParseContext *context,
attribute_names, attribute_values,
ctx, error))
goto out;
- else if (start_enum (context, element_name,
- attribute_names, attribute_values,
- ctx, error))
- goto out;
-
break;
case 'g':
@@ -1729,12 +1730,14 @@ start_element_handler (GMarkupParseContext *context,
attribute_names, attribute_values,
ctx, error))
goto out;
- break;
-
- if (start_glib_signal (context, element_name,
+ else if (start_glib_signal (context, element_name,
attribute_names, attribute_values,
ctx, error))
- goto out;
+ goto out;
+ else if (start_glib_boxed (context, element_name,
+ attribute_names, attribute_values,
+ ctx, error))
+ goto out;
break;
case 'i':
@@ -2042,7 +2045,7 @@ end_element_handler (GMarkupParseContext *context,
case STATE_ENUM:
if (strcmp (element_name, "enumeration") == 0 ||
- strcmp (element_name, "flags") == 0)
+ strcmp (element_name, "bitfield") == 0)
{
ctx->current_node = NULL;
state_switch (ctx, STATE_NAMESPACE);