blob: 336ee977a4ed842d32ff4ed0dbec05f98fa12525 [file] [log] [blame]
/* ------------------------------------------------------------
* Typemap specializations for Ruby
* ------------------------------------------------------------ */
/* ------------------------------------------------------------
* Fragment section
* ------------------------------------------------------------ */
/* bool is dangerous in Ruby, change precedence */
#undef SWIG_TYPECHECK_BOOL
%define SWIG_TYPECHECK_BOOL 10000 %enddef
/* 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
/* Ruby types */
#define SWIG_Object VALUE
#define VOID_Object Qnil
/* Overload of the output/constant/exception handling */
/* append output */
#define SWIG_AppendOutput(result,obj) SWIG_Ruby_AppendOutput(result, obj)
/* set constant */
#define SWIG_SetConstant(name, obj) rb_define_const($module, name, obj)
/* raise */
#define SWIG_Raise(obj, type, desc) rb_exc_raise(SWIG_Ruby_ExceptionType(desc, obj))
/* Get the address of the 'Ruby self' object */
%typemap(in,numinputs=0,noblock=1) VALUE* RUBY_SELF {
$1 = &self;
}
/* Include the unified typemap library */
%include <typemaps/swigtypemaps.swg>