X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=generate-binding-glue.py;h=177b8c2989e95d07a07ecba6c7d7e197a913b03d;hb=956fb5f4190b26ada131a805b4cc5b97b450477f;hp=db0b546138e9507d600342a0dd8119298ea64049;hpb=6b648180458e9625e1f700962537c3d4e501f6cc;p=staging%2Fwindowmanager.git diff --git a/generate-binding-glue.py b/generate-binding-glue.py index db0b546..177b8c2 100644 --- a/generate-binding-glue.py +++ b/generate-binding-glue.py @@ -49,7 +49,7 @@ 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 guard(binding_m);') + p(' std::lock_guard guard(binding_m);') p(' #ifdef ST') p(' ST();') p(' #endif') @@ -73,7 +73,8 @@ def emit_afb_verbs(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', '') @@ -95,7 +96,7 @@ def emit_afb_api(api): 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 @@ -105,20 +106,20 @@ API = { 'api': 'g_afb_instance->app.api.', # where are our API functions 'functions': [ { - 'name': 'request_surface', + 'name': 'requestsurface', #'return_type': 'int', # Or do they return all just some json? 'args': [ # describes the functions arguments, and their names as found in the json request { 'name': 'drawing_name', 'type': 'char const*', 'jtype': 'string' }, ], }, { - 'name': 'activate_surface', + 'name': 'activatesurface', 'args': [ { 'name': 'drawing_name', 'type': 'char const*', 'jtype': 'string' }, ], }, { - 'name': 'deactivate_surface', + 'name': 'deactivatesurface', 'args': [ { 'name': 'drawing_name', 'type': 'char const*', 'jtype': 'string' }, ],