GlueGen v2.6.0-rc-20250712
GlueGen, Native Binding Generator for Java™ (public API).
com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter Class Reference
Inheritance diagram for com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter:
Collaboration diagram for com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter:

Public Member Functions

 ProcAddressCMethodBindingEmitter (final CMethodBindingEmitter methodToWrap, final boolean callThroughProcAddress, final boolean hasProcAddrTypedef, final String localTypedefCallingConvention, final ProcAddressEmitter emitter)
 
- Public Member Functions inherited from com.jogamp.gluegen.CMethodBindingEmitter
 CMethodBindingEmitter (final MethodBinding binding, final CodeUnit unit, final String javaPackageName, final String javaClassName, final boolean isOverloadedBinding, final boolean isJavaMethodStatic, final boolean forImplementingMethodCall, final boolean forIndirectBufferAndArrayImplementation, final MachineDataInfo machDesc, final JavaConfiguration configuration)
 Constructs an emitter for the specified binding, and sets a default comment emitter that will emit the signature of the C function that is being bound. More...
 
String getInterfaceName ()
 
String getImplName ()
 
String getNativeName ()
 
FunctionSymbol getCSymbol ()
 
final MessageFormat getReturnValueCapacityExpression ()
 Get the expression for the capacity of the returned java.nio.Buffer. More...
 
final void setReturnValueCapacityExpression (final MessageFormat expression)
 If this function returns a void* encapsulated in a java.nio.Buffer (or compound type wrapper), sets the expression for the capacity of the returned Buffer. More...
 
final MessageFormat getReturnValueLengthExpression ()
 Get the expression for the length of the returned array. More...
 
final void setReturnValueLengthExpression (final MessageFormat expression)
 If this function returns an array, sets the expression for the length of the returned array. More...
 
final List< String > getTemporaryCVariableDeclarations ()
 Returns the List of Strings containing declarations for temporary C variables to be assigned to after the underlying function call. More...
 
final void setTemporaryCVariableDeclarations (final List< String > arg)
 Sets up a List of Strings containing declarations for temporary C variables to be assigned to after the underlying function call. More...
 
final List< String > getTemporaryCVariableAssignments ()
 Returns the List of Strings containing assignments for temporary C variables which are made after the underlying function call. More...
 
final void setTemporaryCVariableAssignments (final List< String > arg)
 Sets up a List of Strings containing assignments for temporary C variables which are made after the underlying function call. More...
 
String getJavaPackageName ()
 Get the name of the class in which the corresponding Java method resides. More...
 
String getJavaClassName ()
 Get the name of the package in which the corresponding Java method resides. More...
 
final boolean getIsOverloadedBinding ()
 Is the Java<->C JNI binding for this emitter's MethodBinding one of several overloaded methods with the same name? More...
 
final boolean getIsJavaMethodStatic ()
 Is the Java side of the Java<->C JNI binding for this emitter's MethodBinding a static method?. More...
 
final boolean forIndirectBufferAndArrayImplementation ()
 Is this CMethodBindingEmitter implementing the case of an indirect buffer or array being passed down to C code? More...
 
final MachineDataInfo getMachineDataInfo ()
 Used for certain internal type size computations. More...
 
boolean emitBodyMapCToJNIType (final int argIdx, final boolean addLocalVar)
 Emit code, converting a C type into a java JNI-type. More...
 
- Public Member Functions inherited from com.jogamp.gluegen.FunctionEmitter
 FunctionEmitter (final MethodBinding binding, final CodeUnit unit, final boolean isInterface, final JavaConfiguration configuration)
 Constructs the FunctionEmitter with a CommentEmitter that emits nothing. More...
 
 FunctionEmitter (final FunctionEmitter arg)
 Makes this FunctionEmitter a copy of the passed one. More...
 
final boolean isInterface ()
 
final MethodBinding getBinding ()
 
final CodeUnit getUnit ()
 
