From 8766fcfdce4dd864fe6764b063a0f9a4b17327c1 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 1 Jul 2023 18:57:37 +0200 Subject: GlueGen JavaCallback: Only produce default 'Key' class if keys are used, expose 'Key' to public and use it. Expose release*() and get*Keys() methods Further we use a dedicated lock Object used in the Java implementation. TODO: Native static callback dispatch code shall - (also) acquire the lock - handle case where the data has been released already to render this solution thread-safe and data-race free --- doc/GlueGen_Mapping.html | 154 +++++++++++++++++++++++++++++++---------------- doc/GlueGen_Mapping.md | 124 +++++++++++++++++++++++--------------- 2 files changed, 178 insertions(+), 100 deletions(-) (limited to 'doc') diff --git a/doc/GlueGen_Mapping.html b/doc/GlueGen_Mapping.html index e173c01..9520f34 100644 --- a/doc/GlueGen_Mapping.html +++ b/doc/GlueGen_Mapping.html @@ -1994,6 +1994,10 @@ Definition

If no keys are defined via JavaCallbackKey, or manually injected using a custom SetCallback-KeyClass, see below, the CallbackFunction has global scope.

+

In case keys are defined via JavaCallbackKey and no +manually injected custom SetCallback-KeyClass used, a +public SetCallback-KeyClass is being generated covering the +defined keys.

Keys allow to limit the scope, i.e. map multiple CallbackFunction to the different keys.

Key arguments must match in SetCallbackFunction to @@ -2008,18 +2012,62 @@ callback scope, i.e. the callback and all resources will be mapped to this key. The optional SetCallback-KeyClass may override this semantic. -

Beside generating the actual function mapping of the API, additional -query methods are generated, passing the keys as its paramters

-