1 /* -----------------------------------------------------------------------------
2 * See the LICENSE file for information on copyright, usage and redistribution
3 * of SWIG, and the README file for authors - http://www.swig.org/release.html.
8 * ----------------------------------------------------------------------------- */
10 %typecheck(SWIG_TYPECHECK_INTEGER) char, signed char, const char &, const signed char & {
11 if( !Is_block($input) ) $1 = 0;
13 switch( SWIG_Tag_val($input) ) {
14 case C_char: $1 = 1; break;
15 default: $1 = 0; break;
20 %typecheck(SWIG_TYPECHECK_INTEGER) unsigned char, const unsigned char & {
21 if( !Is_block($input) ) $1 = 0;
23 switch( SWIG_Tag_val($input) ) {
24 case C_uchar: $1 = 1; break;
25 default: $1 = 0; break;
30 %typecheck(SWIG_TYPECHECK_INTEGER) short, signed short, const short &, const signed short &, wchar_t {
31 if( !Is_block($input) ) $1 = 0;
33 switch( SWIG_Tag_val($input) ) {
34 case C_short: $1 = 1; break;
35 default: $1 = 0; break;
40 %typecheck(SWIG_TYPECHECK_INTEGER) unsigned short, const unsigned short & {
41 if( !Is_block($input) ) $1 = 0;
43 switch( SWIG_Tag_val($input) ) {
44 case C_ushort: $1 = 1; break;
45 default: $1 = 0; break;
51 // Will move enum SWIGTYPE later when I figure out what to do with it...
53 %typecheck(SWIG_TYPECHECK_INTEGER) int, signed int, const int &, const signed int &, enum SWIGTYPE {
54 if( !Is_block($input) ) $1 = 0;
56 switch( SWIG_Tag_val($input) ) {
57 case C_int: $1 = 1; break;
58 default: $1 = 0; break;
63 %typecheck(SWIG_TYPECHECK_INTEGER) unsigned int, const unsigned int & {
64 if( !Is_block($input) ) $1 = 0;
66 switch( SWIG_Tag_val($input) ) {
67 case C_uint: $1 = 1; break;
68 case C_int32: $1 = 1; break;
69 default: $1 = 0; break;
74 %typecheck(SWIG_TYPECHECK_INTEGER) long, signed long, unsigned long, long long, signed long long, unsigned long long, const long &, const signed long &, const unsigned long &, const long long &, const signed long long &, const unsigned long long & {
75 if( !Is_block($input) ) $1 = 0;
77 switch( SWIG_Tag_val($input) ) {
78 case C_int64: $1 = 1; break;
79 default: $1 = 0; break;
84 %typecheck(SWIG_TYPECHECK_INTEGER) bool, oc_bool, BOOL, const bool &, const oc_bool &, const BOOL & {
85 if( !Is_block($input) ) $1 = 0;
87 switch( SWIG_Tag_val($input) ) {
88 case C_bool: $1 = 1; break;
89 default: $1 = 0; break;
94 %typecheck(SWIG_TYPECHECK_DOUBLE) float, const float & {
95 if( !Is_block($input) ) $1 = 0;
97 switch( SWIG_Tag_val($input) ) {
98 case C_float: $1 = 1; break;
99 default: $1 = 0; break;
104 %typecheck(SWIG_TYPECHECK_DOUBLE) double, const double & {
105 if( !Is_block($input) ) $1 = 0;
107 switch( SWIG_Tag_val($input) ) {
108 case C_double: $1 = 1; break;
109 default: $1 = 0; break;
114 %typecheck(SWIG_TYPECHECK_STRING) char * {
115 if( !Is_block($input) ) $1 = 0;
117 switch( SWIG_Tag_val($input) ) {
118 case C_string: $1 = 1; break;
120 swig_type_info *typeinfo =
121 (swig_type_info *)(long)SWIG_Int64_val(SWIG_Field($input,1));
122 $1 = SWIG_TypeCheck("char *",typeinfo) ||
123 SWIG_TypeCheck("signed char *",typeinfo) ||
124 SWIG_TypeCheck("unsigned char *",typeinfo) ||
125 SWIG_TypeCheck("const char *",typeinfo) ||
126 SWIG_TypeCheck("const signed char *",typeinfo) ||
127 SWIG_TypeCheck("const unsigned char *",typeinfo) ||
128 SWIG_TypeCheck("std::string",typeinfo);
130 default: $1 = 0; break;
135 %typecheck(SWIG_TYPECHECK_POINTER) SWIGTYPE *, SWIGTYPE &, SWIGTYPE [] {
137 $1 = !caml_ptr_val_internal($input, &ptr,$descriptor);
142 %typecheck(SWIG_TYPECHECK_POINTER) SWIGTYPE {
144 $1 = !caml_ptr_val_internal($input, &ptr, $&1_descriptor);
149 %typecheck(SWIG_TYPECHECK_VOIDPTR) void * {
151 $1 = !caml_ptr_val_internal($input, &ptr, 0);
154 /* ------------------------------------------------------------
156 * ------------------------------------------------------------ */
158 %typemap(throws) int,
164 SWIG_exception($1,"Thrown exception from C++ (int)");
167 %typemap(throws) SWIGTYPE CLASS {
168 $&1_ltype temp = new $1_ltype($1);
169 SWIG_exception((int)temp,"Thrown exception from C++ (object)");
172 %typemap(throws) SWIGTYPE {
174 SWIG_exception(0,"Thrown exception from C++ (unknown)");
177 %typemap(throws) char * {
178 SWIG_exception(0,$1);