the methods SWIG_Ruby_ConvertPtrAndOwn and SWIG_Ruby_NewPointerObj, now tracking information is held on swig_class. This change reduces significantly reduces the amount of code needed in ruby.cxx, is more robust, and is more cohesive. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8082 626c5289-ae23-0410-ae9c-e8d60b6d4f22
50 lines
1.5 KiB
Text
50 lines
1.5 KiB
Text
/* ------------------------------------------------------------
|
|
* Typemap specializations for Ruby
|
|
* ------------------------------------------------------------ */
|
|
/* ------------------------------------------------------------
|
|
* Fragment section
|
|
* ------------------------------------------------------------ */
|
|
|
|
/* Include fundamental fragemt definitions */
|
|
%include <typemaps/fragments.swg>
|
|
|
|
/* Look for user fragments file. */
|
|
%include <rubyfragments.swg>
|
|
|
|
/* Ruby fragments for primitive types */
|
|
%include <rubyprimtypes.swg>
|
|
|
|
/* Ruby fragments for char* strings */
|
|
%include <rubystrings.swg>
|
|
|
|
/* Backward compatibility output helper */
|
|
%fragment("output_helper","header") %{
|
|
#define output_helper SWIG_Ruby_AppendOutput
|
|
%}
|
|
|
|
/* ------------------------------------------------------------
|
|
* Unified typemap section
|
|
* ------------------------------------------------------------ */
|
|
|
|
/* Directors are supported in Ruby */
|
|
#ifndef SWIG_DIRECTOR_TYPEMAPS
|
|
#define SWIG_DIRECTOR_TYPEMAPS
|
|
#endif
|
|
|
|
#ifndef SWIG_INOUT_NODEF
|
|
#define SWIG_INOUT_NODEF
|
|
#endif
|
|
|
|
/* Ruby types */
|
|
#define SWIG_Object VALUE
|
|
#define VOID_Object Qnil
|
|
|
|
/* Simple overload of the output/constant/exception handling */
|
|
#define SWIG_AppendOutput(result,obj) SWIG_Ruby_AppendOutput(result, obj)
|
|
#define SWIG_SetConstant(name, obj) rb_define_const($module, name, obj)
|
|
#define SWIG_Raise(obj, type, desc) rb_exc_raise(rb_exc_new3(rb_eRuntimeError, rb_obj_as_string(obj)))
|
|
|
|
/* Include the unified typemap library */
|
|
%include <typemaps/swigtypemaps.swg>
|
|
|
|
|