org.jruby.ext.ffi
Class Buffer

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.Buffer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType

public final class Buffer
extends AbstractMemory

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.Data, RubyObject.ObjectMethods
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.BasicObjectMethods, RubyBasicObject.Finalizer
 
Field Summary
static int IN
          Indicates that the Buffer is used for data copied IN to native memory
static int OUT
          Indicates that the Buffer is used for data copied OUT from native memory
 
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, 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
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
Buffer(Ruby runtime, RubyClass klass)
           
 
Method Summary
static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg)
           
static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
           
static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
           
static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject arg)
           
static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
           
static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
           
static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg)
           
static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
           
static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
           
static RubyClass createBufferClass(Ruby runtime, RubyModule module)
           
 int getInOutFlags()
           
protected  Pointer getPointer(Ruby runtime, long offset)
           
 IRubyObject inspect(ThreadContext context)
           
protected  AbstractMemory slice(Ruby runtime, long offset)
           
 
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_array_of_uint16, get_array_of_uint32, get_array_of_uint64, get_array_of_uint8, get_array_of_ulong, 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_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_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, setMemoryIO, to_s, 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, methods, methods19, nil_p, op_eqq, op_match, op_not_match, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, 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, callMethod, callMethod, callSuper, checkArrayType, checkStringType, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, 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, toJava, 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

IN

public static final int IN
Indicates that the Buffer is used for data copied IN to native memory

See Also:
Constant Field Values

OUT

public static final int OUT
Indicates that the Buffer is used for data copied OUT from native memory

See Also:
Constant Field Values
Constructor Detail

Buffer

public Buffer(Ruby runtime,
              RubyClass klass)
Method Detail

createBufferClass

public static RubyClass createBufferClass(Ruby runtime,
                                          RubyModule module)

allocateInOut

public static Buffer allocateInOut(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg)

allocateInOut

public static Buffer allocateInOut(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject arg2)

allocateInOut

public static Buffer allocateInOut(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject countArg,
                                   IRubyObject clearArg)

allocateInput

public static Buffer allocateInput(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject arg)

allocateInput

public static Buffer allocateInput(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject arg2)

allocateInput

public static Buffer allocateInput(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject countArg,
                                   IRubyObject clearArg)

allocateOutput

public static Buffer allocateOutput(ThreadContext context,
                                    IRubyObject recv,
                                    IRubyObject sizeArg)

allocateOutput

public static Buffer allocateOutput(ThreadContext context,
                                    IRubyObject recv,
                                    IRubyObject sizeArg,
                                    IRubyObject arg2)

allocateOutput

public static Buffer allocateOutput(ThreadContext context,
                                    IRubyObject recv,
                                    IRubyObject sizeArg,
                                    IRubyObject countArg,
                                    IRubyObject clearArg)

inspect

public IRubyObject inspect(ThreadContext context)

slice

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

getPointer

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

getInOutFlags

public int getInOutFlags()


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