Sun, 02 Jun 2013 22:17:12 +0200
VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
|
27568
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
1 | # This program takes a C source as the input and produces the list of |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
2 | # all signals registered. |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
3 | # |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
4 | # Output is: |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
5 | # <signal name="Changed"> |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
6 | # <arg name="new_value" type="b"/> |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
7 | # </signal> |
|
33932
c49bfe98716d
Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents:
31328
diff
changeset
|
8 | from __future__ import print_function |
|
27568
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
9 | import re |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
10 | import sys |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
11 | |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
12 | # List "excluded" contains signals that shouldn't be exported via |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
13 | # DBus. If you remove a signal from this list, please make sure |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
14 | # that it does not break "make" with the configure option |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
15 | # "--enable-dbus" turned on. |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
16 | |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
17 | excluded = [\ |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
18 | # purple_dbus_signal_emit_purple prevents our "dbus-method-called" |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
19 | # signal from being propagated to dbus. |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
20 | "dbus-method-called", |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
21 | ] |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
22 | |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
23 | registerregex = re.compile("purple_signal_register[^;]+\"([\w\-]+)\"[^;]+(purple_marshal_\w+)[^;]+;") |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
24 | nameregex = re.compile('[-_][a-z]') |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
25 | |
|
33932
c49bfe98716d
Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents:
31328
diff
changeset
|
26 | print("/* Generated by %s. Do not edit! */" % sys.argv[0]) |
|
c49bfe98716d
Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents:
31328
diff
changeset
|
27 | print("const char *dbus_signals = ") |
|
27568
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
28 | for match in registerregex.finditer(sys.stdin.read()): |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
29 | signal = match.group(1) |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
30 | marshal = match.group(2) |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
31 | if signal in excluded: |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
32 | continue |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
33 | |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
34 | signal = nameregex.sub(lambda x:x.group()[1].upper(), '-'+signal) |
|
33932
c49bfe98716d
Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents:
31328
diff
changeset
|
35 | print("\" <signal name='%s'>\\n\"" % signal) |
|
27568
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
36 | |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
37 | args = marshal.split('_') |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
38 | # ['purple', 'marshal', <return type>, '', args...] |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
39 | if len(args) > 4: |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
40 | for arg in args[4:]: |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
41 | if arg == "POINTER": |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
42 | type = 'p' |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
43 | elif arg == "ENUM": |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
44 | type = 'i' |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
45 | elif arg == "INT": |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
46 | type = 'i' |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
47 | elif arg == "UINT": |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
48 | type = 'u' |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
49 | elif arg == "INT64": |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
50 | type = 'x' |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
51 | elif arg == "UINT64": |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
52 | type = 't' |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
53 | elif arg == "BOOLEAN": |
|
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
54 | type = 'b' |
|
33932
c49bfe98716d
Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents:
31328
diff
changeset
|
55 | print("\" <arg type='%s'/>\\n\"" % type) |
|
27568
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
56 | |
|
33932
c49bfe98716d
Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents:
31328
diff
changeset
|
57 | print("\" </signal>\\n\"") |
|
27568
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
58 | |
|
33932
c49bfe98716d
Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents:
31328
diff
changeset
|
59 | print(";") |
|
27568
437768598637
Add auto-generated D-Bus signals introspection, though parameter names
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
60 |