summaryrefslogtreecommitdiff
path: root/giscanner/gdumpparser.py
diff options
context:
space:
mode:
authorJohan Dahlin <jdahlin@litl.com>2011-08-13 11:21:05 -0300
committerJohan Dahlin <jdahlin@litl.com>2011-08-13 11:21:05 -0300
commitd7a2b1dc90bd61bcd0908c3fd8b124bb84ecc862 (patch)
treed151b1c18fdc4e334515f66725ecd8e853b6b00a /giscanner/gdumpparser.py
parent0d76fc0c49bbe4f1b0d1490e8e41d02db7c4bf4a (diff)
downloadgobject-introspection-d7a2b1dc90bd61bcd0908c3fd8b124bb84ecc862.tar.gz
Add signal flags
This adds all GSignalFlags into the gir. https://bugzilla.gnome.org/show_bug.cgi?id=656457
Diffstat (limited to 'giscanner/gdumpparser.py')
-rw-r--r--giscanner/gdumpparser.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
index 35fea72b..be25d614 100644
--- a/giscanner/gdumpparser.py
+++ b/giscanner/gdumpparser.py
@@ -453,6 +453,11 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
rtype = ast.Type.create_from_gtype_name(rctype)
return_ = ast.Return(rtype)
parameters = []
+ when = signal_info.attrib['when']
+ no_recurse = signal_info.attrib.get('no-recurse', '0') == '1'
+ detailed = signal_info.attrib.get('detailed', '0') == '1'
+ action = signal_info.attrib.get('action', '0') == '1'
+ no_hooks = signal_info.attrib.get('no-hooks', '0') == '1'
for i, parameter in enumerate(signal_info.findall('param')):
if i == 0:
argname = 'object'
@@ -463,7 +468,9 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
param = ast.Parameter(argname, ptype)
param.transfer = ast.PARAM_TRANSFER_NONE
parameters.append(param)
- signal = ast.Signal(signal_info.attrib['name'], return_, parameters)
+ signal = ast.Signal(signal_info.attrib['name'], return_, parameters,
+ when=when, no_recurse=no_recurse, detailed=detailed,
+ action=action, no_hooks=no_hooks)
node.signals.append(signal)
node.signals = node.signals