public final org.jruby.ext.ffi.Pointer getCallback(Ruby runtime, CallbackInfo cbInfo, Object proc) { return proc instanceof RubyObject ? getCallbackFactory(runtime, cbInfo).getCallback((RubyObject) proc) : getCallbackFactory(runtime, cbInfo).newCallback(proc); }
@Override public CallbackManager getCallbackManager() { return CallbackManager.getInstance(); }
public CallbackDataConverter(CallbackInfo cbInfo) { this.callbackFactory = CallbackManager.getInstance().getCallbackFactory(cbInfo.getRuntime(), cbInfo); this.functionInfo = new NativeFunctionInfo(cbInfo.getRuntime(), cbInfo.getReturnType(), cbInfo.getParameterTypes(), cbInfo.isStdcall() ? CallingConvention.STDCALL : CallingConvention.DEFAULT); }
? CallingConvention.STDCALL : CallingConvention.DEFAULT; if (fptr == null && proc != null) { fptr = CallbackManager.getInstance().newClosure(context.runtime, returnType, parameterTypes, proc, callConvention);
@Override public void init(Ruby runtime, RubyModule ffi) { super.init(runtime, ffi); synchronized (ffi) { if (ffi.getClass("DynamicLibrary") == null) { DynamicLibrary.createDynamicLibraryClass(runtime, ffi); } if (ffi.getClass("Invoker") == null) { JFFIInvoker.createInvokerClass(runtime, ffi); } if (ffi.getClass("VariadicInvoker") == null) { VariadicInvoker.createVariadicInvokerClass(runtime, ffi); } if (ffi.getClass("Callback") == null) { CallbackManager.createCallbackClass(runtime, ffi); } if (ffi.getClass("Function") == null) { Function.createFunctionClass(runtime, ffi); } if (ffi.getClass("LastError") == null) { ffi.defineModuleUnder("LastError").defineAnnotatedMethods(LastError.class); } } runtime.setFFI(new FFI(ffi)); }
public CallbackDataConverter(CallbackInfo cbInfo) { this.callbackFactory = CallbackManager.getInstance().getCallbackFactory(cbInfo.getRuntime(), cbInfo); this.functionInfo = new NativeFunctionInfo(cbInfo.getRuntime(), cbInfo.getReturnType(), cbInfo.getParameterTypes(), cbInfo.isStdcall() ? CallingConvention.STDCALL : CallingConvention.DEFAULT); }
? CallingConvention.STDCALL : CallingConvention.DEFAULT; if (fptr == null && proc != null) { fptr = CallbackManager.getInstance().newClosure(context.runtime, returnType, parameterTypes, proc, callConvention);
@Override public void init(Ruby runtime, RubyModule ffi) { super.init(runtime, ffi); synchronized (ffi) { if (ffi.getClass("DynamicLibrary") == null) { DynamicLibrary.createDynamicLibraryClass(runtime, ffi); } if (ffi.getClass("Invoker") == null) { JFFIInvoker.createInvokerClass(runtime, ffi); } if (ffi.getClass("VariadicInvoker") == null) { VariadicInvoker.createVariadicInvokerClass(runtime, ffi); } if (ffi.getClass("Callback") == null) { CallbackManager.createCallbackClass(runtime, ffi); } if (ffi.getClass("Function") == null) { Function.createFunctionClass(runtime, ffi); } if (ffi.getClass("LastError") == null) { ffi.defineModuleUnder("LastError").defineAnnotatedMethods(LastError.class); } } runtime.setFFI(new FFI(ffi)); }
public CallbackDataConverter(CallbackInfo cbInfo) { this.callbackFactory = CallbackManager.getInstance().getCallbackFactory(cbInfo.getRuntime(), cbInfo); this.functionInfo = new NativeFunctionInfo(cbInfo.getRuntime(), cbInfo.getReturnType(), cbInfo.getParameterTypes(), cbInfo.isStdcall() ? CallingConvention.STDCALL : CallingConvention.DEFAULT); }
? CallingConvention.STDCALL : CallingConvention.DEFAULT; if (fptr == null && proc != null) { fptr = CallbackManager.getInstance().newClosure(context.runtime, returnType, parameterTypes, proc, callConvention);
public final org.jruby.ext.ffi.Pointer getCallback(Ruby runtime, CallbackInfo cbInfo, Object proc) { return proc instanceof RubyObject ? getCallbackFactory(runtime, cbInfo).getCallback((RubyObject) proc) : getCallbackFactory(runtime, cbInfo).newCallback(proc); }
@Override public CallbackManager getCallbackManager() { return CallbackManager.getInstance(); }
@Override public void init(Ruby runtime, RubyModule ffi) { super.init(runtime, ffi); synchronized (ffi) { if (ffi.getClass("DynamicLibrary") == null) { DynamicLibrary.createDynamicLibraryClass(runtime, ffi); } if (ffi.getClass("Invoker") == null) { JFFIInvoker.createInvokerClass(runtime, ffi); } if (ffi.getClass("VariadicInvoker") == null) { VariadicInvoker.createVariadicInvokerClass(runtime, ffi); } if (ffi.getClass("Callback") == null) { CallbackManager.createCallbackClass(runtime, ffi); } if (ffi.getClass("Function") == null) { Function.createFunctionClass(runtime, ffi); } if (ffi.getClass("LastError") == null) { ffi.defineModuleUnder("LastError").defineAnnotatedMethods(LastError.class); } } runtime.setFFI(new FFI(ffi)); }
public CallbackDataConverter(CallbackInfo cbInfo) { this.callbackFactory = CallbackManager.getInstance().getCallbackFactory(cbInfo.getRuntime(), cbInfo); this.functionInfo = new NativeFunctionInfo(cbInfo.getRuntime(), cbInfo.getReturnType(), cbInfo.getParameterTypes(), cbInfo.isStdcall() ? CallingConvention.STDCALL : CallingConvention.DEFAULT); }
? CallingConvention.STDCALL : CallingConvention.DEFAULT; if (fptr == null && proc != null) { fptr = CallbackManager.getInstance().newClosure(context.runtime, returnType, parameterTypes, proc, callConvention);
public final org.jruby.ext.ffi.Pointer getCallback(Ruby runtime, CallbackInfo cbInfo, Object proc) { return proc instanceof RubyObject ? getCallbackFactory(runtime, cbInfo).getCallback((RubyObject) proc) : getCallbackFactory(runtime, cbInfo).newCallback(proc); }
@Override public CallbackManager getCallbackManager() { return CallbackManager.getInstance(); }
@Override public void init(Ruby runtime, RubyModule ffi) { super.init(runtime, ffi); synchronized (ffi) { if (ffi.getClass("DynamicLibrary") == null) { DynamicLibrary.createDynamicLibraryClass(runtime, ffi); } if (ffi.getClass("Invoker") == null) { JFFIInvoker.createInvokerClass(runtime, ffi); } if (ffi.getClass("VariadicInvoker") == null) { VariadicInvoker.createVariadicInvokerClass(runtime, ffi); } if (ffi.getClass("Callback") == null) { CallbackManager.createCallbackClass(runtime, ffi); } if (ffi.getClass("Function") == null) { Function.createFunctionClass(runtime, ffi); } if (ffi.getClass("LastError") == null) { ffi.defineModuleUnder("LastError").defineAnnotatedMethods(LastError.class); } } runtime.setFFI(new FFI(ffi)); }
public NativeInvoker(RubyModule implementationClass, com.kenai.jffi.Function function, Signature signature) { super(implementationClass, Visibility.PUBLIC, CallConfiguration.FrameNoneScopeNone); this.arity = Arity.fixed(signature.getParameterCount()); this.function = function; this.signature = signature; int cbIndex = -1; NativeCallbackFactory cbFactory = null; for (int i = 0; i < signature.getParameterCount(); ++i) { if (signature.getParameterType(i) instanceof CallbackInfo) { cbFactory = CallbackManager.getInstance().getCallbackFactory(implementationClass.getRuntime(), (CallbackInfo) signature.getParameterType(i)); cbIndex = i; break; } } this.cbIndex = cbIndex; this.cbFactory = cbFactory; }
public final org.jruby.ext.ffi.Pointer getCallback(Ruby runtime, CallbackInfo cbInfo, Object proc) { return proc instanceof RubyObject ? getCallbackFactory(runtime, cbInfo).getCallback((RubyObject) proc) : getCallbackFactory(runtime, cbInfo).newCallback(proc); }