diff --git a/Lib/ruby/precommon.swg b/Lib/ruby/precommon.swg index df4c6cdaa..a044b03d1 100644 --- a/Lib/ruby/precommon.swg +++ b/Lib/ruby/precommon.swg @@ -14,3 +14,34 @@ #define SWIG_TypeQuery SWIG_Ruby_TypeQuery #define SWIG_TypeClientData SWIG_Ruby_TypeClientData +/* Also rename all exported symbols from rubydef.swig */ + +/* Common SWIG API */ +#define SWIG_ConvertPtr(obj, pp, type, flags) \ + SWIG_Ruby_ConvertPtr(obj, pp, type, flags) +#define SWIG_NewPointerObj(p, type, flags) \ + SWIG_Ruby_NewPointerObj(p, type, flags) +#define SWIG_MustGetPtr(p, type, argnum, flags) \ + SWIG_Ruby_MustGetPtr(p, type, argnum, flags) + +/* Ruby-specific SWIG API */ + +#define SWIG_InitRuntime() \ + SWIG_Ruby_InitRuntime() +#define SWIG_define_class(ty) \ + SWIG_Ruby_define_class(ty) +#define SWIG_NewClassInstance(value, ty) \ + SWIG_Ruby_NewClassInstance(value, ty) +#define SWIG_MangleStr(value) \ + SWIG_Ruby_MangleStr(value) +#define SWIG_CheckConvert(value, ty) \ + SWIG_Ruby_CheckConvert(value, ty) +#define SWIG_PackData(c, ptr, sz) \ + SWIG_Ruby_PackData(c, ptr, sz) +#define SWIG_UnpackData(c, ptr, sz) \ + SWIG_Ruby_UnpackData(c, ptr, sz) +#define SWIG_NewPackedObj(ptr, sz, ty) \ + SWIG_Ruby_NewPackedObj(ptr, sz, ty) +#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \ + SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty, flags) + diff --git a/Lib/ruby/rubydec.swg b/Lib/ruby/rubydec.swg index 210310301..d51edfb69 100644 --- a/Lib/ruby/rubydec.swg +++ b/Lib/ruby/rubydec.swg @@ -1,19 +1,20 @@ -/* rubydec.swg */ +/* rubydec.swg -*- c -*- */ #ifdef __cplusplus extern "C" { #endif -SWIGIMPORT(void) SWIG_InitRuntime(void); -SWIGIMPORT(void) SWIG_define_class(swig_type_info *); -SWIGIMPORT(VALUE) SWIG_NewPointerObj(void *, swig_type_info *, int); -SWIGIMPORT(VALUE) SWIG_NewClassInstance(VALUE, swig_type_info *); -SWIGIMPORT(char *) SWIG_MangleStr(VALUE); -SWIGIMPORT(int) SWIG_ConvertPtr(VALUE, void**, swig_type_info *, int); -SWIGIMPORT(int) SWIG_CheckConvert(VALUE, swig_type_info *); -SWIGIMPORT(char *) SWIG_PackData(char *c, void *ptr, int sz); -SWIGIMPORT(char *) SWIG_UnpackData(char *c, void *ptr, int sz); -SWIGIMPORT(VALUE) SWIG_NewPackedObj(void *ptr, int sz, swig_type_info *type); -SWIGIMPORT(void) SWIG_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty, int flags); +SWIGIMPORT(void) SWIG_Ruby_InitRuntime(void); +SWIGIMPORT(void) SWIG_Ruby_define_class(swig_type_info *); +SWIGIMPORT(VALUE) SWIG_Ruby_NewPointerObj(void *, swig_type_info *, int); +SWIGIMPORT(VALUE) SWIG_Ruby_NewClassInstance(VALUE, swig_type_info *); +SWIGIMPORT(char *) SWIG_Ruby_MangleStr(VALUE); +SWIGIMPORT(int) SWIG_Ruby_ConvertPtr(VALUE, void**, swig_type_info *, int); +SWIGIMPORT(void *) SWIG_Ruby_MustGetPtr(VALUE, swig_type_info *, int, int); +SWIGIMPORT(int) SWIG_Ruby_CheckConvert(VALUE, swig_type_info *); +SWIGIMPORT(char *) SWIG_Ruby_PackData(char *c, void *ptr, int sz); +SWIGIMPORT(char *) SWIG_Ruby_UnpackData(char *c, void *ptr, int sz); +SWIGIMPORT(VALUE) SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type); +SWIGIMPORT(void) SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty, int flags); #ifdef __cplusplus } diff --git a/Lib/ruby/rubydef.swg b/Lib/ruby/rubydef.swg index 0cf825850..a0ffa8368 100644 --- a/Lib/ruby/rubydef.swg +++ b/Lib/ruby/rubydef.swg @@ -8,7 +8,7 @@ static VALUE _cSWIG_Pointer = Qnil; /* Initialize Ruby runtime support */ SWIGRUNTIME(void) -SWIG_InitRuntime(void) +SWIG_Ruby_InitRuntime(void) { if (_mSWIG == Qnil) { _mSWIG = rb_define_module("SWIG"); @@ -17,7 +17,7 @@ SWIG_InitRuntime(void) /* Define Ruby class for C type */ SWIGRUNTIME(void) -SWIG_define_class(swig_type_info *type) +SWIG_Ruby_define_class(swig_type_info *type) { VALUE klass; char *klass_name = (char *) malloc(4 + strlen(type->name) + 1); @@ -32,7 +32,7 @@ SWIG_define_class(swig_type_info *type) /* Create a new pointer object */ SWIGRUNTIME(VALUE) -SWIG_NewPointerObj(void *ptr, swig_type_info *type, int own) +SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int own) { char *klass_name; swig_class *sklass; @@ -58,7 +58,7 @@ SWIG_NewPointerObj(void *ptr, swig_type_info *type, int own) /* Create a new class instance (always owned) */ SWIGRUNTIME(VALUE) -SWIG_NewClassInstance(VALUE klass, swig_type_info *type) +SWIG_Ruby_NewClassInstance(VALUE klass, swig_type_info *type) { VALUE obj; swig_class *sklass = (swig_class *) type->clientdata; @@ -69,7 +69,7 @@ SWIG_NewClassInstance(VALUE klass, swig_type_info *type) /* Get type mangle from class name */ SWIGRUNTIME(char *) -SWIG_MangleStr(VALUE obj) +SWIG_Ruby_MangleStr(VALUE obj) { VALUE stype = rb_iv_get(obj, "__swigtype__"); return StringValuePtr(stype); @@ -77,7 +77,7 @@ SWIG_MangleStr(VALUE obj) /* Convert a pointer value */ SWIGRUNTIME(int) -SWIG_ConvertPtr(VALUE obj, void **ptr, swig_type_info *ty, int flags) +SWIG_Ruby_ConvertPtr(VALUE obj, void **ptr, swig_type_info *ty, int flags) { char *c; swig_type_info *tc; @@ -117,9 +117,18 @@ SWIG_ConvertPtr(VALUE obj, void **ptr, swig_type_info *ty, int flags) return 0; } +/* Convert a pointer value, signal an exception on a type mismatch */ +SWIGRUNTIME(void *) +SWIG_Ruby_MustGetPtr(VALUE obj, swig_type_info *ty, int argnum, int flags) +{ + void *result; + SWIG_ConvertPtr(obj, &result, ty, flags | SWIG_POINTER_EXCEPTION); + return result; +} + /* Check convert */ SWIGRUNTIME(int) -SWIG_CheckConvert(VALUE obj, swig_type_info *ty) +SWIG_Ruby_CheckConvert(VALUE obj, swig_type_info *ty) { char *c = SWIG_MangleStr(obj); if (!c) @@ -129,7 +138,7 @@ SWIG_CheckConvert(VALUE obj, swig_type_info *ty) /* Pack binary data into a string */ SWIGRUNTIME(char *) -SWIG_PackData(char *c, void *ptr, int sz) { +SWIG_Ruby_PackData(char *c, void *ptr, int sz) { static char hex[17] = "0123456789abcdef"; int i; unsigned char *u = (unsigned char *) ptr; @@ -144,7 +153,7 @@ SWIG_PackData(char *c, void *ptr, int sz) { /* Unpack binary data from a string */ SWIGRUNTIME(char *) -SWIG_UnpackData(char *c, void *ptr, int sz) { +SWIG_Ruby_UnpackData(char *c, void *ptr, int sz) { register unsigned char uu = 0; register int d; unsigned char *u = (unsigned char *) ptr; @@ -166,7 +175,7 @@ SWIG_UnpackData(char *c, void *ptr, int sz) { } SWIGRUNTIME(VALUE) -SWIG_NewPackedObj(void *ptr, int sz, swig_type_info *type) { +SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) { char result[1024]; char *r = result; if ((2*sz + 1 + strlen(type->name)) > 1000) return 0; @@ -178,7 +187,7 @@ SWIG_NewPackedObj(void *ptr, int sz, swig_type_info *type) { /* Convert a packed value value */ SWIGRUNTIME(void) -SWIG_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty, int flags) { +SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty, int flags) { swig_type_info *tc; char *c;