j2native |
AnsiString |
Argument |
ArrayArgument |
ArrayType |
Bool |
Callback |
Char |
Const |
DelegatedArgument |
DoubleFloat |
FloatArgument |
FloatType |
Function |
FunctionExecutionException |
FunctionNotFoundException |
IllegalMemoryAccessException |
Int |
Int16 |
Int32 |
Int64 |
Int8 |
IntegerArgument |
IntegerType |
J2NativeContext |
Library |
LibraryLoader |
LibraryNotFoundException |
MemoryException |
NumericArgument |
NumericType |
OutOnly |
Pointer |
Pointer.Const |
Pointer.OutOnly |
Pointer.Void |
PointerArgument |
PointerType |
SimpleFloat |
StringType |
StructuralArgument |
Structure |
TypedPointer |
UInt |
UInt16 |
UInt32 |
UInt8 |
Union |
WideChar |
WideString |
ZeroTerminatedString |
| |
com.smardec.j2native
Class TypedPointer
java.lang.Object
|
+--com.smardec.j2native.Argument
|
+--com.smardec.j2native.PointerArgument
|
+--com.smardec.j2native.TypedPointer
- All Implemented Interfaces:
- java.lang.Cloneable, PointerType
- Direct Known Subclasses:
- Pointer, Pointer.Const, Pointer.OutOnly
- public abstract class TypedPointer
- extends PointerArgument
Pointer class represents a pointer to object in
terms of C language. Pointer type is defined by its referenced object.
Constructor Summary |
protected |
TypedPointer(Argument refArgument)
Constructs a new pointer to a given object. |
Method Summary |
Argument |
getAt(int elementIndex)
If we know exactly lenght of the referenced Argument , we
can represent this pointer as array pointer and perform iteration through this
array. |
Argument |
getAt(int elementOffset,
int elementSize)
Returns new Argument object, constructed from referenced
Argument and filled with a value retrieved from native memory. |
Argument |
getReferencedArgument()
Return Argument this pointer is referenced to. |
long |
getValue()
Returns native memory handle |
boolean |
isNull()
Tests if this pointer is null. |
protected void |
read(long handle,
int offset)
Reads itself from the memory. |
protected void |
readFromStack(byte[] stack,
int offset)
Read itself from stack. |
void |
setReferencedArgument(Argument refArgument)
Sets referenced Argument . |
void |
setValue(long handle)
Sets memory handle |
protected void |
update(byte side)
This method is used to synchronize Java side and native part. |
protected void |
write(long handle,
int offset)
Writes itself to the memory. |
protected void |
writeToStack(byte[] stack,
int offset)
Writes itself to stack. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TypedPointer
protected TypedPointer(Argument refArgument)
- Constructs a new pointer to a given object. The constructed pointer
is a non-null pointer parameter that points to the given object.
- Parameters:
- refArgument - referenced object
getReferencedArgument
public Argument getReferencedArgument()
- Return
Argument this pointer is referenced to.
- Returns:
- referenced
Argument
setReferencedArgument
public void setReferencedArgument(Argument refArgument)
- Sets referenced
Argument .
- Parameters:
- refArgument -
Argument to set
getValue
public long getValue()
- Description copied from interface: PointerType
- Returns native memory handle
setValue
public void setValue(long handle)
- Description copied from interface: PointerType
- Sets memory handle
- Parameters:
- handle - memory handle
isNull
public boolean isNull()
- Description copied from interface: PointerType
- Tests if this pointer is null.
- Returns:
- boolean
writeToStack
protected void writeToStack(byte[] stack,
int offset)
- Description copied from class: Argument
- Writes itself to stack.
- Overrides:
- writeToStack in class PointerArgument
- Parameters:
- stack - it's byte array, where
Argument will be written- offset - offset in stack
readFromStack
protected void readFromStack(byte[] stack,
int offset)
- Description copied from class: Argument
- Read itself from stack.
- Overrides:
- readFromStack in class PointerArgument
- Parameters:
- stack - it's byte array, from which
Argument will be restored- offset - offset in stack
write
protected void write(long handle,
int offset)
- Description copied from class: Argument
- Writes itself to the memory. Exact memory address specified by params.
- Overrides:
- write in class PointerArgument
- Parameters:
- handle - identifies location in memory where
Argument
will be written- offset - memory address offset
read
protected void read(long handle,
int offset)
- Description copied from class: Argument
- Reads itself from the memory. Exact memory address specified by params.
- Overrides:
- read in class PointerArgument
- Parameters:
- handle - identifies location in memory from which
Argument
will be read- offset - memory address offset
getAt
public Argument getAt(int elementIndex)
throws java.lang.RuntimeException
- If we know exactly lenght of the referenced
Argument , we
can represent this pointer as array pointer and perform iteration through this
array.
- Parameters:
- elementIndex - index of this imaginary array
- Throws:
- java.lang.RuntimeException - if referenced
Argument is not fixed length
getAt
public Argument getAt(int elementOffset,
int elementSize)
- Returns new
Argument object, constructed from referenced
Argument and filled with a value retrieved from native memory.
- Parameters:
- elementOffset - offset from the referenced
Argument 's
memory handle value- elementSize - size of the retrieved data in bytes
update
protected void update(byte side)
- Description copied from class: Argument
- This method is used to synchronize Java side and native part.
- Overrides:
- update in class Argument
- Parameters:
- side - identifies part that should be updated
|
|
|