org.jruby.ext.ffi
Class FFIProvider
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.ext.ffi.FFIProvider
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
- Direct Known Subclasses:
- JNAProvider
public abstract class FFIProvider
- extends RubyObject
Base class for all FFI providers
- See Also:
- Serialized Form
Field Summary |
static java.lang.String |
CLASS_NAME
|
static java.lang.String |
MODULE_NAME
The name of the module to place all the classes/methods under. |
Fields inherited from class org.jruby.RubyBasicObject |
ALL_F, dataStruct, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, VARIABLE_TABLE_DEFAULT_CAPACITY, VARIABLE_TABLE_EMPTY_TABLE, VARIABLE_TABLE_LOAD_FACTOR, VARIABLE_TABLE_MAXIMUM_CAPACITY, variableTable, variableTableSize, variableTableThreshold |
Methods inherited from class org.jruby.RubyObject |
as, attachToObjectSpace, callInit, checkFrozen, convertToType, createObjectClass, display, dup, eql_p, eqlInternal, equal_p, equalInternal, equals, evalUnder, evalUnder, extend, freeze, frozen_p, getNativeTypeIndex, hash, hashCode, 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_equal, 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, type_deprecated, type, untaint, validateInstanceVariable |
Methods inherited from class org.jruby.RubyBasicObject |
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkStringType, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataWrapStruct, ensureInstanceVariablesSettable, eql, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, getFlag, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariableList, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariableCount, getVariableList, getVariableMap, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, infectBy, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isRubyVariable, isTaint, isTrue, makeMetaClass, op_not_equal, op_not, removeFinalizers, removeInstanceVariable, removeInternalVariable, respondsTo, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, syncVariables, taint, testFrozen, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetMap, variableTableGetMap, variableTableGetSize, variableTableGetTable, variableTableReadLocked, variableTableRehash, variableTableRemove, variableTableStore, variableTableSync |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
MODULE_NAME
public static final java.lang.String MODULE_NAME
- The name of the module to place all the classes/methods under.
- See Also:
- Constant Field Values
CLASS_NAME
public static final java.lang.String CLASS_NAME
- See Also:
- Constant Field Values
FFIProvider
protected FFIProvider(Ruby runtime,
RubyClass klass)
FFIProvider
protected FFIProvider(Ruby runtime)
createProviderClass
public static RubyClass createProviderClass(Ruby runtime,
RubyModule module)
getModule
public static RubyModule getModule(Ruby runtime)
createInvoker
public IRubyObject createInvoker(ThreadContext context,
IRubyObject[] args)
getLastError
public IRubyObject getLastError(ThreadContext context)
getLastError
public IRubyObject getLastError(ThreadContext context,
IRubyObject error)
createInvoker
public abstract Invoker createInvoker(Ruby runtime,
java.lang.String libraryName,
java.lang.String functionName,
NativeType returnType,
NativeParam[] parameterTypes,
java.lang.String convention)
- Creates a new invoker for a native function.
- Parameters:
libraryName
- The library that contains the function.functionName
- The function name.returnType
- The return type of the function.parameterTypes
- The parameter types the function takes.
- Returns:
- a new Invoker instance.
getLastError
public abstract int getLastError()
- Gets the last native error code.
This returns the errno value that was set at the time of the last native
function call.
- Returns:
- The errno value.
setLastError
public abstract void setLastError(int error)
- Sets the native error code.
- Parameters:
error
- The value to set errno to.
Copyright © 2002-2007 JRuby Team. All Rights Reserved.