diff options
Diffstat (limited to 'ext/ffi_c/MappedType.c')
-rw-r--r-- | ext/ffi_c/MappedType.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/ffi_c/MappedType.c b/ext/ffi_c/MappedType.c index e61af30..20b14e9 100644 --- a/ext/ffi_c/MappedType.c +++ b/ext/ffi_c/MappedType.c @@ -175,6 +175,15 @@ mapped_from_native(int argc, VALUE* argv, VALUE self) return rb_funcall2(m->rbConverter, id_from_native, argc, argv); } +static VALUE +mapped_converter(VALUE self) +{ + MappedType*m = NULL; + TypedData_Get_Struct(self, MappedType, &mapped_type_data_type, m); + + return m->rbConverter; +} + void rbffi_MappedType_Init(VALUE moduleFFI) { @@ -195,5 +204,6 @@ rbffi_MappedType_Init(VALUE moduleFFI) rb_define_method(rbffi_MappedTypeClass, "native_type", mapped_native_type, 0); rb_define_method(rbffi_MappedTypeClass, "to_native", mapped_to_native, -1); rb_define_method(rbffi_MappedTypeClass, "from_native", mapped_from_native, -1); + rb_define_method(rbffi_MappedTypeClass, "converter", mapped_converter, 0); } |