PageRenderTime 15ms CodeModel.GetById 12ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Lib/ruby/rubytypemaps.swg

#
Unknown | 62 lines | 44 code | 18 blank | 0 comment | 0 complexity | a9a7f0b14e230b066dfc57f7cdf92ea1 MD5 | raw file
 1/* ------------------------------------------------------------
 2 *  Typemap specializations for Ruby
 3 * ------------------------------------------------------------ */
 4/* ------------------------------------------------------------
 5 *  Fragment section
 6 * ------------------------------------------------------------ */
 7/* bool is dangerous in Ruby, change precedence */
 8#undef SWIG_TYPECHECK_BOOL
 9%define SWIG_TYPECHECK_BOOL             10000 %enddef
10
11/* Include fundamental fragemt definitions */
12%include <typemaps/fragments.swg>
13
14/* Look for user fragments file. */
15%include <rubyfragments.swg>
16
17/* Ruby fragments for primitive types */
18%include <rubyprimtypes.swg>
19
20/* Ruby fragments for char* strings */
21%include <rubystrings.swg>
22
23/* Backward compatibility output helper */
24%fragment("output_helper","header") %{
25#define output_helper SWIG_Ruby_AppendOutput
26%}
27
28/* ------------------------------------------------------------
29 *  Unified typemap section
30 * ------------------------------------------------------------ */
31
32/* Directors are supported in Ruby */
33#ifndef SWIG_DIRECTOR_TYPEMAPS
34#define SWIG_DIRECTOR_TYPEMAPS
35#endif
36
37
38/* Ruby types */
39#define SWIG_Object                      VALUE
40#define VOID_Object                      Qnil
41
42/* Overload of the output/constant/exception handling */
43
44/* append output */
45#define SWIG_AppendOutput(result,obj)    SWIG_Ruby_AppendOutput(result, obj)
46
47/* set constant */
48#define SWIG_SetConstant(name, obj)      rb_define_const($module, name, obj)
49
50/* raise */
51#define SWIG_Raise(obj, type, desc)      rb_exc_raise(SWIG_Ruby_ExceptionType(desc, obj)) 
52
53/* Get the address of the 'Ruby self' object */
54
55%typemap(in,numinputs=0,noblock=1) VALUE* RUBY_SELF {
56  $1 = &self;
57}
58
59/* Include the unified typemap library */
60%include <typemaps/swigtypemaps.swg>
61
62