void addModifiers (final Iterator< EmissionModifier > mi)
 
void addModifier (final EmissionModifier m)
 
boolean removeModifier (final EmissionModifier m)
 
void clearModifiers ()
 
boolean hasModifier (final EmissionModifier m)
 
Iterator< EmissionModifiergetModifiers ()
 
abstract String getInterfaceName ()
 
abstract String getImplName ()
 
abstract String getNativeName ()
 
abstract FunctionSymbol getCSymbol ()
 
final void emit ()
 Emit the function to the getUnit(). More...
 
String toString ()
 
void setCommentEmitter (final CommentEmitter cEmitter)
 Set the object that will emit the comment for this function. More...
 
CommentEmitter getCommentEmitter ()
 Get the comment emitter for this FunctionEmitter. More...
 

Protected Member Functions

int appendArguments (final StringBuilder buf)
 Returns the number of arguments emitted. More...
 
void emitBodyVariableDeclarations ()
 
void emitBodyVariablePreCallSetup ()
 Code to init the variables that were declared in emitBodyVariableDeclarations(), PRIOR TO calling the actual C function. More...
 
void emitBodyCallCFunction ()
 
String jniMangle (final MethodBinding binding)
 
- Protected Member Functions inherited from com.jogamp.gluegen.CMethodBindingEmitter
StringBuilder appendReturnType (final StringBuilder buf)
 
StringBuilder appendName (final StringBuilder buf)
 
String getImplSuffix ()
 
int appendArguments (final StringBuilder buf)
 Returns the number of arguments emitted. More...
 
void emitAdditionalCode ()
 
void emitBody ()
 
void emitBodyVariableDeclarations ()
 
void emitBodyUserVariableDeclarations ()
 Emits the user-defined C variable declarations from the TemporaryCVariableDeclarations directive in the .cfg file. More...
 
boolean isUTF8Type (Type type)
 Checks a type to see whether it is for a UTF-8 pointer type (i.e., "const char *", "const char **"). More...
 
void emitBodyVariablePreCallSetup ()
 Code to init the variables that were declared in emitBodyVariableDeclarations(), PRIOR TO calling the actual C function. More...
 
void emitBodyVariablePostCallCleanup ()
 Code to clean up any variables that were declared in emitBodyVariableDeclarations(), AFTER calling the actual C function. More...
 
int emitBodyPassCArguments ()
 Returns the number of arguments passed so calling code knows whether to print a comma. More...
 
void setIsCStructFunctionPointer (final boolean v)
 If method originates from a struct, see MethodBinding#hasContainingType(), it can either purposed to call a native static function (default) or a struct's function pointer. More...
 
void emitBodyCallCFunction ()
 
void emitBodyUserVariableAssignments ()
 Emits the user-defined C variable assignments from the TemporaryCVariableAssignments directive in the .cfg file. More...
 
String jniMangle (final MethodBinding binding)
 
String byteOffsetArgName (final int i)
 
String isNIOArgName (final int i)
 
String isNIOArgName (final String s)
 
String byteOffsetArrayArgName (final int i)
 
String[] argumentNameArray ()
 
String pointerConversionArgumentName (final String argName)
 
boolean javaArgTypeNeedsDataCopy (final JavaType javaArgType)
 
- Protected Member Functions inherited from com.jogamp.gluegen.FunctionEmitter
void emitAdditionalCode ()
 
void emitDocComment ()
 
final void emitSignature ()
 
StringBuilder appendSignature (final StringBuilder buf)
 
final int emitModifiers ()
 
int appendModifiers (final StringBuilder buf)
 
String getBaseIndentString ()
 
String getCommentStartString ()
 
String getCommentEndString ()
 
final void emitReturnType ()
 
abstract StringBuilder appendReturnType (StringBuilder buf)
 
final void emitName ()
 
abstract StringBuilder appendName (StringBuilder buf)
 
final int emitArguments ()
 Returns the number of arguments emitted. More...
 
