public abstract class Factory extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
Factory() |
| Modifier and Type | Method and Description |
|---|---|
abstract int |
alignmentOf(NativeType type) |
abstract MemoryIO |
allocateDirectMemory(Ruby runtime,
int size,
boolean clear)
Allocates memory on the native C heap and wraps it in a MemoryIO accessor.
|
abstract MemoryIO |
allocateDirectMemory(Ruby runtime,
int size,
int align,
boolean clear)
Allocates memory on the native C heap and wraps it in a MemoryIO accessor.
|
abstract MemoryIO |
allocateTransientDirectMemory(Ruby runtime,
int size,
int align,
boolean clear)
Allocates transient native memory (not from C heap) and wraps it in a MemoryIO accessor.
|
abstract CallbackManager |
getCallbackManager() |
static Factory |
getInstance()
Gets an instance of FFIProvider
|
void |
init(Ruby runtime,
RubyModule ffi)
Registers FFI ruby classes/modules
|
abstract AbstractInvoker |
newFunction(Ruby runtime,
Pointer address,
CallbackInfo cbInfo) |
abstract int |
sizeOf(NativeType type) |
abstract MemoryIO |
wrapDirectMemory(Ruby runtime,
long address)
Wraps a native C memory address in a MemoryIO accessor.
|
public static final Factory getInstance()
public void init(Ruby runtime, RubyModule ffi)
module - the module to register the classes underpublic abstract MemoryIO allocateDirectMemory(Ruby runtime, int size, boolean clear)
size - The number of bytes to allocate.clear - If the memory should be cleared.public abstract MemoryIO allocateDirectMemory(Ruby runtime, int size, int align, boolean clear)
size - The number of bytes to allocate.align - The minimum alignment of the memoryclear - If the memory should be cleared.public abstract MemoryIO allocateTransientDirectMemory(Ruby runtime, int size, int align, boolean clear)
size - The number of bytes to allocate.align - The minimum alignment of the memoryclear - If the memory should be cleared.public abstract MemoryIO wrapDirectMemory(Ruby runtime, long address)
address - The native address to wrap.public abstract CallbackManager getCallbackManager()
public abstract AbstractInvoker newFunction(Ruby runtime, Pointer address, CallbackInfo cbInfo)
public abstract int sizeOf(NativeType type)
public abstract int alignmentOf(NativeType type)
Copyright © 2001-2015 JRuby. All Rights Reserved.