git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13755 626c5289-ae23-0410-ae9c-e8d60b6d4f22
200 lines
4.6 KiB
Text
200 lines
4.6 KiB
Text
%typemap(in) bool
|
|
%{ $1 = ($1_ltype) $input->BooleanValue();%}
|
|
|
|
// Primitive types
|
|
%typemap(in) char,
|
|
signed char,
|
|
unsigned char,
|
|
short,
|
|
unsigned short,
|
|
int
|
|
%{ $1 = ($1_ltype) $input->Int32Value();%}
|
|
|
|
%typemap(in) unsigned int,
|
|
long,
|
|
unsigned long,
|
|
long long,
|
|
unsigned long long
|
|
%{ $1 = ($1_ltype) $input->UInt32Value();%}
|
|
|
|
%typemap(in) float, double
|
|
%{ $1 = ($1_ltype) $input->NumberValue();%}
|
|
|
|
|
|
%typemap(in) const bool &, bool &,
|
|
const char &, char &,
|
|
const signed char &, signed char &,
|
|
const unsigned char &, unsigned char &,
|
|
const short &, short &,
|
|
const unsigned short &, unsigned short &,
|
|
const int &, int &,
|
|
const unsigned int &, unsigned int &,
|
|
const long &, long &,
|
|
const unsigned long &, unsigned long &,
|
|
const long long &, long long &,
|
|
const unsigned long long &, unsigned long long &,
|
|
const float &, float &,
|
|
const double &, double &
|
|
%{
|
|
// TODO: typemap(in) const bool& at al
|
|
}
|
|
|
|
%typemap(out) bool
|
|
%{ $result = v8::Boolean::New($1);%}
|
|
|
|
%typemap(out) char,
|
|
signed char,
|
|
unsigned char,
|
|
short,
|
|
unsigned short,
|
|
int
|
|
%{ $result = v8::Int32::New($1);%}
|
|
|
|
%typemap(out) unsigned int,
|
|
long,
|
|
unsigned long,
|
|
long long,
|
|
unsigned long long
|
|
%{ $result = v8::UInt32::New($1);%}
|
|
|
|
%typemap(out) float, double
|
|
%{ $result = v8::Number::New($1); %}
|
|
|
|
%typemap(out) const bool &, bool &,
|
|
const char &, char &,
|
|
const signed char &, signed char &,
|
|
const unsigned char &, unsigned char &,
|
|
const short &, short &,
|
|
const unsigned short &, unsigned short &,
|
|
const int &, int &
|
|
%{ $result = v8::Int32::New((*$1);%}
|
|
|
|
%typemap(out) const unsigned int &, unsigned int &,
|
|
const long &, long &,
|
|
const unsigned long &, unsigned long &,
|
|
const long long &, long long &,
|
|
const unsigned long long &, unsigned long long &
|
|
%{ $result = v8::UInt32::New(*$1);%}
|
|
|
|
%typemap(out) const float &, float &,
|
|
const double &, double &
|
|
%{ $result = v8::Number::New(*$1);%}
|
|
|
|
%typemap(in) short *,
|
|
unsigned short *,
|
|
int *,
|
|
unsigned int *,
|
|
long *,
|
|
unsigned long *,
|
|
long long *,
|
|
unsigned long long *,
|
|
float *,
|
|
double *
|
|
%{
|
|
// TODO: typemap(in): short* et al.
|
|
%}
|
|
|
|
|
|
%typemap(out) short *,
|
|
unsigned short *,
|
|
int *,
|
|
unsigned int *,
|
|
long *,
|
|
unsigned long *,
|
|
long long *,
|
|
unsigned long long *,
|
|
float *,
|
|
double *
|
|
%{
|
|
// TODO: typemap(out) short* et al.
|
|
%}
|
|
|
|
|
|
%typemap(out) void
|
|
%{ $result = v8::Undefined(); %}
|
|
|
|
|
|
%typemap(in) char *
|
|
%{
|
|
// TODO: input typemap for char*
|
|
%}
|
|
|
|
%typemap(out) char *
|
|
%{
|
|
// TODO: output typemap for char*
|
|
%}
|
|
|
|
%typemap(in) char *& ($*1_ltype temp = 0) %{
|
|
// TODO: input typemap for char*&
|
|
%}
|
|
|
|
%typemap(out) char *&
|
|
%{
|
|
// TODO: output typemap for char*&
|
|
%}
|
|
|
|
/* char arrays - treat as String */
|
|
%typemap(in) char[ANY], char[] %{
|
|
// TODO: input typemap for char[]
|
|
%}
|
|
|
|
%typemap(out) char[ANY], char[]
|
|
%{
|
|
// TODO: output typemap for char[]
|
|
%}
|
|
|
|
%typemap(freearg) char *, char *&, char[ANY], char[] //TODO: Not working: A memory leak
|
|
%{
|
|
// TODO: freearg char* et al
|
|
%}
|
|
|
|
|
|
/* Typemaps for composite types */
|
|
%typemap(in) SWIGTYPE ($&1_type argp) // Objects passed by value, convert to a pointer
|
|
%{
|
|
// TODO: input typemap for composite types
|
|
%}
|
|
|
|
%typemap(out) SWIGTYPE ($&1_type temp)
|
|
%{
|
|
// TODO: output typemap for composite types
|
|
%}
|
|
|
|
%typemap(in) SWIGTYPE *, SWIGTYPE &
|
|
%{
|
|
// TODO: input typemap for ptr types
|
|
%}
|
|
|
|
%typemap(out) SWIGTYPE *, SWIGTYPE &
|
|
%{
|
|
// TODO: output typemap for ptr types
|
|
%}
|
|
|
|
// TODO: sanity check?
|
|
%typemap(arginit) SWIGTYPE *
|
|
%{%}
|
|
|
|
%typemap(in) SWIGTYPE (CLASS::*) ""
|
|
|
|
%typemap(out) SWIGTYPE (CLASS::*)
|
|
%{
|
|
// TODO: output typemap for CLASS::*
|
|
%}
|
|
|
|
// Default array handling
|
|
%typemap(in) SWIGTYPE [] %{
|
|
// TODO: typemap for arrays;
|
|
%}
|
|
|
|
%typemap(out) SWIGTYPE [] %{ $result = $1; %}
|
|
|
|
// Some ANSI C typemaps */
|
|
%apply unsigned long { size_t };
|
|
|
|
%apply const unsigned long & { const size_t & };
|
|
|
|
// Array reference typemaps
|
|
%apply SWIGTYPE & { SWIGTYPE ((&)[ANY]) }
|
|
|
|
// const pointers
|
|
%apply SWIGTYPE * { SWIGTYPE *const }
|