Skip to content

Commit

Permalink
feat(manual): Update configuration documentation.
Browse files Browse the repository at this point in the history
Add following configuration :
 * CustomJNICode
 * ExtendedInterfaceSymbolsIgnore
 * ExtendedInterfaceSymbolsOnly
 * ExtendedImplementationSymbolsIgnore
 * ExtendedImplementationSymbolsOnly
 * ExtendedIntfAndImplSymbolsIgnore
 * ExtendedIntfAndImplSymbolsOnly
 * MaxOneElement
 * ParentClass
 * ReturnsStringOnly

Update following configuration :
 * Extends
  • Loading branch information
MathiusD committed Aug 13, 2023
1 parent 96632c2 commit 9b825a4
Showing 1 changed file with 126 additions and 2 deletions.
128 changes: 126 additions & 2 deletions doc/manual/index.html
Expand Up @@ -963,6 +963,20 @@ <h4><a name="SecJavaEmitter">JavaEmitter Configuration</a></h4>
generated code.
</dd>

<dt><strong><a name="CustomJNICode">CustomJNICode</a></strong></dt>
<dd>Syntax: <code>CustomJNICode [class name] [code...]</code> <br/>

(optional) Causes the specified line of C code to be emitted into
the generated JNI code related of specified Java class. Can be used
to emit JNI code related of any generated class: the public interface,
the implementing class, the sole concrete class (in the case of
the AllStatic <a href="#Style">Style</a>), or any of the Java
classes corresponding to referenced C structs in the parsed headers.
This usage is somewhat verbose, and the <a href="#IncludeAs">IncludeAs</a>
directive provides a more concise way of including large bodies of
C code into the generated code.
</dd>

<dt><strong><a name="EmitStruct">EmitStruct</a></strong></dt>
<dd>Syntax: <code>EmitStruct [C struct type name]</code> <br/>

Expand All @@ -982,14 +996,94 @@ <h4><a name="SecJavaEmitter">JavaEmitter Configuration</a></h4>
versions elsewhere in the system.
</dd>

<dt><strong><a name="ExtendedInterfaceSymbolsIgnore">ExtendedInterfaceSymbolsIgnore</a></strong></dt>
<dd>Syntax: <code>ExtendedInterfaceSymbolsIgnore [Java file]</code> <br/>

(optional) Causes all autogenerated Java interface ignore
all symbols from interface declared inside named Java source
file.<br />

This directive can be used with <a href="#Extends">Extends</a> directive.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#oo-style-example">GlueGen_Mapping</a>
</dd>

<dt><strong><a name="ExtendedInterfaceSymbolsOnly">ExtendedInterfaceSymbolsOnly</a></strong></dt>
<dd>Syntax: <code>ExtendedInterfaceSymbolsOnly [Java file]</code> <br/>

(optional) Causes all autogenerated Java interface generate
only symbols from interface declared inside named Java source
file.<br />

This directive can be used with <a href="#Extends">Extends</a> directive.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#oo-style-example">GlueGen_Mapping</a>
</dd>

<dt><strong><a name="ExtendedImplementationSymbolsIgnore">ExtendedImplementationSymbolsIgnore</a></strong></dt>
<dd>Syntax: <code>ExtendedImplementationSymbolsIgnore [Java file]</code> <br/>

(optional) Causes all autogenerated Java classes ignore
all symbols from interface or classe declared inside named
Java source file.<br />

This directive can be used with <a href="#ParentClass">ParentClass</a> directive.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#oo-style-example">GlueGen_Mapping</a>
</dd>

<dt><strong><a name="ExtendedImplementationSymbolsOnly">ExtendedImplementationSymbolsOnly</a></strong></dt>
<dd>Syntax: <code>ExtendedImplementationSymbolsOnly [Java file]</code> <br/>

(optional) Causes all autogenerated Java classes generate
only symbols from interface or classe declared inside named
Java source file.<br />

This directive can be used with <a href="#ParentClass">ParentClass</a> directive.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#oo-style-example">GlueGen_Mapping</a>
</dd>

<dt><strong><a name="ExtendedIntfAndImplSymbolsIgnore">ExtendedIntfAndImplSymbolsIgnore</a></strong></dt>
<dd>Syntax: <code>ExtendedIntfAndImplSymbolsIgnore [Java file]</code> <br/>

(optional) Causes all autogenerated Java interface and classes ignore
all symbols from interface or classe declared inside named
Java source file.<br />

This directive can be used with <a href="#Extends">Extends</a> or
<a href="#ParentClass">ParentClass</a> directives.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#oo-style-example">GlueGen_Mapping</a>
</dd>

<dt><strong><a name="ExtendedIntfAndImplSymbolsOnly">ExtendedIntfAndImplSymbolsOnly</a></strong></dt>
<dd>Syntax: <code>ExtendedIntfAndImplSymbolsOnly [Java file]</code> <br/>

(optional) Causes all autogenerated Java interface and classes generate
only symbols from interface or classe declared inside named
Java source file.<br />

This directive can be used with <a href="#Extends">Extends</a> or
<a href="#ParentClass">ParentClass</a> directives.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#oo-style-example">GlueGen_Mapping</a>
</dd>

<dt><strong><a name="Extends">Extends</a></strong></dt>
<dd>Syntax: <code>Extends [Java interface name] [interface name to extend] </code> <br/>

(optional) Causes the specified autogenerated Java interface to
declare that it extends another one. This directive may only be
applied to autogenerated interfaces, not concrete classes. For
concrete classes, use the <a href="#Implements">Implements</a>
directive.
concrete classes, use <a href="#Implements">Implements</a>
directive or <a href="#ParentClass">ParentClass</a> directive.
</dd>

<dt><strong><a name="HierarchicalNativeOutput">HierarchicalNativeOutput</a></strong></dt>
Expand Down Expand Up @@ -1155,6 +1249,18 @@ <h4><a name="SecJavaEmitter">JavaEmitter Configuration</a></h4>
method will still be generated for the specified function.
</dd>

<dt><strong><a name="MaxOneElement">MaxOneElement</a></strong></dt>
<dd> Syntax: <code>MaxOneElement [function name]</code> <br/>

(optional) Indicates that the specified C function/attribute
which returns a single element instead a ByteBuffer if signature
or compatible type actually returns a pointer like int* but isn't an
array.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#gluegen-struct-settings">GlueGen_Mapping</a>
</dd>

<dt><strong><a name="NativeOutputDir">NativeOutputDir</a></strong></dt>
<dd> Syntax: <code>NativeOutputDir [directory name]</code> <br/>

Expand Down Expand Up @@ -1219,6 +1325,15 @@ <h4><a name="SecJavaEmitter">JavaEmitter Configuration</a></h4>
also <a href="#ImplPackage">ImplPackage</a>.
</dd>

<dt><strong><a name="ParentClass">ParentClass</a></strong></dt>
<dd>Syntax: <code>ParentClass [Java class name] [class name to extend] </code> <br/>

(optional) Causes the specified autogenerated Java classe to
declare that it extends another one. This directive may only be
applied to autogenerated classes, not interface. For
interfaces, use the <a href="#Extends">Extends</a> directive.
</dd>

<dt><strong><a name="RangeCheck">RangeCheck</a></strong></dt>
<dd> Syntax: <code>RangeCheck [C function name] [argument number] [expression]</code> <br/>

Expand Down Expand Up @@ -1301,6 +1416,15 @@ <h4><a name="SecJavaEmitter">JavaEmitter Configuration</a></h4>
ByteBuffer converted to a String using custom Java code, and the
ByteBuffer freed manually using another function bound to Java.
</dd>
<dt><strong><a name="ReturnsStringOnly">ReturnsStringOnly</a></strong></dt>
<dd> Syntax: <code>ReturnsStringOnly [function name]</code> <br/>

(optional) Like the <a href="#ReturnsString">ReturnsString</a> instruction,
but without the classic getters and setters with ByteBuffer.<br />

Cf here for more information :
<a href="../GlueGen_Mapping.html#gluegen-struct-settings">GlueGen_Mapping</a>
</dd>
<dt><strong><a name="ReturnValueCapacity">ReturnValueCapacity</a></strong></dt>
<dd> Syntax: <code>ReturnValueCapacity [C function name]
[expression]</code> <br/>
Expand Down

0 comments on commit 9b825a4

Please sign in to comment.