static class CallbackReference.AttachOptions extends Structure
Structure.ByReference, Structure.ByValue, Structure.FFIType, Structure.FieldOrder, Structure.StructField, Structure.StructureSet
Modifier and Type | Field | Description |
---|---|---|
boolean |
daemon |
|
boolean |
detach |
|
static java.util.List<java.lang.String> |
FIELDS |
|
java.lang.String |
name |
ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE, fieldOrder, layoutInfo
Constructor | Description |
---|---|
AttachOptions() |
Modifier and Type | Method | Description |
---|---|---|
protected java.util.List<java.lang.String> |
getFieldOrder() |
Returns this Structure's field names in their proper order.
When defining a new Structure you shouldn't override this
method, but use Structure.FieldOrder annotation to define your field
order(this also works with inheritance)If you want to do something non-standard you can override the method and define it as followed |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
allocateMemory, allocateMemory, autoAllocate, autoRead, autoRead, autoWrite, autoWrite, busy, cacheTypeInfo, calculateSize, calculateSize, clear, conditionalAutoRead, createFieldsOrder, createFieldsOrder, createFieldsOrder, createFieldsOrder, dataEquals, dataEquals, ensureAllocated, equals, fieldOffset, fields, getAutoRead, getAutoWrite, getFieldList, getFields, getFieldTypeInfo, getFieldValue, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, getTypeInfo, getTypeInfo, getTypeMapper, hashCode, newInstance, newInstance, read, readField, readField, reading, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setFieldValue, setStringEncoding, size, size, size, sortFields, toArray, toArray, toString, toString, typeInfoField, updateStructureByReference, useMemory, useMemory, useMemory, validate, write, writeField, writeField, writeField
public static final java.util.List<java.lang.String> FIELDS
public boolean daemon
public boolean detach
public java.lang.String name
protected java.util.List<java.lang.String> getFieldOrder()
Structure
Structure
you shouldn't override this
method, but use Structure.FieldOrder
annotation to define your field
order(this also works with inheritance)
protected List getFieldOrder() {
return Arrays.asList(...);
}
IMPORTANT
When deriving from an existing Structure subclass, ensure that
you augment the list provided by the superclass, e.g.
protected List getFieldOrder() {
List fields = new LinkedList(super.getFieldOrder());
fields.addAll(Arrays.asList(...));
return fields;
}
Field order must be explicitly indicated, since the
field order as returned by Class.getFields()
is not
guaranteed to be predictable.getFieldOrder
in class Structure