Subject: Re: [ruby-ffi] DataConverter for callback type |
From: Wayne Meissner |
Date: 9/30/13 11:20 PM |
To: ruby-ffi@googlegroups.com |
I've been digging a little further, and it seems that the rbffi_Function_ForProc
function defined in Function.c does exactly what I want, since I have a
FFI::FunctionType (i.e., self::Callback), and a Proc (the value argument of
#to_native), and I would like to turn this into a FFI::Function.
Would it be possible to expose this function to Ruby?
On 22/09/13 13:05, Matijs van Zuijlen wrote:
> Hello,
>
> I'm trying to create a DataConverter that represents a callback function. The
> code basically boils down to this:
>
> module Lib
> include FFI::Library
> ffi_lib 'some-library'
> end
>
> class Foo < Proc
> extend FFI::DataConverter
>
> Callback = Lib.callback ... # usual call to FFI::Library.callback
>
> def self.native_type
> self::Callback
> end
> end
>
> [The reason I'm doing this is that I want to wrap procs passed from ruby in some
> argument conversion code using a method defined on, in this case, Foo]
>
> Now, I'm unable to figure out what the definition of Foo.to_native should be.
> Foo::Callback is of type FFI::FunctionType, which doesn't have a to_native method.
>
> Any ideas?
>
> Thanks and regards,
>
--
Matijs