abstract int appendArguments (StringBuilder buf)
 Returns the number of arguments emitted. More...
 
abstract void emitBody ()
 

Additional Inherited Members

- Static Public Member Functions inherited from com.jogamp.gluegen.CMethodBindingEmitter
static StringBuilder appendJNIMangledArgs (final MethodBinding binding, final boolean forIndirectBufferAndArrayImplementation, final StringBuilder buf)
 Return the mangled JNI argument names of given binding. More...
 
- Static Public Attributes inherited from com.jogamp.gluegen.FunctionEmitter
static final EmissionModifier STATIC = new EmissionModifier("static")
 
- Static Protected Member Functions inherited from com.jogamp.gluegen.CMethodBindingEmitter
static String cThisArgumentName ()
 
- Protected Attributes inherited from com.jogamp.gluegen.CMethodBindingEmitter
final LoggerIf LOG
 
boolean forImplementingMethodCall
 
boolean forIndirectBufferAndArrayImplementation
 
MachineDataInfo machDesc
 
- Protected Attributes inherited from com.jogamp.gluegen.FunctionEmitter
final MethodBinding binding
 
final CodeUnit unit
 
final JavaConfiguration cfg
 
- Static Protected Attributes inherited from com.jogamp.gluegen.CMethodBindingEmitter
static final CommentEmitter defaultCommentEmitter = new DefaultCommentEmitter()
 
static final String arrayResLength = "_array_res_length"
 
static final String arrayRes = "_array_res"
 
static final String arrayIdx = "_array_idx"
 
static final String STRING_CHARS_PREFIX = "_strchars_"
 

Detailed Description

Definition at line 50 of file ProcAddressCMethodBindingEmitter.java.

Constructor & Destructor Documentation

◆ ProcAddressCMethodBindingEmitter()

com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter.ProcAddressCMethodBindingEmitter ( final CMethodBindingEmitter  methodToWrap,
final boolean  callThroughProcAddress,
final boolean  hasProcAddrTypedef,
final String  localTypedefCallingConvention,
final ProcAddressEmitter  emitter 
)

Definition at line 60 of file ProcAddressCMethodBindingEmitter.java.

Here is the call graph for this function:

Member Function Documentation

◆ appendArguments()

int com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter.appendArguments ( final StringBuilder  buf)
protected

Returns the number of arguments emitted.

Reimplemented from com.jogamp.gluegen.CMethodBindingEmitter.

Definition at line 105 of file ProcAddressCMethodBindingEmitter.java.

◆ emitBodyCallCFunction()

void com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter.emitBodyCallCFunction ( )
protected

Reimplemented from com.jogamp.gluegen.CMethodBindingEmitter.

Definition at line 186 of file ProcAddressCMethodBindingEmitter.java.

Here is the call graph for this function:

◆ emitBodyVariableDeclarations()

void com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter.emitBodyVariableDeclarations ( )
protected

Reimplemented from com.jogamp.gluegen.CMethodBindingEmitter.

Definition at line 119 of file ProcAddressCMethodBindingEmitter.java.

Here is the call graph for this function:

◆ emitBodyVariablePreCallSetup()

void com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter.emitBodyVariablePreCallSetup ( )
protected

Code to init the variables that were declared in emitBodyVariableDeclarations(), PRIOR TO calling the actual C function.

Reimplemented from com.jogamp.gluegen.CMethodBindingEmitter.

Definition at line 155 of file ProcAddressCMethodBindingEmitter.java.

Here is the call graph for this function:

◆ jniMangle()

String com.jogamp.gluegen.procaddress.ProcAddressCMethodBindingEmitter.jniMangle ( final MethodBinding  binding)
protected

Reimplemented from com.jogamp.gluegen.CMethodBindingEmitter.

Definition at line 223 of file ProcAddressCMethodBindingEmitter.java.

Here is the call graph for this function:

The documentation for this class was generated from the following file: