BufferNativeInvoker(RubyModule implementationClass, com.kenai.jffi.Function function, Signature signature, FunctionInvoker functionInvoker, ParameterMarshaller[] parameterMarshallers) { super(implementationClass, function, signature); this.function = function; this.functionInvoker = functionInvoker; this.parameterMarshallers = parameterMarshallers.clone(); int piCount = 0; int refCount = 0; for (ParameterMarshaller m : parameterMarshallers) { if (m.requiresPostInvoke()) { ++piCount; } if (m.requiresReference()) { ++refCount; } } this.postInvokeCount = piCount; this.referenceCount = refCount; this.needsInvocationSession = piCount > 0 || refCount > 0; this.dummyBuffer = new HeapInvocationBuffer(function); }
BufferNativeInvoker(RubyModule implementationClass, com.kenai.jffi.Function function, Signature signature, FunctionInvoker functionInvoker, ParameterMarshaller[] parameterMarshallers) { super(implementationClass, function, signature); this.function = function; this.functionInvoker = functionInvoker; this.parameterMarshallers = parameterMarshallers.clone(); int piCount = 0; int refCount = 0; for (ParameterMarshaller m : parameterMarshallers) { if (m.requiresPostInvoke()) { ++piCount; } if (m.requiresReference()) { ++refCount; } } this.postInvokeCount = piCount; this.referenceCount = refCount; this.needsInvocationSession = piCount > 0 || refCount > 0; this.dummyBuffer = new HeapInvocationBuffer(function); }
BufferNativeInvoker(RubyModule implementationClass, com.kenai.jffi.Function function, Signature signature, FunctionInvoker functionInvoker, ParameterMarshaller[] parameterMarshallers) { super(implementationClass, function, signature); this.function = function; this.functionInvoker = functionInvoker; this.parameterMarshallers = parameterMarshallers.clone(); int piCount = 0; int refCount = 0; for (ParameterMarshaller m : parameterMarshallers) { if (m.requiresPostInvoke()) { ++piCount; } if (m.requiresReference()) { ++refCount; } } this.postInvokeCount = piCount; this.referenceCount = refCount; this.needsInvocationSession = piCount > 0 || refCount > 0; this.dummyBuffer = new HeapInvocationBuffer(function); }
BufferNativeInvoker(RubyModule implementationClass, com.kenai.jffi.Function function, Signature signature, FunctionInvoker functionInvoker, ParameterMarshaller[] parameterMarshallers) { super(implementationClass, function, signature); this.function = function; this.functionInvoker = functionInvoker; this.parameterMarshallers = parameterMarshallers.clone(); int piCount = 0; int refCount = 0; for (ParameterMarshaller m : parameterMarshallers) { if (m.requiresPostInvoke()) { ++piCount; } if (m.requiresReference()) { ++refCount; } } this.postInvokeCount = piCount; this.referenceCount = refCount; this.needsInvocationSession = piCount > 0 || refCount > 0; this.dummyBuffer = new HeapInvocationBuffer(function); }