summaryrefslogtreecommitdiffstats
path: root/www
Commit message (Collapse)AuthorAgeFilesLines
* GlueGen JavaCallback: Revised: Static Java callback dispatcher, dropping ↵Sven Gothel2023-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | native heap, support Struct UserParam ... Implementation now generates a static Java callback dispatcher for each defined SetCallbackFunction, which gets invoked by the generated native static counterpart with all arguments required. The static callback utilizes its own synchronization for thread-safety and fetches the required data set stored at SetCallbackFunction to dispatch the call to the users' CallbackFunction. In case the callback has been removed already, the static callback simply bails out quietly. The native code does not create, release or manage heap memory and therefore is considered safe. +++ Further Struct Type UserParam are now supported including Heterogeneous UserParam mapping (read GlueGen_Mapping.*). +++ Cleaned up code by extracting all JavaCallback emitter code into JavaCallbackEmitter class in one place, leaving JavaMethodbindingEmitter and CMethodbindingEmitter mostly in their original stage (non-convoluted). In this regard, I had to refactor a few function, i.e. moving CMethodbindingEmitter.getJNIMangledArg(..) into JavaType.appendDescriptor(..) and JavaType.appendJNIDescriptor(..) while reusing the toJNIMethodDescriptor(..) conversion. Test4JavaCallback covers and passes all cases.
* GlueGen Intro: Add section about its comprehensive runtime library, shorten ↵Sven Gothel2023-07-011-2/+15
| | | | the JNI_OnLoad section
* Doc intro: Fix LibraryOnLoad using generic LibraryBasenameSven Gothel2023-06-291-1/+1
|
* Doc: www/index.html: Fix JOGL UML linkSven Gothel2023-06-291-1/+1
|
* Doc: Align GlueGen_Mapping.md intro w/ README.md and www/index.htmlSven Gothel2023-06-291-5/+15
|
* www/index.html: Copy Documentation section into main text for visibilitySven Gothel2023-06-181-0/+11
|
* Bring back produced html5 standalone files, having fixed pandoc usage.Sven Gothel2023-06-181-2/+2
| | | | | | | See my pandoc-buttondown git repo <https://jausoft.com/cgit/users/sgothel/pandoc-buttondown-cgit.git/about/> Latest config <https://jausoft.com/cgit/users/sgothel/pandoc-buttondown-cgit.git/commit/?id=fb38ada0c8d71a2b26bd3ee9d075acce84d76b2c> fixed creation of standalone html5 files.
* Drop .md -> .html generated docs (ugly), use our cgit md -> html via refined ↵Sven Gothel2023-06-171-2/+2
| | | | | | pandoc styles Would need to fix my standalone pandoc setup to produce proper standalone docs.
* GlueGen Struct [5]: Revised Struct Mapping + DocumentationSven Gothel2023-06-161-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GlueGen Revised Struct Mapping (esp pointer to array or single element), Struct String Charset, .. and Documentation - Documentation: - Added README.md Let's have a proper face for the git repo - Added doc/GlueGen_Mapping.md (and its html conversion doc/GlueGen_Mapping.html) Created a new document covering application and implementation details suitable for users/devs. - Added doc/JogAmpMacOSVersions.md conversion to doc/JogAmpMacOSVersions.html - Updated www/index.html - Use *CodeUnit instead of PrintWriter, representing a Java or C code unit covering a set of functions and structs. The CCodeUnit also handles common code shared by its unit across functions etc. - Dropping 'static initializer', as its no more required due to simplified `JVMUtil_NewDirectByteBufferCopy()` variant. - Revised Struct Mapping: - Pure Java implementation to map primitive and struct fields within a struct by utilizing ElementBuffer. Only 'Function Pointer' fields within a struct require native code. Exposes `static boolean usesNativeCode()` to query whether native code is used/required. - Transparent native memory address API Expose `long getDirectBufferAddress()` and `static TK_Struct derefPointer(long addr)`, allowing to - pass the native struct-pointer with native code - reconstruct the struct from a native struct-pointer - have a fully functional `TK_Struct.derefPointer(struct.getDirectBufferAddress())` cycle. - Add 'boolean is<Val>Null() to query whether a pointer (array) is NULL - *Changed* array get/set method for more flexibility alike `System.arraycopy(src, srcPos, dest, destPos, len)`, where 'src' is being dropped for the getter and 'dest' is being dropped for the setter as both objects are reflected by the struct instance. - *Changed* `get<Val>ArrayLength()` -> `get<Val>ElemCount()` for clarity - Considering all ConstElemCount values with config 'ReturnedArrayLength <int>' to be owned by native code -> NativeOwnership -> Not changing the underlying memory region! JavaOwnership is considered for all pointer-arrays not of NativeOwnership. Hence any setter on a NativeOwnership pointer-array will fail with non-matching elem-count. - Add 'release<Val>()' for JavaOwnership pointer-arrays, allowing to release the Java owned native memory incl. null-ing pointer and set<Val>ElemCount(0). - Support setter for 'const <type>*' w/ JavaOwnership, i.e. pointer to const value of a primitive or struct, setter and getter using pointer to array or single element in general. - Added Config `ImmutableAccess symbol` to disable all setter for whole struct or a field - Added Config `MaxOneElement symbol` to restrict a pointer to maximum one element and unset initial value (zero elements) - Added Config `ReturnsStringOnly symbol` to restrict mapping only to a Java String, dropping the ByteBuffer variant for 'char' - String mapping default is UTF-8 and can be read and set via [get|set]Charset(..) per class. - Dynamic string length retrieval in case no `ReturnedArrayLength` has been configured has changed from `strlen()` to `strnlen(aptr, max_len)` to be on the safe site. The maximum length default is 8192 bytes and can be read and set via [get|set]MaxStrnlen(..) per class. FIXME: strnlen(..) using EOS byte non-functional for non 8-bit codecs like UTF-8, US-ASCII. This is due to e.g. UTF-16 doesn't use an EOS byte, but interprets it as part of a code point. - TODO: Perhaps a few more unit tests - TODO: Allow plain 'int' to be mapped in structs IFF their size is same for all MachineDescriptions used. Currently this is the case -> 4 bytes like int32_t.
* Update CSS; Add responsive viewport design tagSven Gothel2019-05-061-0/+2
|
* doc/manual/index.html www/index.html Fix links.Xerxes Rånby2015-06-261-1/+2
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* Javadoc URL: Use jogamp-next/javadoc/<module>/javadoc to allow relative URLs ↵Sven Gothel2010-11-151-2/+2
| | | | from module to module
* GlueGen frontpage cleanup.Michael Bien2010-05-191-42/+38
|
* Fix docSven Gothel2010-05-141-1/+1
|
* fix linkSven Gothel2010-05-141-1/+1
|
* Fix docuSven Gothel2010-05-141-10/+38
|
* Fix html ref ; Fix property error messageSven Gothel2010-05-141-7/+2
|
* Fixed link to GlueGen manualKenneth Russel2009-05-121-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@131 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Committed through web interface.root2009-03-091-0/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@125 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Added download and build instructions to GlueGen manual. Added Kenneth Russel2006-01-171-7/+3
| | | | | | | Manifest to gluegen.jar to make it easier to run as an executable jar. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@9 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Fixed cvs checkout instructionsKenneth Russel2006-01-161-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@8 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Adjusted formattingKenneth Russel2006-01-161-0/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@6 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Added preliminary manual for GlueGen. Updated web page to point to it, Kenneth Russel2006-01-161-37/+41
| | | | | | | discussion forums and mailing lists. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@5 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Initial data for the gluegen projecthttpd2006-01-101-0/+45
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@2 a78bb65f-1512-4460-ba86-f6dc96a7bf27