org.jruby.ext.ffi
Class BasePointer

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.ffi.AbstractMemory
              extended by org.jruby.ext.ffi.Pointer
                  extended by org.jruby.ext.ffi.BasePointer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
Direct Known Subclasses:
DynamicLibrary.Symbol, DynamicLibrary.Symbol, MemoryPointer

public class BasePointer
extends Pointer

Base pointer class for all JFFI pointers.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.ObjectMethods
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.BasicObjectMethods, RubyBasicObject.Finalizer
 
Field Summary
static java.lang.String BASE_POINTER_NAME
           
 
Fields inherited from class org.jruby.ext.ffi.AbstractMemory
ABSTRACT_MEMORY_RUBY_CLASS, io, size, typeSize
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR
 
Fields inherited from class org.jruby.RubyBasicObject
ALL_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
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
BasePointer(Ruby runtime, DirectMemoryIO io)
           
BasePointer(Ruby runtime, DirectMemoryIO io, long size)
           
BasePointer(Ruby runtime, DirectMemoryIO io, long size, int typeSize)
           
BasePointer(Ruby runtime, RubyClass klass, DirectMemoryIO io, long size)
           
BasePointer(Ruby runtime, RubyClass klass, DirectMemoryIO io, long size, int typeSize)
           
 
Method Summary
 IRubyObject address(ThreadContext context)
           
static RubyClass createBasePointerClass(Ruby runtime, RubyModule module)
           
 long getAddress()
           
static RubyClass getBasePointerClass(Ruby runtime)
           
protected  BasePointer getPointer(Ruby runtime, long offset)
           
 IRubyObject inspect(ThreadContext context)
           
protected  AbstractMemory slice(Ruby runtime, long offset)
           
 IRubyObject to_s(ThreadContext context, IRubyObject[] args)
           
 
Methods inherited from class org.jruby.ext.ffi.Pointer
createPointerClass, newInstance, newInstance, null_p
 
Methods inherited from class org.jruby.ext.ffi.AbstractMemory
aref, calculateSize, 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_bytes, get_float32, get_float64, get_int16, get_int32, get_int64, get_int8, get_long, get_pointer, get_string, get_string, get_uint16, get_uint32, get_uint64, get_uint8, get_ulong, getMemoryIO, getOffset, getSize, hash, hashCode, op_equal, op_plus, 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_bytes, put_callback, put_float32, put_float64, put_int16, put_int32, put_int64, put_int8, put_long, put_pointer, put_string, put_uint16, put_uint32, put_uint64, put_uint8, put_ulong, read_string, read_string, total, type_size
 
Methods inherited from class org.jruby.RubyObject
as, attachToObjectSpace, callInit, checkFrozen, convertToType, createObjectClass, display, dup, eql_p, eqlInternal, equal_p, equalInternal, evalUnder, evalUnder, extend, freeze, frozen_p, getNativeTypeIndex, hash, id_deprecated, id, initialize_copy, initialize, inspect, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval, instance_exec, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, kind_of_p, method, methods, nil_p, op_eqq, op_match, private_methods, protected_methods, public_methods, puts, rbClone, remove_instance_variable, respond_to_p, respond_to_p, send, send, send, send, send, singleton_methods, singleton_methods19, singletonMethods, specificEval, specificEval, specificEval, specificEval, specificEval, taint, tainted_p, to_a, to_java, to_s, toString, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable
 
Methods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkStringType, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataWrapStruct, ensureInstanceVariablesSettable, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, getFlag, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, infectBy, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, makeMetaClass, op_not_equal, op_not, removeFinalizers, removeInstanceVariable, removeInternalVariable, respondsTo, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, setUntrusted, setVariable, syncVariables, taint, testFrozen, testFrozen, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetSize, variableTableRemove, variableTableStore, variableTableSync
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

BASE_POINTER_NAME

public static final java.lang.String BASE_POINTER_NAME
See Also:
Constant Field Values
Constructor Detail

BasePointer

public BasePointer(Ruby runtime,
                   DirectMemoryIO io)

BasePointer

public BasePointer(Ruby runtime,
                   DirectMemoryIO io,
                   long size)

BasePointer

public BasePointer(Ruby runtime,
                   DirectMemoryIO io,
                   long size,
                   int typeSize)

BasePointer

public BasePointer(Ruby runtime,
                   RubyClass klass,
                   DirectMemoryIO io,
                   long size)

BasePointer

public BasePointer(Ruby runtime,
                   RubyClass klass,
                   DirectMemoryIO io,
                   long size,
                   int typeSize)
Method Detail

createBasePointerClass

public static RubyClass createBasePointerClass(Ruby runtime,
                                               RubyModule module)

getBasePointerClass

public static final RubyClass getBasePointerClass(Ruby runtime)

getAddress

public final long getAddress()

to_s

public IRubyObject to_s(ThreadContext context,
                        IRubyObject[] args)
Overrides:
to_s in class AbstractMemory

inspect

public IRubyObject inspect(ThreadContext context)

address

public IRubyObject address(ThreadContext context)

slice

protected final AbstractMemory slice(Ruby runtime,
                                     long offset)
Specified by:
slice in class AbstractMemory

getPointer

protected BasePointer getPointer(Ruby runtime,
                                 long offset)
Specified by:
getPointer in class AbstractMemory


Copyright © 2002-2007 JRuby Team. All Rights Reserved.