Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
1 | import re |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
2 | import string |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
3 | import sys |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
4 | |
|
11331
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
5 | # types translated into "int" |
|
18200
2cec4693b70a
Treat some more types as simple types. This allows exporting some useful
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18190
diff
changeset
|
6 | simpletypes = ["int", "gint", "guint", "gboolean", "gpointer", "size_t", "gssize", "time_t"] |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
7 | |
|
11331
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
8 | # List "excluded" contains functions that shouldn't be exported via |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
9 | # DBus. If you remove a function from this list, please make sure |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
10 | # that it does not break "make" with the configure option |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
11 | # "--enable-dbus" turned on. |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
12 | |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
13 | excluded = [\ |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
14 | # I don't remember why this function is excluded; something to do |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
15 | # with the fact that it takes a (const) GList as a parameter. |
| 15884 | 16 | "purple_presence_add_list", |
|
11331
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
17 | |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
18 | # These functions are excluded because they involve value of the |
| 15884 | 19 | # type PurpleConvPlacementFunc, which is a pointer to a function and |
|
11331
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
20 | # (currently?) can't be translated into a DBus type. Normally, |
|
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
21 | # functions with untranslatable types are skipped, but this script |
| 15884 | 22 | # assumes that all non-pointer type names beginning with "Purple" |
|
11331
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
23 | # are enums, which is not true in this case. |
| 15884 | 24 | "purple_conv_placement_add_fnc", |
| 25 | "purple_conv_placement_get_fnc", | |
| 26 | "purple_conv_placement_get_current_func", | |
| 27 | "purple_conv_placement_set_current_func", | |
|
13777
13cf61b2d570
[gaim-migrate @ 16187]
Richard Laager <rlaager@pidgin.im>
parents:
13592
diff
changeset
|
28 | |
|
19910
411a13fc7b88
Work around a problem so --enable-dbus will build again.
Richard Laager <rlaager@pidgin.im>
parents:
19595
diff
changeset
|
29 | # Similar to the above: |
|
411a13fc7b88
Work around a problem so --enable-dbus will build again.
Richard Laager <rlaager@pidgin.im>
parents:
19595
diff
changeset
|
30 | "purple_account_set_register_callback", |
|
411a13fc7b88
Work around a problem so --enable-dbus will build again.
Richard Laager <rlaager@pidgin.im>
parents:
19595
diff
changeset
|
31 | "purple_account_unregister", |
|
411a13fc7b88
Work around a problem so --enable-dbus will build again.
Richard Laager <rlaager@pidgin.im>
parents:
19595
diff
changeset
|
32 | "purple_connection_new_unregister", |
|
411a13fc7b88
Work around a problem so --enable-dbus will build again.
Richard Laager <rlaager@pidgin.im>
parents:
19595
diff
changeset
|
33 | |
|
27088
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
34 | # These functions are excluded because they involve setting arbitrary |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
35 | # data via pointers for protocols and UIs. This just won't work. |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
36 | "purple_blist_get_ui_data", |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
37 | "purple_blist_set_ui_data", |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
38 | "purple_blist_node_get_ui_data", |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
39 | "purple_blist_node_set_ui_data", |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
40 | "purple_buddy_get_protocol_data", |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
41 | "purple_buddy_set_protocol_data", |
|
8c9a8a0692be
Exclude some get/set UI/protocol data functions from dbus. I don't see how these could function properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
25549
diff
changeset
|
42 | |
| 15884 | 43 | # This is excluded because this script treats PurpleLogReadFlags* |
|
13777
13cf61b2d570
[gaim-migrate @ 16187]
Richard Laager <rlaager@pidgin.im>
parents:
13592
diff
changeset
|
44 | # as pointer to a struct, instead of a pointer to an enum. This |
|
13cf61b2d570
[gaim-migrate @ 16187]
Richard Laager <rlaager@pidgin.im>
parents:
13592
diff
changeset
|
45 | # causes a compilation error. Someone should fix this script. |
| 15884 | 46 | "purple_log_read", |
|
11331
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11328
diff
changeset
|
47 | ] |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
48 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
49 | # This is a list of functions that return a GList* or GSList * whose elements |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
50 | # are strings, not pointers to objects. |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
51 | stringlists = [ |
|
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
52 | "purple_prefs_get_path_list", |
|
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
53 | "purple_prefs_get_string_list", |
|
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
54 | "purple_uri_list_extract_filenames", |
|
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
55 | "purple_uri_list_extract_uris", |
|
19363
6e3560ac5998
Make sure dbus doesn't leak in purple_prefs_get_children_names.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18218
diff
changeset
|
56 | "purple_prefs_get_children_names", |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
57 | ] |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
58 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
59 | # This is a list of functions that return a GList* or GSList* that should |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
60 | # not be freed. Ideally, this information should be obtained from the Doxygen |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
61 | # documentation at some point. |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
62 | constlists = [ |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
63 | "purple_account_get_status_types", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
64 | "purple_accounts_get_all", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
65 | "purple_account_option_get_list", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
66 | "purple_connections_get_all", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
67 | "purple_connections_get_connecting", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
68 | "purple_get_conversations", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
69 | "purple_get_ims", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
70 | "purple_get_chats", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
71 | "purple_conv_chat_get_users", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
72 | "purple_conv_chat_get_ignored", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
73 | "purple_mime_document_get_fields", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
74 | "purple_mime_document_get_parts", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
75 | "purple_mime_part_get_fields", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
76 | "purple_notify_user_info_get_entries", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
77 | "purple_request_fields_get_required", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
78 | "purple_request_field_list_get_selected", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
79 | "purple_request_field_list_get_items", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
80 | "purple_savedstatuses_get_all", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
81 | "purple_status_type_get_attrs", |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
82 | "purple_presence_get_statuses", |
|
19595
acd61f0d6a81
DBus-ify the message history in a conversation.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19363
diff
changeset
|
83 | "purple_conversation_get_message_history", |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
84 | ] |
|
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
85 | |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
86 | pointer = "#pointer#" |
|
20289
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19910
diff
changeset
|
87 | |
|
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19910
diff
changeset
|
88 | class MyException(Exception): |
|
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19910
diff
changeset
|
89 | pass |
|
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19910
diff
changeset
|
90 | |
|
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19910
diff
changeset
|
91 | myexception = MyException() |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
92 | |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
93 | def ctopascal(name): |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
94 | newname = "" |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
95 | for word in name.split("_"): |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
96 | newname += word.capitalize() |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
97 | return newname |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
98 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
99 | class Parameter: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
100 | def __init__(self, type, name): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
101 | self.name = name |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
102 | self.type = type |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
103 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
104 | def fromtokens(tokens, parameternumber = -1): |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11175
diff
changeset
|
105 | if len(tokens) == 0: |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
106 | raise myexception |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11175
diff
changeset
|
107 | if (len(tokens) == 1) or (tokens[-1] == pointer): |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
108 | if parameternumber >= 0: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
109 | return Parameter(tokens, "param%i" % parameternumber) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
110 | else: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
111 | raise myexception |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11175
diff
changeset
|
112 | else: |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
113 | return Parameter(tokens[:-1], tokens[-1]) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
114 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
115 | fromtokens = staticmethod(fromtokens) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
116 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
117 | class Binding: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
118 | def __init__(self, functiontext, paramtexts): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
119 | self.function = Parameter.fromtokens(functiontext.split()) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
120 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
121 | if self.function.name in excluded: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
122 | raise myexception |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
123 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
124 | self.params = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
125 | for i in range(len(paramtexts)): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
126 | self.params.append(Parameter.fromtokens(paramtexts[i].split(), i)) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
127 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
128 | self.call = "%s(%s)" % (self.function.name, |
|
25468
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
129 | ", ".join(param.name for param in self.params)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
130 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
131 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
132 | def process(self): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
133 | for param in self.params: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
134 | self.processinput(param.type, param.name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
135 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
136 | self.processoutput(self.function.type, "RESULT") |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
137 | self.flush() |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
138 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
139 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
140 | def processinput(self, type, name): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
141 | const = False |
|
18210
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
142 | unsigned = False |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
143 | if type[0] == "const": |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
144 | type = type[1:] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
145 | const = True |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
146 | |
|
18210
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
147 | if type[0] == "unsigned": |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
148 | type = type[1:] |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
149 | unsigned = True |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
150 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
151 | if len(type) == 1: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
152 | # simple types (int, gboolean, etc.) and enums |
|
17113
bdedaa55b16b
Callbacks are not supported for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16839
diff
changeset
|
153 | if (type[0] in simpletypes) or ((type[0].startswith("Purple") and not type[0].endswith("Callback"))): |
|
18210
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
154 | return self.inputsimple(type, name, unsigned) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
155 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
156 | # pointers ... |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
157 | if (len(type) == 2) and (type[1] == pointer): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
158 | # strings |
|
16839
94674eff937a
gchar returning functions should also be exposed for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15884
diff
changeset
|
159 | if type[0] in ["char", "gchar"]: |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
160 | if const: |
|
18218
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
161 | return self.inputstring(type, name, unsigned) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
162 | else: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
163 | raise myexception |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
164 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
165 | elif type[0] == "GHashTable": |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
166 | return self.inputhash(type, name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
167 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
168 | # known object types are transformed to integer handles |
| 15884 | 169 | elif type[0].startswith("Purple") or type[0] == "xmlnode": |
| 170 | return self.inputpurplestructure(type, name) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
171 | |
|
25468
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
172 | # special case for *_get_data functions, be careful here... |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
173 | elif (type[0] == "size_t") and (name == "len"): |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
174 | return self.inputgetdata(type, name) |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
175 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
176 | # unknown pointers are always replaced with NULL |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
177 | else: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
178 | return self.inputpointer(type, name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
179 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
180 | raise myexception |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
181 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
182 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
183 | def processoutput(self, type, name): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
184 | # the "void" type is simple ... |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
185 | if type == ["void"]: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
186 | return self.outputvoid(type, name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
187 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
188 | const = False |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
189 | if type[0] == "const": |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
190 | type = type[1:] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
191 | const = True |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
192 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
193 | # a string |
|
16839
94674eff937a
gchar returning functions should also be exposed for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15884
diff
changeset
|
194 | if type == ["char", pointer] or type == ["gchar", pointer]: |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
195 | return self.outputstring(type, name, const) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
196 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
197 | # simple types (ints, booleans, enums, ...) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
198 | if (len(type) == 1) and \ |
| 15884 | 199 | ((type[0] in simpletypes) or (type[0].startswith("Purple"))): |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
200 | return self.outputsimple(type, name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
201 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
202 | # pointers ... |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
203 | if (len(type) == 2) and (type[1] == pointer): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
204 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
205 | # handles |
| 15884 | 206 | if type[0].startswith("Purple"): |
| 207 | return self.outputpurplestructure(type, name) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
208 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
209 | if type[0] in ["GList", "GSList"]: |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
210 | return self.outputlist(type, name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
211 | |
|
25468
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
212 | # Special case for *_get_data functions |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
213 | if type[0] == "gconstpointer": |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
214 | return self.outputgetdata(type, name) |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
215 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
216 | raise myexception |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
217 | |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
218 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
219 | class ClientBinding (Binding): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
220 | def __init__(self, functiontext, paramtexts, knowntypes, headersonly): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
221 | Binding.__init__(self, functiontext, paramtexts) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
222 | self.knowntypes = knowntypes |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
223 | self.headersonly = headersonly |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
224 | self.paramshdr = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
225 | self.decls = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
226 | self.inputparams = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
227 | self.outputparams = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
228 | self.returncode = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
229 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
230 | def flush(self): |
| 17622 | 231 | paramslist = ", ".join(self.paramshdr) |
| 232 | if (paramslist == "") : | |
| 233 | paramslist = "void" | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
234 | print "%s %s(%s)" % (self.functiontype, self.function.name, |
|
17457
1e19ef46b296
Part of a patch from o_sukhodolsky.
Richard Laager <rlaager@pidgin.im>
parents:
17113
diff
changeset
|
235 | paramslist), |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
236 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
237 | if self.headersonly: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
238 | print ";" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
239 | return |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
240 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
241 | print "{" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
242 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
243 | for decl in self.decls: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
244 | print decl |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
245 | |
| 15884 | 246 | print 'dbus_g_proxy_call(purple_proxy, "%s", NULL,' % ctopascal(self.function.name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
247 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
248 | for type_name in self.inputparams: |
| 13592 | 249 | print "\t%s, %s, " % type_name, |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
250 | print "G_TYPE_INVALID," |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
251 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
252 | for type_name in self.outputparams: |
| 13592 | 253 | print "\t%s, &%s, " % type_name, |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
254 | print "G_TYPE_INVALID);" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
255 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
256 | for code in self.returncode: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
257 | print code |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
258 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
259 | print "}\n" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
260 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
261 | |
| 15884 | 262 | def definepurplestructure(self, type): |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
263 | if (self.headersonly) and (type[0] not in self.knowntypes): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
264 | print "struct _%s;" % type[0] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
265 | print "typedef struct _%s %s;" % (type[0], type[0]) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
266 | self.knowntypes.append(type[0]) |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
267 | |
|
18210
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
268 | def inputsimple(self, type, name, us): |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
269 | self.paramshdr.append("%s %s" % (type[0], name)) |
|
18210
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
270 | if us: |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
271 | self.inputparams.append(("G_TYPE_UINT", name)) |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
272 | else: |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
273 | self.inputparams.append(("G_TYPE_INT", name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
274 | |
|
18218
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
275 | def inputstring(self, type, name, us): |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
276 | if us: |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
277 | self.paramshdr.append("const unsigned char *%s" % name) |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
278 | else: |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
279 | self.paramshdr.append("const char *%s" % name) |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
280 | self.inputparams.append(("G_TYPE_STRING", name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
281 | |
| 15884 | 282 | def inputpurplestructure(self, type, name): |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
283 | self.paramshdr.append("const %s *%s" % (type[0], name)) |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
284 | self.inputparams.append(("G_TYPE_INT", "GPOINTER_TO_INT(%s)" % name)) |
| 15884 | 285 | self.definepurplestructure(type) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
286 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
287 | def inputpointer(self, type, name): |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
288 | name += "_NULL" |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
289 | self.paramshdr.append("const %s *%s" % (type[0], name)) |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
290 | self.inputparams.append(("G_TYPE_INT", "0")) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
291 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
292 | def inputhash(self, type, name): |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
293 | self.paramshdr.append("const GHashTable *%s" % name) |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
294 | self.inputparams.append(('dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_STRING)', name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
295 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
296 | def outputvoid(self, type, name): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
297 | self.functiontype = "void" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
298 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
299 | def outputstring(self, type, name, const): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
300 | self.functiontype = "char*" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
301 | self.decls.append("char *%s = NULL;" % name) |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
302 | self.outputparams.append(("G_TYPE_STRING", name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
303 | # self.returncode.append("NULLIFY(%s);" % name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
304 | self.returncode.append("return %s;" % name); |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
305 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
306 | def outputsimple(self, type, name): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
307 | self.functiontype = type[0] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
308 | self.decls.append("%s %s = 0;" % (type[0], name)) |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
309 | self.outputparams.append(("G_TYPE_INT", name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
310 | self.returncode.append("return %s;" % name); |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
311 | |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
312 | # we could add "const" to the return type but this would probably |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
313 | # be a nuisance |
| 15884 | 314 | def outputpurplestructure(self, type, name): |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
315 | name = name + "_ID" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
316 | self.functiontype = "%s*" % type[0] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
317 | self.decls.append("int %s = 0;" % name) |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
318 | self.outputparams.append(("G_TYPE_INT", "%s" % name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
319 | self.returncode.append("return (%s*) GINT_TO_POINTER(%s);" % (type[0], name)); |
| 15884 | 320 | self.definepurplestructure(type) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
321 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
322 | def outputlist(self, type, name): |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
323 | self.functiontype = "%s*" % type[0] |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
324 | self.decls.append("GArray *%s;" % name) |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
325 | self.outputparams.append(('dbus_g_type_get_collection("GArray", G_TYPE_INT)', name)) |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
326 | self.returncode.append("return garray_int_to_%s(%s);" % |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
327 | (type[0].lower(), name)); |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
328 | |
|
25468
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
329 | # Special case for *_get_data functions, don't need client bindings, |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
330 | # but do need the name so it doesn't crash |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
331 | def inputgetdata(self, type, name): |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
332 | raise myexception |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
333 | def outputgetdata(self, type, name): |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
334 | raise myexception |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
335 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
336 | class ServerBinding (Binding): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
337 | def __init__(self, functiontext, paramtexts): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
338 | Binding.__init__(self, functiontext, paramtexts) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
339 | self.dparams = "" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
340 | self.cparams = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
341 | self.cdecls = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
342 | self.ccode = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
343 | self.cparamsout = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
344 | self.ccodeout = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
345 | self.argfunc = "dbus_message_get_args" |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
346 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
347 | def flush(self): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
348 | print "static DBusMessage*" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
349 | print "%s_DBUS(DBusMessage *message_DBUS, DBusError *error_DBUS) {" % \ |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
350 | self.function.name |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
351 | |
| 13592 | 352 | print "\tDBusMessage *reply_DBUS;" |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
353 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
354 | for decl in self.cdecls: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
355 | print decl |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
356 | |
| 17622 | 357 | print "\t%s(message_DBUS, error_DBUS," % self.argfunc, |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
358 | for param in self.cparams: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
359 | print "DBUS_TYPE_%s, &%s," % param, |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
360 | print "DBUS_TYPE_INVALID);" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
361 | |
| 13592 | 362 | print "\tCHECK_ERROR(error_DBUS);" |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
363 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
364 | for code in self.ccode: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
365 | print code |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
366 | |
| 17622 | 367 | print "\treply_DBUS = dbus_message_new_method_return (message_DBUS);" |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
368 | |
| 17622 | 369 | print "\tdbus_message_append_args(reply_DBUS,", |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
370 | for param in self.cparamsout: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
371 | if type(param) is str: |
|
18189
1ea8813eabce
Fix some weird whitespace in the output.
Richard Laager <rlaager@pidgin.im>
parents:
18123
diff
changeset
|
372 | print "%s," % param, |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
373 | else: |
| 17622 | 374 | print "DBUS_TYPE_%s, &%s," % param, |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
375 | print "DBUS_TYPE_INVALID);" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
376 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
377 | for code in self.ccodeout: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
378 | print code |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
379 | |
| 13592 | 380 | print "\treturn reply_DBUS;\n}\n" |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
381 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
382 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
383 | def addstring(self, *items): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
384 | for item in items: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
385 | self.dparams += item + r"\0" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
386 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
387 | def addintype(self, type, name): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
388 | self.addstring("in", type, name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
389 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
390 | def addouttype(self, type, name): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
391 | self.addstring("out", type, name) |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
392 | |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
393 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
394 | # input parameters |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
395 | |
|
18210
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
396 | def inputsimple(self, type, name, us): |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
397 | if us: |
|
24601
6e277cdcdcaf
A patch from Math2Gold to fix the dbus-analyze-functions script to properly
Richard Laager <rlaager@pidgin.im>
parents:
23021
diff
changeset
|
398 | self.cdecls.append("\tdbus_uint32_t %s;" % name) |
|
6e277cdcdcaf
A patch from Math2Gold to fix the dbus-analyze-functions script to properly
Richard Laager <rlaager@pidgin.im>
parents:
23021
diff
changeset
|
399 | self.cparams.append(("UINT32", name)) |
|
6e277cdcdcaf
A patch from Math2Gold to fix the dbus-analyze-functions script to properly
Richard Laager <rlaager@pidgin.im>
parents:
23021
diff
changeset
|
400 | self.addintype("u", name) |
|
6e277cdcdcaf
A patch from Math2Gold to fix the dbus-analyze-functions script to properly
Richard Laager <rlaager@pidgin.im>
parents:
23021
diff
changeset
|
401 | else: |
|
18210
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
402 | self.cdecls.append("\tdbus_int32_t %s;" % name) |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
403 | self.cparams.append(("INT32", name)) |
|
c87e9d6d2cab
Process unsigned ints for dbus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18200
diff
changeset
|
404 | self.addintype("i", name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
405 | |
|
18218
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
406 | def inputstring(self, type, name, us): |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
407 | if us: |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
408 | self.cdecls.append("\tconst unsigned char *%s;" % name) |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
409 | else: |
|
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
410 | self.cdecls.append("\tconst char *%s;" % name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
411 | self.cparams.append(("STRING", name)) |
|
18218
4b4b2bbf88a3
Remove the warning about signedness.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18210
diff
changeset
|
412 | self.ccode.append("\t%s = (%s && %s[0]) ? %s : NULL;" % (name,name,name,name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
413 | self.addintype("s", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
414 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
415 | def inputhash(self, type, name): |
| 15884 | 416 | self.argfunc = "purple_dbus_message_get_args" |
| 13592 | 417 | self.cdecls.append("\tDBusMessageIter %s_ITER;" % name) |
| 418 | self.cdecls.append("\tGHashTable *%s;" % name) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
419 | self.cparams.append(("ARRAY", "%s_ITER" % name)) |
| 15884 | 420 | self.ccode.append("\t%s = purple_dbus_iter_hash_table(&%s_ITER, error_DBUS);" \ |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
421 | % (name, name)) |
| 13592 | 422 | self.ccode.append("\tCHECK_ERROR(error_DBUS);") |
| 423 | self.ccodeout.append("\tg_hash_table_destroy(%s);" % name) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
424 | self.addintype("a{ss}", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
425 | |
| 15884 | 426 | def inputpurplestructure(self, type, name): |
| 13592 | 427 | self.cdecls.append("\tdbus_int32_t %s_ID;" % name) |
| 428 | self.cdecls.append("\t%s *%s;" % (type[0], name)) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
429 | self.cparams.append(("INT32", name + "_ID")) |
| 15884 | 430 | self.ccode.append("\tPURPLE_DBUS_ID_TO_POINTER(%s, %s_ID, %s, error_DBUS);" % \ |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
431 | (name, name, type[0])) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
432 | self.addintype("i", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
433 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
434 | def inputpointer(self, type, name): |
| 13592 | 435 | self.cdecls.append("\tdbus_int32_t %s_NULL;" % name) |
| 436 | self.cdecls .append("\t%s *%s;" % (type[0], name)) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
437 | self.cparams.append(("INT32", name + "_NULL")) |
| 13592 | 438 | self.ccode .append("\t%s = NULL;" % name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
439 | self.addintype("i", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
440 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
441 | # output parameters |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
442 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
443 | def outputvoid(self, type, name): |
| 13592 | 444 | self.ccode.append("\t%s;" % self.call) # just call the function |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
445 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
446 | def outputstring(self, type, name, const): |
|
17517
e8b6365e5e30
The DBus bindings have a lot of warnings about calling g_free() on a
Richard Laager <rlaager@pidgin.im>
parents:
17457
diff
changeset
|
447 | if const: |
|
e8b6365e5e30
The DBus bindings have a lot of warnings about calling g_free() on a
Richard Laager <rlaager@pidgin.im>
parents:
17457
diff
changeset
|
448 | self.cdecls.append("\tconst char *%s;" % name) |
|
e8b6365e5e30
The DBus bindings have a lot of warnings about calling g_free() on a
Richard Laager <rlaager@pidgin.im>
parents:
17457
diff
changeset
|
449 | else: |
|
e8b6365e5e30
The DBus bindings have a lot of warnings about calling g_free() on a
Richard Laager <rlaager@pidgin.im>
parents:
17457
diff
changeset
|
450 | self.cdecls.append("\tchar *%s;" % name) |
|
17518
2918801604c9
Now fix warnings from null_to_empty()'s constness.
Richard Laager <rlaager@pidgin.im>
parents:
17517
diff
changeset
|
451 | self.ccode.append("\tif ((%s = %s) == NULL)" % (name, self.call)) |
|
2918801604c9
Now fix warnings from null_to_empty()'s constness.
Richard Laager <rlaager@pidgin.im>
parents:
17517
diff
changeset
|
452 | self.ccode.append("\t\t%s = \"\";" % (name)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
453 | self.cparamsout.append(("STRING", name)) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
454 | self.addouttype("s", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
455 | if not const: |
| 13592 | 456 | self.ccodeout.append("\tg_free(%s);" % name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
457 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
458 | def outputsimple(self, type, name): |
| 13592 | 459 | self.cdecls.append("\tdbus_int32_t %s;" % name) |
| 460 | self.ccode.append("\t%s = %s;" % (name, self.call)) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
461 | self.cparamsout.append(("INT32", name)) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
462 | self.addouttype("i", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
463 | |
| 15884 | 464 | def outputpurplestructure(self, type, name): |
| 13592 | 465 | self.cdecls.append("\tdbus_int32_t %s;" % name) |
| 15884 | 466 | self.ccode .append("\tPURPLE_DBUS_POINTER_TO_ID(%s, %s, error_DBUS);" % (name, self.call)) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
467 | self.cparamsout.append(("INT32", name)) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
468 | self.addouttype("i", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
469 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
470 | # GList*, GSList*, assume that list is a list of objects |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
471 | # unless the function is in stringlists |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
472 | def outputlist(self, type, name): |
| 13592 | 473 | self.cdecls.append("\tdbus_int32_t %s_LEN;" % name) |
| 474 | self.ccodeout.append("\tg_free(%s);" % name) | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
475 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
476 | self.cdecls.append("\t%s *list;" % type[0]); |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
477 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
478 | if self.function.name in stringlists: |
| 13592 | 479 | self.cdecls.append("\tchar **%s;" % name) |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
480 | self.ccode.append("\tlist = %s;" % self.call) |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
481 | self.ccode.append("\t%s = (char **)purple_%s_to_array(list, FALSE, &%s_LEN);" % \ |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
482 | (name, type[0], name)) |
|
18189
1ea8813eabce
Fix some weird whitespace in the output.
Richard Laager <rlaager@pidgin.im>
parents:
18123
diff
changeset
|
483 | self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &%s, %s_LEN" \ |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
484 | % (name, name)) |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
485 | if (not (self.function.name in constlists)): |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
486 | type_name = type[0].lower()[1:] |
|
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
487 | self.ccodeout.append("\tg_%s_foreach(list, (GFunc)g_free, NULL);" % type_name) |
|
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
488 | self.ccodeout.append("\tg_%s_free(list);" % type_name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
489 | self.addouttype("as", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
490 | else: |
| 13592 | 491 | self.cdecls.append("\tdbus_int32_t *%s;" % name) |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
492 | self.ccode.append("\tlist = %s;" % self.call) |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
493 | self.ccode.append("\t%s = purple_dbusify_%s(list, FALSE, &%s_LEN);" % \ |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
494 | (name, type[0], name)) |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18189
diff
changeset
|
495 | if (not (self.function.name in constlists)): |
|
18123
360ed0af66ed
Lots of DBus list handling changes. The objective here was to eliminate a
Richard Laager <rlaager@pidgin.im>
parents:
17622
diff
changeset
|
496 | self.ccode.append("\tg_%s_free(list);" % type[0].lower()[1:]) |
|
18189
1ea8813eabce
Fix some weird whitespace in the output.
Richard Laager <rlaager@pidgin.im>
parents:
18123
diff
changeset
|
497 | self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &%s, %s_LEN" \ |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
498 | % (name, name)) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
499 | self.addouttype("ai", name) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
500 | |
|
25468
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
501 | # Special case for *_get_data functions |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
502 | def inputgetdata(self, type, name): |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
503 | self.cdecls.append("\tsize_t %s = 0;" % name) |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
504 | return True |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
505 | def outputgetdata(self, type, name): |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
506 | # This is a total hack, but self.call is set up before the parameters |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
507 | # are processed, so we can't tell it to pass a parameter by reference. |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
508 | self.call = "%s(%s)" % (self.function.name, |
|
25549
7aa0027612b8
*** Plucked rev 8e8959be (sadrul@pidgin.im):
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25468
diff
changeset
|
509 | ", ".join([(param.name, "&len")[param.name == "len"] for param in self.params])) |
|
25468
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
510 | |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
511 | self.cdecls.append("\tgconstpointer %s;" % name) |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
512 | self.ccode.append("\t%s = %s;" % (name, self.call)) |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
513 | self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE, &%s, %s" \ |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
514 | % (name, "len")) |
|
869183ecefcb
Add special handling to the Python D-Bus parsing code for the *_get_data
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24601
diff
changeset
|
515 | self.addouttype("ay", name) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
516 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
517 | class BindingSet: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
518 | regexp = r"^(\w[^()]*)\(([^()]*)\)\s*;\s*$"; |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
519 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
520 | def __init__(self, inputfile, fprefix): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
521 | self.inputiter = iter(inputfile) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
522 | self.functionregexp = \ |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
523 | re.compile("^%s(\w[^()]*)\(([^()]*)\)\s*;\s*$" % fprefix) |
|
23021
a3e1236b6093
Update the dbus-analyze script to deal with multiline function
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22200
diff
changeset
|
524 | self.typeregexp = re.compile("^\w+\s*\*?\s*$") |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
525 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
526 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
527 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
528 | def process(self): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
529 | print "/* Generated by %s. Do not edit! */" % sys.argv[0] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
530 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
531 | for line in self.inputiter: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
532 | words = line.split() |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
533 | if len(words) == 0: # empty line |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
534 | continue |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
535 | if line[0] == "#": # preprocessor directive |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
536 | continue |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
537 | if words[0] in ["typedef", "struct", "enum", "static"]: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
538 | continue |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
539 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
540 | # accumulate lines until the parentheses are balance or an |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
541 | # empty line has been encountered |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
542 | myline = line.strip() |
|
23021
a3e1236b6093
Update the dbus-analyze script to deal with multiline function
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22200
diff
changeset
|
543 | while (myline.count("(") > myline.count(")")) or self.typeregexp.match(myline): |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
544 | newline = self.inputiter.next().strip() |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
545 | if len(newline) == 0: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
546 | break |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
547 | myline += " " + newline |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
548 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
549 | # is this a function declaration? |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
550 | thematch = self.functionregexp.match( |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
551 | myline.replace("*", " " + pointer + " ")) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
552 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
553 | if thematch is None: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
554 | continue |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
555 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
556 | functiontext = thematch.group(1) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
557 | paramstext = thematch.group(2).strip() |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
558 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
559 | if (paramstext == "void") or (paramstext == ""): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
560 | paramtexts = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
561 | else: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
562 | paramtexts = paramstext.split(",") |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
563 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
564 | try: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
565 | self.processfunction(functiontext, paramtexts) |
|
20289
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19910
diff
changeset
|
566 | except MyException: |
|
22200
a1756759e59c
Disable the DBus "Functions not exported" list. It's huge and buries the
Richard Laager <rlaager@pidgin.im>
parents:
20289
diff
changeset
|
567 | # sys.stderr.write(myline + "\n") |
|
a1756759e59c
Disable the DBus "Functions not exported" list. It's huge and buries the
Richard Laager <rlaager@pidgin.im>
parents:
20289
diff
changeset
|
568 | pass |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
569 | except: |
|
22200
a1756759e59c
Disable the DBus "Functions not exported" list. It's huge and buries the
Richard Laager <rlaager@pidgin.im>
parents:
20289
diff
changeset
|
570 | # sys.stderr.write(myline + "\n") |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
571 | raise |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
572 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
573 | self.flush() |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
574 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
575 | class ServerBindingSet (BindingSet): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
576 | def __init__(self, inputfile, fprefix): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
577 | BindingSet.__init__(self, inputfile, fprefix) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
578 | self.functions = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
579 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
580 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
581 | def processfunction(self, functiontext, paramtexts): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
582 | binding = ServerBinding(functiontext, paramtexts) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
583 | binding.process() |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
584 | self.functions.append((binding.function.name, binding.dparams)) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
585 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
586 | def flush(self): |
| 15884 | 587 | print "static PurpleDBusBinding bindings_DBUS[] = { " |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
588 | for function, params in self.functions: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
589 | print '{"%s", "%s", %s_DBUS},' % \ |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
590 | (ctopascal(function), params, function) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
591 | |
|
12627
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12051
diff
changeset
|
592 | print "{NULL, NULL, NULL}" |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
593 | print "};" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
594 | |
| 15884 | 595 | print "#define PURPLE_DBUS_REGISTER_BINDINGS(handle) purple_dbus_register_bindings(handle, bindings_DBUS)" |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
596 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
597 | class ClientBindingSet (BindingSet): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
598 | def __init__(self, inputfile, fprefix, headersonly): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
599 | BindingSet.__init__(self, inputfile, fprefix) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
600 | self.functions = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
601 | self.knowntypes = [] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
602 | self.headersonly = headersonly |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
603 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
604 | def processfunction(self, functiontext, paramtexts): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
605 | binding = ClientBinding(functiontext, paramtexts, self.knowntypes, self.headersonly) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
606 | binding.process() |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
607 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
608 | def flush(self): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
609 | pass |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
610 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
611 | # Main program |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
612 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
613 | options = {} |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
614 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
615 | for arg in sys.argv[1:]: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
616 | if arg[0:2] == "--": |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
617 | mylist = arg[2:].split("=",1) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
618 | command = mylist[0] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
619 | if len(mylist) > 1: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
620 | options[command] = mylist[1] |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
621 | else: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
622 | options[command] = None |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
623 | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
624 | if "export-only" in options: |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
625 | fprefix = "DBUS_EXPORT\s+" |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
626 | else: |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
627 | fprefix = "" |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
628 | |
|
22200
a1756759e59c
Disable the DBus "Functions not exported" list. It's huge and buries the
Richard Laager <rlaager@pidgin.im>
parents:
20289
diff
changeset
|
629 | #sys.stderr.write("%s: Functions not exported:\n" % sys.argv[0]) |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
630 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
631 | if "client" in options: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
632 | bindings = ClientBindingSet(sys.stdin, fprefix, |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
633 | options.has_key("headers")) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
634 | else: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
635 | bindings = ServerBindingSet(sys.stdin, fprefix) |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
636 | bindings.process() |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
637 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
638 | |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
639 | |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
640 |