org.jruby.ext.ffi
Class Pointer
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.ext.ffi.AbstractMemory
org.jruby.ext.ffi.Pointer
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
- Direct Known Subclasses:
- AbstractInvoker, AutoPointer, DynamicLibrary.Symbol, MemoryPointer
public class Pointer
- extends AbstractMemory
C memory pointer operations.
This is an abstract class that defines Pointer operations
- See Also:
- Serialized Form
Fields inherited from class org.jruby.RubyBasicObject |
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F |
Constructor Summary |
|
Pointer(Ruby runtime,
DirectMemoryIO io)
|
|
Pointer(Ruby runtime,
DirectMemoryIO io,
long size,
int typeSize)
|
protected |
Pointer(Ruby runtime,
RubyClass klass,
DirectMemoryIO io)
|
protected |
Pointer(Ruby runtime,
RubyClass klass,
DirectMemoryIO io,
long size)
|
protected |
Pointer(Ruby runtime,
RubyClass klass,
DirectMemoryIO io,
long size,
int typeSize)
|
Method Summary |
IRubyObject |
address(ThreadContext context)
|
static RubyClass |
createPointerClass(Ruby runtime,
RubyModule module)
|
long |
getAddress()
Gets the native memory address of this pointer. |
static Pointer |
getNull(Ruby runtime)
|
protected Pointer |
getPointer(Ruby runtime,
long offset)
|
static RubyClass |
getPointerClass(Ruby runtime)
|
IRubyObject |
initialize_copy(ThreadContext context,
IRubyObject other)
|
IRubyObject |
initialize(ThreadContext context,
IRubyObject address)
|
IRubyObject |
initialize(ThreadContext context,
IRubyObject type,
IRubyObject address)
|
IRubyObject |
null_p(ThreadContext context)
Tests if this Pointer represents the C NULL value. |
AbstractMemory |
order(Ruby runtime,
java.nio.ByteOrder order)
|
protected AbstractMemory |
slice(Ruby runtime,
long offset)
|
protected AbstractMemory |
slice(Ruby runtime,
long offset,
long size)
|
IRubyObject |
to_s(ThreadContext context,
IRubyObject[] args)
|
Methods inherited from class org.jruby.ext.ffi.AbstractMemory |
aref, calculateTypeSize, checkArray, clear, createAbstractMemoryClass, eql, equals, get_array_of_float, get_array_of_float64, get_array_of_int16, get_array_of_int32, get_array_of_int64, get_array_of_int8, get_array_of_long, get_array_of_pointer, get_array_of_string, get_array_of_string, get_array_of_uint16, get_array_of_uint32, get_array_of_uint64, get_array_of_uint8, get_array_of_ulong, get_bytes, get_float32, get_float32, get_float64, get_float64, get_int16, get_int16, get_int32, get_int32, get_int64, get_int64, get_int8, get_int8, get_long, get_long, get_pointer, get_pointer, get_string, get_string, get_string, get_uint16, get_uint16, get_uint32, get_uint32, get_uint64, get_uint64, get_uint8, get_uint8, get_ulong, get_ulong, getMemoryIO, getOffset, getSize, hash, hashCode, op_equal, op_plus, order, order, put_array_of_float, put_array_of_float64, put_array_of_int16, put_array_of_int32, put_array_of_int64, put_array_of_int8, put_array_of_long, put_array_of_pointer, put_array_of_uint16, put_array_of_uint32, put_array_of_uint64, put_array_of_uint8, put_array_of_ulong, put_bytes, put_callback, put_float32, put_float32, put_float64, put_float64, put_int16, put_int16, put_int32, put_int32, put_int64, put_int64, put_int8, put_int8, put_long, put_long, put_pointer, put_pointer, put_string, put_uint16, put_uint16, put_uint32, put_uint32, put_uint64, put_uint64, put_uint8, put_uint8, put_ulong, put_ulong, read_array_of_float, read_array_of_float64, read_array_of_int16, read_array_of_int32, read_array_of_int64, read_array_of_int8, read_array_of_long, read_array_of_pointer, read_array_of_string, read_array_of_string, read_array_of_uint16, read_array_of_uint32, read_array_of_uint64, read_array_of_uint8, read_array_of_ulong, read_char, read_double, read_float, read_int, read_long_long, read_long, read_pointer, read_short, read_string, read_string, read_uchar, read_uint, read_ulong_long, read_ulong, read_ushort, setMemoryIO, total, type_size, write_array_of_float, write_array_of_float64, write_array_of_int16, write_array_of_int32, write_array_of_int64, write_array_of_int8, write_array_of_long, write_array_of_pointer, write_array_of_uint16, write_array_of_uint32, write_array_of_uint64, write_array_of_uint8, write_array_of_ulong, write_char, write_double, write_float, write_int, write_long_long, write_long, write_pointer, write_short, write_uchar, write_uint, write_ulong_long, write_ushort |
Methods inherited from class org.jruby.RubyObject |
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeTypeIndex, initialize, op_eqq, puts, specificEval, toString |
Methods inherited from class org.jruby.RubyBasicObject |
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, initialize19, initialize19, initialize19, initialize19, initObjectId, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, op_cmp, op_equal_19, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, send19, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, singleton_methods19, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_s, toJava, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnder |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Pointer
public Pointer(Ruby runtime,
DirectMemoryIO io)
Pointer
public Pointer(Ruby runtime,
DirectMemoryIO io,
long size,
int typeSize)
Pointer
protected Pointer(Ruby runtime,
RubyClass klass,
DirectMemoryIO io)
Pointer
protected Pointer(Ruby runtime,
RubyClass klass,
DirectMemoryIO io,
long size)
Pointer
protected Pointer(Ruby runtime,
RubyClass klass,
DirectMemoryIO io,
long size,
int typeSize)
createPointerClass
public static RubyClass createPointerClass(Ruby runtime,
RubyModule module)
getNull
public static final Pointer getNull(Ruby runtime)
getPointerClass
public static final RubyClass getPointerClass(Ruby runtime)
order
public final AbstractMemory order(Ruby runtime,
java.nio.ByteOrder order)
- Specified by:
order
in class AbstractMemory
initialize
public IRubyObject initialize(ThreadContext context,
IRubyObject address)
initialize
public IRubyObject initialize(ThreadContext context,
IRubyObject type,
IRubyObject address)
initialize_copy
public IRubyObject initialize_copy(ThreadContext context,
IRubyObject other)
null_p
public IRubyObject null_p(ThreadContext context)
- Tests if this Pointer represents the C NULL value.
- Returns:
- true if the address is NULL.
to_s
public IRubyObject to_s(ThreadContext context,
IRubyObject[] args)
- Overrides:
to_s
in class AbstractMemory
address
public IRubyObject address(ThreadContext context)
getAddress
public final long getAddress()
- Gets the native memory address of this pointer.
- Returns:
- A long containing the native memory address.
slice
protected AbstractMemory slice(Ruby runtime,
long offset)
- Specified by:
slice
in class AbstractMemory
slice
protected AbstractMemory slice(Ruby runtime,
long offset,
long size)
- Specified by:
slice
in class AbstractMemory
getPointer
protected Pointer getPointer(Ruby runtime,
long offset)
- Specified by:
getPointer
in class AbstractMemory
Copyright © 2002-2009 JRuby Team. All Rights Reserved.