Package com.jogamp.gluegen

JogAmp GlueGen Code Generator

See:
          Description

Interface Summary
CodeGenUtils.EmissionCallback A class that emits source code of some time when activated.
CommentEmitter  
GlueEmitter Specifies the interface by which GlueGen requests glue code to be generated.
GlueEmitterControls Specifies the interface by which a GlueEmitter can request additional information from the glue generator.
SymbolFilter Provides a mechanism by which the GlueEmitter can look at all of the #defines, enum values and function symbols and perform certain filtering and processing which requires all of them to be visible simultaneously.
 

Class Summary
ArrayTypes Convenience class containing the Class objects corresponding to arrays of various types (e.g., ArrayTypes.booleanArrayClass is the Class of Java type "boolean[]").
CMethodBindingEmitter Emits the C-side component of the Java<->C JNI binding.
CMethodBindingEmitter.DefaultCommentEmitter Class that emits a generic comment for CMethodBindingEmitters; the comment includes the C signature of the native method that is being bound by the emitter java method.
CodeGenUtils  
ConstantDefinition Represents the definition of a constant which was provided either via a #define statement or through an enum definition.
DebugEmitter Debug emitter which prints the parsing results to standard output.
FunctionEmitter  
FunctionEmitter.EmissionModifier  
GlueGen Glue code generator for C functions and data structures.
JavaConfiguration Parses and provides access to the contents of .cfg files for the JavaEmitter.
JavaEmitter  
JavaMethodBindingEmitter An emitter that emits only the interface for a Java<->C JNI binding.
JavaType Describes a java-side representation of a type that is used to represent the same data on both the Java-side and C-side during a JNI operation.
Logging  
MethodBinding Represents the binding of a C function to a Java method.
ReferencedStructs  
StructLayout Encapsulates algorithm for laying out data structures.
TypeInfo Utility class for handling Opaque directives for JavaEmitter.
 

Enum Summary
JavaEmitter.EmissionStyle Style of code emission.
JavaEmitter.MethodAccess Access control for emitted Java methods.
 

Package com.jogamp.gluegen Description

JogAmp GlueGen Code Generator

GlueGen Data Type Mapping

Gluegen has build-in types (terminal symbols) for:

type java bits native-x32 bitsnative-x64 bitstype signed origin
void 0 0 0 void void ANSI-C
char 8 8 8 integersigned or unsignedANSI-C
short 16 16 16 integersigned or unsignedANSI-C
int 32 32 32 integersigned or unsignedANSI-C
long 64 32 321 integersigned or unsignedWindows
long 64 32 64 integersigned or unsignedUnix
float 32 32 32 float signed ANSI-C
double 64 64 64 double signed ANSI-C
__int32 32 32 32 integersigned or unsignedwindows
int32_t 32 32 32 integersigned stdint.h
wchar_t 32 32 32 integersigned stddef.h
uint32_t 32 32 32 integerunsigned stdint.h
__int64 64 64 64 integersigned or unsignedwindows
int64_t 64 64 64 integersigned stdint.h
uint64_t 64 64 64 integerunsigned stdint.h
ptrdiff_t 64 32 64 integersigned stddef.h
intptr_t 64 32 64 integersigned stdint.h
size_t 64 32 64 integerunsigned stddef.h
uintptr_t 64 32 64 integerunsigned stdint.h

Warning: Try to avoid unspecified bit sized types, especially long, since it differs on Unix and Windows!
Note 1: Type long will result in broken code on Windows, since we don't differentiate the OS and it's bit size is ambiguous.

GlueGen Platform Header Files

GlueGen provides convenient platform headers,
which can be included in your C header files for native compilation and GlueGen code generation.

Example:
   #include <gluegen_stdint.h>
   #include <gluegen_stddef.h>
 
   uint64_t test64;
   size_t size1;
   ptrdiff_t ptr1;
  

To compile this file you have to include the following folder to your compilers system includes, ie -I:
    gluegen/make/stub_includes/platform
  

To generate code for this file you have to include the following folder to your GlueGen includeRefid element:
    gluegen/make/stub_includes/gluegen
  

GlueGen Pre-Defined Macros

To identity a GlueGen code generation run, GlueGen defines the following macros:
     #define __GLUEGEN__ 2