Code Review
/
staging
/
windowmanager.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
app: emit syncdraw and flushdraw events
[staging/windowmanager.git]
/
generate-binding-glue.py
diff --git
a/generate-binding-glue.py
b/generate-binding-glue.py
index
82f71ae
..
4791b4d
100644
(file)
--- a/
generate-binding-glue.py
+++ b/
generate-binding-glue.py
@@
-50,6
+50,9
@@
def emit_func_impl(api, f):
def emit_func(api, f):
p('void %(impl_name)s(afb_req req) noexcept {' % f)
p(' std::lock_guard<std::mutex> guard(binding_m);')
def emit_func(api, f):
p('void %(impl_name)s(afb_req req) noexcept {' % f)
p(' std::lock_guard<std::mutex> guard(binding_m);')
+ p(' #ifdef ST')
+ p(' ST();')
+ p(' #endif')
p(' if (g_afb_instance == nullptr) {',
' afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");',
' return;',
p(' if (g_afb_instance == nullptr) {',
' afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");',
' return;',
@@
-70,7
+73,8
@@
def emit_afb_verbs(api):
p(' {}', '};')
def emit_binding(api):
p(' {}', '};')
def emit_binding(api):
- p('namespace {', '')
+ p('namespace {')
+ p('std::mutex binding_m;', '')
for func in api['functions']:
emit_func(api, func)
p('} // namespace', '')
for func in api['functions']:
emit_func(api, func)
p('} // namespace', '')
@@
-88,11
+92,11
@@
def emit_afb_api(api):
p('struct binding_api {')
p(' typedef wm::result<json_object *> result_type;')
p(' struct wm::App *app;')
p('struct binding_api {')
p(' typedef wm::result<json_object *> result_type;')
p(' struct wm::App *app;')
- p(' void send_event(char const *evname,
json_object *payload
);')
+ p(' void send_event(char const *evname,
char const *label
);')
for f in api['functions']:
p(' result_type %(name)s(' % f + ', '.join(map(lambda x: '%(type)s %(name)s' % x, f.get('args', []))) + ');')
p('};', '')
for f in api['functions']:
p(' result_type %(name)s(' % f + ', '.join(map(lambda x: '%(type)s %(name)s' % x, f.get('args', []))) + ');')
p('};', '')
- p('} // namespace wm')
+ p('} // namespace wm'
, ''
)
# names must always be valid in c and unique for each function (that is its arguments)
# arguments will be looked up from json request, range checking needs to be implemented
# names must always be valid in c and unique for each function (that is its arguments)
# arguments will be looked up from json request, range checking needs to be implemented
@@
-127,12
+131,7
@@
API = {
],
},
{ 'name': 'list_drawing_names', },
],
},
{ 'name': 'list_drawing_names', },
- {
- 'name': 'demo_activate_surface',
- 'args': [ { 'name': 'surfaceid', 'type': 'uint32_t', 'jtype': 'int' } ]
- },
-
- { 'name': 'demo_activate_all' },
+ { 'name': 'ping' },
{ 'name': 'debug_status', },
{ 'name': 'debug_layers', },
{ 'name': 'debug_status', },
{ 'name': 'debug_layers', },