summaryrefslogtreecommitdiff
path: root/ext/ffi_c/MappedType.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ffi_c/MappedType.c')
-rw-r--r--ext/ffi_c/MappedType.c10
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);
}