diff options
author | Johan Dahlin <jdahlin@litl.com> | 2011-08-13 11:21:05 -0300 |
---|---|---|
committer | Johan Dahlin <jdahlin@litl.com> | 2011-08-13 11:21:05 -0300 |
commit | d7a2b1dc90bd61bcd0908c3fd8b124bb84ecc862 (patch) | |
tree | d151b1c18fdc4e334515f66725ecd8e853b6b00a /giscanner/girparser.py | |
parent | 0d76fc0c49bbe4f1b0d1490e8e41d02db7c4bf4a (diff) | |
download | gobject-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/girparser.py')
-rw-r--r-- | giscanner/girparser.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/giscanner/girparser.py b/giscanner/girparser.py index 41e2abda..5e1866d2 100644 --- a/giscanner/girparser.py +++ b/giscanner/girparser.py @@ -268,7 +268,7 @@ class GIRParser(object): for prop in self._find_children(node, _corens('property')): obj.properties.append(self._parse_property(prop)) for signal in self._find_children(node, _glibns('signal')): - obj.signals.append(self._parse_function_common(signal, ast.Function)) + obj.signals.append(self._parse_function_common(signal, ast.Signal)) def _parse_callback(self, node): callback = self._parse_function_common(node, ast.Callback) @@ -298,6 +298,13 @@ class GIRParser(object): func = klass(name, retval, parameters, throws, identifier) elif klass is ast.VFunction: func = klass(name, retval, parameters, throws) + elif klass is ast.Signal: + func = klass(name, retval, parameters, + when=node.attrib.get('when', 'first'), + no_recurse=node.attrib.get('no-recurse', '0') == '1', + detailed=node.attrib.get('detailed', '0') == '1', + action=node.attrib.get('action', '0') == '1', + no_hooks=node.attrib.get('no-hooks', '0') == '1') else: assert False |