From: Robin Dunn Date: Tue, 30 Apr 2002 04:26:02 +0000 (+0000) Subject: Removed the old patch files for swig X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/322a3817ea96aa1995e78bb2f04186b50f4c14bc?ds=inline Removed the old patch files for swig git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/SWIG/README.txt b/wxPython/SWIG/README.txt deleted file mode 100644 index f85a66ebf8..0000000000 --- a/wxPython/SWIG/README.txt +++ /dev/null @@ -1,21 +0,0 @@ - -Some minor tweaks were made to pyexp.swg and typemaps.i to allow -wxPython to build with Python 1.6. Just put these in your -swig_lib/python dir and you'll be all set. These are from SWIG -1.1-883. - - -Additionally, there are some patches for SWIG sources that are needed -for wxPython: - - 1. python.cxx.patch, applied to .../Modules/python.cxx file will - prevent the out typemap from being used on constructors. - - 2. cplus.cxx.patch, applied to .../SWIG/cplus.cxx will prevent - some redundant code from being emitted to the extension - module. - - 3. pycpp.cxx.patch, applied to .../Modules/pycpp.cxx will add - support for the addtomethod pragma for renamed constructors. - - diff --git a/wxPython/SWIG/cplus.cxx.patch b/wxPython/SWIG/cplus.cxx.patch deleted file mode 100644 index 75126c00e9..0000000000 --- a/wxPython/SWIG/cplus.cxx.patch +++ /dev/null @@ -1,37 +0,0 @@ -*** SWIG\cplus.cxx.orig Fri May 18 13:03:34 2001 ---- SWIG\cplus.cxx Fri May 18 13:07:42 2001 -*************** -*** 839,845 **** - - if (name) { - if (strlen(name)) { -! if (strlen(ctype) > 0) { - sprintf(temp,"%s %s", ctype, name); - typeeq_derived(temp,name); // Map "struct foo" to "foo" - typeeq_derived(name,temp); // Map "foo" to "struct foo" ---- 839,845 ---- - - if (name) { - if (strlen(name)) { -! if (strlen(ctype) > 0 && strcmp(ctype, "class") != 0) { - sprintf(temp,"%s %s", ctype, name); - typeeq_derived(temp,name); // Map "struct foo" to "foo" - typeeq_derived(name,temp); // Map "foo" to "struct foo" -*************** -*** 1092,1098 **** - - // Make a type-equivalence allowing derived classes to be used in functions of the - -! if (strlen(current_class->classtype) > 0) { - temp1 = ""; - temp1 << current_class->classtype << " " << current_class->classname; - temp2 = ""; ---- 1092,1099 ---- - - // Make a type-equivalence allowing derived classes to be used in functions of the - -! if (strlen(current_class->classtype) > 0 && -! strcmp(current_class->classtype, "class") != 0) { - temp1 = ""; - temp1 << current_class->classtype << " " << current_class->classname; - temp2 = ""; diff --git a/wxPython/SWIG/pycpp.cxx.patch b/wxPython/SWIG/pycpp.cxx.patch deleted file mode 100644 index 54301e6a6c..0000000000 --- a/wxPython/SWIG/pycpp.cxx.patch +++ /dev/null @@ -1,22 +0,0 @@ -*** Modules/pycpp.cxx.orig Fri Oct 12 16:37:36 2001 ---- Modules/pycpp.cxx Fri Oct 12 16:38:20 2001 -*************** -*** 228,235 **** - *additional << "def " << realname << "(*_args,**_kwargs):\n"; - *additional << tab4 << "val = " << class_name << "Ptr(apply(" - << module << "." << name_construct(realname) << ",_args,_kwargs))\n" -! << tab4 << "val.thisown = 1\n" -! << tab4 << "return val\n\n"; - } - // Patch up the documentation entry - if (doc_entry) { ---- 228,236 ---- - *additional << "def " << realname << "(*_args,**_kwargs):\n"; - *additional << tab4 << "val = " << class_name << "Ptr(apply(" - << module << "." << name_construct(realname) << ",_args,_kwargs))\n" -! << tab4 << "val.thisown = 1\n"; -! emitAddPragmas(*additional, realname, tab4); -! *additional << tab4 << "return val\n\n"; - } - // Patch up the documentation entry - if (doc_entry) { diff --git a/wxPython/SWIG/pyexp.swg b/wxPython/SWIG/pyexp.swg deleted file mode 100644 index a7305579be..0000000000 --- a/wxPython/SWIG/pyexp.swg +++ /dev/null @@ -1,32 +0,0 @@ -#include -#include -/* Definitions for Windows/Unix exporting */ -#if defined(__WIN32__) -# if defined(_MSC_VER) -# define SWIGEXPORT(a) __declspec(dllexport) a -# else -# if defined(__BORLANDC__) -# define SWIGEXPORT(a) a _export -# else -# define SWIGEXPORT(a) a -# endif -# endif -#else -# define SWIGEXPORT(a) a -#endif - -#include "Python.h" - -#ifdef __cplusplus -extern "C" { -#endif - -extern void SWIG_MakePtr(char *, void *, char *); -extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *)); -extern char *SWIG_GetPtr(char *, void **, char *); -extern char *SWIG_GetPtrObj(PyObject *, void **, char *); -extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *)); -extern PyObject *SWIG_newvarlink(void); -#ifdef __cplusplus -} -#endif diff --git a/wxPython/SWIG/python.cxx.patch b/wxPython/SWIG/python.cxx.patch deleted file mode 100644 index b1c8158a8d..0000000000 --- a/wxPython/SWIG/python.cxx.patch +++ /dev/null @@ -1,20 +0,0 @@ -*** Modules\python.cxx.orig Fri May 11 16:04:01 2001 ---- Modules\python.cxx Fri May 11 16:14:08 2001 -*************** -*** 879,885 **** - // If there was a result, it was saved in _result. - // If the function is a void type, don't do anything. - -! if ((tm = typemap_lookup("out","python",d,iname,"_result","_resultobj"))) { - // Yep. Use it instead of the default - f.code << tm << "\n"; - } else { ---- 879,886 ---- - // If there was a result, it was saved in _result. - // If the function is a void type, don't do anything. - -! if ((strncmp(name, "new_", 4) != 0) && // don't use the out typemap for constructors -! (tm = typemap_lookup("out","python",d,iname,"_result","_resultobj"))) { - // Yep. Use it instead of the default - f.code << tm << "\n"; - } else { diff --git a/wxPython/SWIG/typemaps.i b/wxPython/SWIG/typemaps.i deleted file mode 100644 index 537511123c..0000000000 --- a/wxPython/SWIG/typemaps.i +++ /dev/null @@ -1,564 +0,0 @@ -// -// SWIG Typemap library -// Dave Beazley -// May 5, 1997 -// -// Python implementation -// -// This library provides standard typemaps for modifying SWIG's behavior. -// With enough entries in this file, I hope that very few people actually -// ever need to write a typemap. -// -// Disclaimer : Unless you really understand how typemaps work, this file -// probably isn't going to make much sense. -// -#ifdef AUTODOC -%section "Typemap Library (Python)",info,after,pre,nosort,skip=1,chop_left=3,chop_right=0,chop_top=0,chop_bottom=0 -%text %{ -%include typemaps.i - -The SWIG typemap library provides a language independent mechanism for -supporting output arguments, input values, and other C function -calling mechanisms. The primary use of the library is to provide a -better interface to certain C function--especially those involving -pointers. -%} - -#endif - -// ------------------------------------------------------------------------ -// Pointer handling -// -// These mappings provide support for input/output arguments and common -// uses for C/C++ pointers. -// ------------------------------------------------------------------------ - -// INPUT typemaps. -// These remap a C pointer to be an "INPUT" value which is passed by value -// instead of reference. - - -#ifdef AUTODOC -%subsection "Input Methods" - -%text %{ -The following methods can be applied to turn a pointer into a simple -"input" value. That is, instead of passing a pointer to an object, -you would use a real value instead. - - int *INPUT - short *INPUT - long *INPUT - unsigned int *INPUT - unsigned short *INPUT - unsigned long *INPUT - unsigned char *INPUT - float *INPUT - double *INPUT - -To use these, suppose you had a C function like this : - - double fadd(double *a, double *b) { - return *a+*b; - } - -You could wrap it with SWIG as follows : - - %include typemaps.i - double fadd(double *INPUT, double *INPUT); - -or you can use the %apply directive : - - %include typemaps.i - %apply double *INPUT { double *a, double *b }; - double fadd(double *a, double *b); - -%} -#endif - -%typemap(python,in) double *INPUT(double temp) -{ - temp = PyFloat_AsDouble($source); - $target = &temp; -} - -%typemap(python,in) float *INPUT(float temp) -{ - temp = (float) PyFloat_AsDouble($source); - $target = &temp; -} - -%typemap(python,in) int *INPUT(int temp) -{ - temp = (int) PyInt_AsLong($source); - $target = &temp; -} - -%typemap(python,in) short *INPUT(short temp) -{ - temp = (short) PyInt_AsLong($source); - $target = &temp; -} - -%typemap(python,in) long *INPUT(long temp) -{ - temp = (long) PyInt_AsLong($source); - $target = &temp; -} -%typemap(python,in) unsigned int *INPUT(unsigned int temp) -{ - temp = (unsigned int) PyInt_AsLong($source); - $target = &temp; -} -%typemap(python,in) unsigned short *INPUT(unsigned short temp) -{ - temp = (unsigned short) PyInt_AsLong($source); - $target = &temp; -} -%typemap(python,in) unsigned long *INPUT(unsigned long temp) -{ - temp = (unsigned long) PyInt_AsLong($source); - $target = &temp; -} -%typemap(python,in) unsigned char *INPUT(unsigned char temp) -{ - temp = (unsigned char) PyInt_AsLong($source); - $target = &temp; -} - -%typemap(python,in) signed char *INPUT(signed char temp) -{ - temp = (unsigned char) PyInt_AsLong($source); - $target = &temp; -} - -// OUTPUT typemaps. These typemaps are used for parameters that -// are output only. The output value is appended to the result as -// a list element. - -#ifdef AUTODOC -%subsection "Output Methods" - -%text %{ -The following methods can be applied to turn a pointer into an "output" -value. When calling a function, no input value would be given for -a parameter, but an output value would be returned. In the case of -multiple output values, they are returned in the form of a Python tuple. - - int *OUTPUT - short *OUTPUT - long *OUTPUT - unsigned int *OUTPUT - unsigned short *OUTPUT - unsigned long *OUTPUT - unsigned char *OUTPUT - float *OUTPUT - double *OUTPUT - -A Python List can also be returned by using L_OUTPUT instead of OUTPUT. - -For example, suppose you were trying to wrap the modf() function in the -C math library which splits x into integral and fractional parts (and -returns the integer part in one of its parameters).K: - - double modf(double x, double *ip); - -You could wrap it with SWIG as follows : - - %include typemaps.i - double modf(double x, double *OUTPUT); - -or you can use the %apply directive : - - %include typemaps.i - %apply double *OUTPUT { double *ip }; - double modf(double x, double *ip); - -The Python output of the function would be a tuple containing both -output values. -%} -#endif - - -// I don't use this anywhere, get rid of it... - -// Helper function for List output -// static PyObject* l_output_helper(PyObject* target, PyObject* o) { -// PyObject* o2; -// if (!target) { -// target = o; -// } else if (target == Py_None) { -// Py_DECREF(Py_None); -// target = o; -// } else { -// if (!PyList_Check(target)) { -// o2 = target; -// target = PyList_New(0); -// PyList_Append(target, o2); -// Py_XDECREF(o2); -// } -// PyList_Append(target,o); -// Py_XDECREF(o); -// } -// return target; -// } - -%{ -%} - -// Force the argument to be ignored. - -%typemap(python,ignore) int *L_OUTPUT(int temp), - short *L_OUTPUT(short temp), - long *L_OUTPUT(long temp), - unsigned int *L_OUTPUT(unsigned int temp), - unsigned short *L_OUTPUT(unsigned short temp), - unsigned long *L_OUTPUT(unsigned long temp), - unsigned char *L_OUTPUT(unsigned char temp), - signed char *L_OUTPUT(signed char temp), - float *L_OUTPUT(float temp), - double *L_OUTPUT(double temp) -{ - $target = &temp; -} - -%typemap(python,argout) int *L_OUTPUT, - short *L_OUTPUT, - long *L_OUTPUT, - unsigned int *L_OUTPUT, - unsigned short *L_OUTPUT, - unsigned long *L_OUTPUT, - unsigned char *L_OUTPUT, - signed char *L_OUTPUT -{ - PyObject *o; - o = PyInt_FromLong((long) (*$source)); - l_output_helper($target,o); -} - -%typemap(python,argout) float *L_OUTPUT, - double *L_OUTPUT -{ - PyObject *o; - o = PyFloat_FromDouble((double) (*$source)); - $target = l_output_helper($target,o); -} - -// These typemaps contributed by Robin Dunn -//---------------------------------------------------------------------- -// -// T_OUTPUT typemap (and helper function) to return multiple argouts as -// a tuple instead of a list. -// -// Author: Robin Dunn -//---------------------------------------------------------------------- - -%{ -static PyObject* t_output_helper(PyObject* target, PyObject* o) { - PyObject* o2; - PyObject* o3; - - if (!target) { - target = o; - } else if (target == Py_None) { - Py_DECREF(Py_None); - target = o; - } else { - if (!PyTuple_Check(target)) { - o2 = target; - target = PyTuple_New(1); - PyTuple_SetItem(target, 0, o2); - } - o3 = PyTuple_New(1); - PyTuple_SetItem(o3, 0, o); - - o2 = target; - target = PySequence_Concat(o2, o3); - Py_DECREF(o2); - Py_DECREF(o3); - } - return target; -} -%} - -// Force the argument to be ignored. -%typemap(python,ignore) int *T_OUTPUT(int temp), - short *T_OUTPUT(short temp), - long *T_OUTPUT(long temp), - unsigned int *T_OUTPUT(unsigned int temp), - unsigned short *T_OUTPUT(unsigned short temp), - unsigned long *T_OUTPUT(unsigned long temp), - unsigned char *T_OUTPUT(unsigned char temp), - float *T_OUTPUT(float temp), - double *T_OUTPUT(double temp) -{ - $target = &temp; -} - -%typemap(python,argout) int *T_OUTPUT, - short *T_OUTPUT, - long *T_OUTPUT, - unsigned int *T_OUTPUT, - unsigned short *T_OUTPUT, - unsigned long *T_OUTPUT, - unsigned char *T_OUTPUT -{ - PyObject *o; - o = PyInt_FromLong((long) (*$source)); - $target = t_output_helper($target, o); -} - -%typemap(python,argout) float *T_OUTPUT, - double *T_OUTPUT -{ - PyObject *o; - o = PyFloat_FromDouble((double) (*$source)); - $target = t_output_helper($target, o); -} - -// Set the default output typemap - -#ifdef OUTPUT_LIST -%typemap(python,ignore) int *OUTPUT = int *L_OUTPUT; -%typemap(python,ignore) short *OUTPUT = short *L_OUTPUT; -%typemap(python,ignore) long *OUTPUT = long *L_OUTPUT; -%typemap(python,ignore) unsigned *OUTPUT = unsigned *L_OUTPUT; -%typemap(python,ignore) unsigned short *OUTPUT = unsigned short *L_OUTPUT; -%typemap(python,ignore) unsigned long *OUTPUT = unsigned long *L_OUTPUT; -%typemap(python,ignore) unsigned char *OUTPUT = unsigned char *L_OUTPUT; -%typemap(python,ignore) signed char *OUTPUT = signed char *L_OUTPUT; -%typemap(python,ignore) double *OUTPUT = double *L_OUTPUT; -%typemap(python,ignore) float *OUTPUT = float *L_OUTPUT; - -%typemap(python,argout) int *OUTPUT = int *L_OUTPUT; -%typemap(python,argout) short *OUTPUT = short *L_OUTPUT; -%typemap(python,argout) long *OUTPUT = long *L_OUTPUT; -%typemap(python,argout) unsigned *OUTPUT = unsigned *L_OUTPUT; -%typemap(python,argout) unsigned short *OUTPUT = unsigned short *L_OUTPUT; -%typemap(python,argout) unsigned long *OUTPUT = unsigned long *L_OUTPUT; -%typemap(python,argout) unsigned char *OUTPUT = unsigned char *L_OUTPUT; -%typemap(python,argout) signed char *OUTPUT = signed char *L_OUTPUT; -%typemap(python,argout) double *OUTPUT = double *L_OUTPUT; -%typemap(python,argout) float *OUTPUT = float *L_OUTPUT; -#else -%typemap(python,ignore) int *OUTPUT = int *T_OUTPUT; -%typemap(python,ignore) short *OUTPUT = short *T_OUTPUT; -%typemap(python,ignore) long *OUTPUT = long *T_OUTPUT; -%typemap(python,ignore) unsigned *OUTPUT = unsigned *T_OUTPUT; -%typemap(python,ignore) unsigned short *OUTPUT = unsigned short *T_OUTPUT; -%typemap(python,ignore) unsigned long *OUTPUT = unsigned long *T_OUTPUT; -%typemap(python,ignore) unsigned char *OUTPUT = unsigned char *T_OUTPUT; -%typemap(python,ignore) signed char *OUTPUT = signed char *T_OUTPUT; -%typemap(python,ignore) double *OUTPUT = double *T_OUTPUT; -%typemap(python,ignore) float *OUTPUT = float *T_OUTPUT; - -%typemap(python,argout) int *OUTPUT = int *T_OUTPUT; -%typemap(python,argout) short *OUTPUT = short *T_OUTPUT; -%typemap(python,argout) long *OUTPUT = long *T_OUTPUT; -%typemap(python,argout) unsigned *OUTPUT = unsigned *T_OUTPUT; -%typemap(python,argout) unsigned short *OUTPUT = unsigned short *T_OUTPUT; -%typemap(python,argout) unsigned long *OUTPUT = unsigned long *T_OUTPUT; -%typemap(python,argout) unsigned char *OUTPUT = unsigned char *T_OUTPUT; -%typemap(python,argout) signed char *OUTPUT = signed char *T_OUTPUT; -%typemap(python,argout) double *OUTPUT = double *T_OUTPUT; -%typemap(python,argout) float *OUTPUT = float *T_OUTPUT; -#endif - -// INOUT -// Mappings for an argument that is both an input and output -// parameter - - -#ifdef AUTODOC -%subsection "Input/Output Methods" - -%text %{ -The following methods can be applied to make a function parameter both -an input and output value. This combines the behavior of both the -"INPUT" and "OUTPUT" methods described earlier. Output values are -returned in the form of a Python tuple. To return a Python list, -using L_INOUT instead. - - int *INOUT - short *INOUT - long *INOUT - unsigned int *INOUT - unsigned short *INOUT - unsigned long *INOUT - unsigned char *INOUT - float *INOUT - double *INOUT - -For example, suppose you were trying to wrap the following function : - - void neg(double *x) { - *x = -(*x); - } - -You could wrap it with SWIG as follows : - - %include typemaps.i - void neg(double *INOUT); - -or you can use the %apply directive : - - %include typemaps.i - %apply double *INOUT { double *x }; - void neg(double *x); - -Unlike C, this mapping does not directly modify the input value (since -this makes no sense in Python). Rather, the modified input value shows -up as the return value of the function. Thus, to apply this function -to a Python variable you might do this : - - x = neg(x) - -Note : previous versions of SWIG used the symbol 'BOTH' to mark -input/output arguments. This is still supported, but will be slowly -phased out in future releases. -%} - -#endif - -%typemap(python,in) int *INOUT = int *INPUT; -%typemap(python,in) short *INOUT = short *INPUT; -%typemap(python,in) long *INOUT = long *INPUT; -%typemap(python,in) unsigned *INOUT = unsigned *INPUT; -%typemap(python,in) unsigned short *INOUT = unsigned short *INPUT; -%typemap(python,in) unsigned long *INOUT = unsigned long *INPUT; -%typemap(python,in) unsigned char *INOUT = unsigned char *INPUT; -%typemap(python,in) float *INOUT = float *INPUT; -%typemap(python,in) double *INOUT = double *INPUT; - -%typemap(python,argout) int *INOUT = int *OUTPUT; -%typemap(python,argout) short *INOUT = short *OUTPUT; -%typemap(python,argout) long *INOUT = long *OUTPUT; -%typemap(python,argout) unsigned *INOUT = unsigned *OUTPUT; -%typemap(python,argout) unsigned short *INOUT = unsigned short *OUTPUT; -%typemap(python,argout) unsigned long *INOUT = unsigned long *OUTPUT; -%typemap(python,argout) unsigned char *INOUT = unsigned char *OUTPUT; -%typemap(python,argout) float *INOUT = float *OUTPUT; -%typemap(python,argout) double *INOUT = double *OUTPUT; - -%typemap(python,in) int *T_INOUT = int *INPUT; -%typemap(python,in) short *T_INOUT = short *INPUT; -%typemap(python,in) long *T_INOUT = long *INPUT; -%typemap(python,in) unsigned *T_INOUT = unsigned *INPUT; -%typemap(python,in) unsigned short *T_INOUT = unsigned short *INPUT; -%typemap(python,in) unsigned long *T_INOUT = unsigned long *INPUT; -%typemap(python,in) unsigned char *T_INOUT = unsigned char *INPUT; -%typemap(python,in) float *T_INOUT = float *INPUT; -%typemap(python,in) double *T_INOUT = double *INPUT; - -%typemap(python,argout) int *T_INOUT = int *T_OUTPUT; -%typemap(python,argout) short *T_INOUT = short *T_OUTPUT; -%typemap(python,argout) long *T_INOUT = long *T_OUTPUT; -%typemap(python,argout) unsigned *T_INOUT = unsigned *T_OUTPUT; -%typemap(python,argout) unsigned short *T_INOUT = unsigned short *T_OUTPUT; -%typemap(python,argout) unsigned long *T_INOUT = unsigned long *T_OUTPUT; -%typemap(python,argout) unsigned char *T_INOUT = unsigned char *T_OUTPUT; -%typemap(python,argout) float *T_INOUT = float *T_OUTPUT; -%typemap(python,argout) double *T_INOUT = double *T_OUTPUT; - -%typemap(python,in) int *L_INOUT = int *INPUT; -%typemap(python,in) short *L_INOUT = short *INPUT; -%typemap(python,in) long *L_INOUT = long *INPUT; -%typemap(python,in) unsigned *L_INOUT = unsigned *INPUT; -%typemap(python,in) unsigned short *L_INOUT = unsigned short *INPUT; -%typemap(python,in) unsigned long *L_INOUT = unsigned long *INPUT; -%typemap(python,in) unsigned char *L_INOUT = unsigned char *INPUT; -%typemap(python,in) float *L_INOUT = float *INPUT; -%typemap(python,in) double *L_INOUT = double *INPUT; - -%typemap(python,argout) int *L_INOUT = int *L_OUTPUT; -%typemap(python,argout) short *L_INOUT = short *L_OUTPUT; -%typemap(python,argout) long *L_INOUT = long *L_OUTPUT; -%typemap(python,argout) unsigned *L_INOUT = unsigned *L_OUTPUT; -%typemap(python,argout) unsigned short *L_INOUT = unsigned short *L_OUTPUT; -%typemap(python,argout) unsigned long *L_INOUT = unsigned long *L_OUTPUT; -%typemap(python,argout) unsigned char *L_INOUT = unsigned char *L_OUTPUT; -%typemap(python,argout) float *L_INOUT = float *L_OUTPUT; -%typemap(python,argout) double *L_INOUT = double *L_OUTPUT; - -// Backwards compatibility - -%typemap(python,in) int *BOTH = int *INOUT; -%typemap(python,in) short *BOTH = short *INOUT; -%typemap(python,in) long *BOTH = long *INOUT; -%typemap(python,in) unsigned *BOTH = unsigned *INOUT; -%typemap(python,in) unsigned short *BOTH = unsigned short *INOUT; -%typemap(python,in) unsigned long *BOTH = unsigned long *INOUT; -%typemap(python,in) unsigned char *BOTH = unsigned char *INOUT; -%typemap(python,in) float *BOTH = float *INOUT; -%typemap(python,in) double *BOTH = double *INOUT; - -%typemap(python,argout) int *BOTH = int *INOUT; -%typemap(python,argout) short *BOTH = short *INOUT; -%typemap(python,argout) long *BOTH = long *INOUT; -%typemap(python,argout) unsigned *BOTH = unsigned *INOUT; -%typemap(python,argout) unsigned short *BOTH = unsigned short *INOUT; -%typemap(python,argout) unsigned long *BOTH = unsigned long *INOUT; -%typemap(python,argout) unsigned char *BOTH = unsigned char *INOUT; -%typemap(python,argout) float *BOTH = float *INOUT; -%typemap(python,argout) double *BOTH = double *INOUT; - -%typemap(python,in) int *T_BOTH = int *T_INOUT; -%typemap(python,in) short *T_BOTH = short *T_INOUT; -%typemap(python,in) long *T_BOTH = long *T_INOUT; -%typemap(python,in) unsigned *T_BOTH = unsigned *T_INOUT; -%typemap(python,in) unsigned short *T_BOTH = unsigned short *T_INOUT; -%typemap(python,in) unsigned long *T_BOTH = unsigned long *T_INOUT; -%typemap(python,in) unsigned char *T_BOTH = unsigned char *T_INOUT; -%typemap(python,in) float *T_BOTH = float *T_INOUT; -%typemap(python,in) double *T_BOTH = double *T_INOUT; - -%typemap(python,argout) int *T_BOTH = int *T_INOUT; -%typemap(python,argout) short *T_BOTH = short *T_INOUT; -%typemap(python,argout) long *T_BOTH = long *T_INOUT; -%typemap(python,argout) unsigned *T_BOTH = unsigned *T_INOUT; -%typemap(python,argout) unsigned short *T_BOTH = unsigned short *T_INOUT; -%typemap(python,argout) unsigned long *T_BOTH = unsigned long *T_INOUT; -%typemap(python,argout) unsigned char *T_BOTH = unsigned char *T_INOUT; -%typemap(python,argout) float *T_BOTH = float *T_INOUT; -%typemap(python,argout) double *T_BOTH = double *T_INOUT; - -// -------------------------------------------------------------------- -// Special types -// -// -------------------------------------------------------------------- - -#ifdef AUTODOC -%subsection "Special Methods" - -%text %{ -The typemaps.i library also provides the following mappings : - -PyObject * - - When a PyObject * appears as either an input value or return - value of a function, SWIG passes it through unmodified. Thus, - if you want to write a C function that operates on PyObjects, - it is easy to write. For example : - - %include typemaps.i - PyObject *spam(PyObject *obj1, int n); - - Unlike normal Python wrapper functions, These functions can - use any combination of parameters that you wish. - -%} - -#endif - - -// If a PyObject * appears as either an argument or a function return -// value, simply pass it straight through. - -%typemap(python,in) PyObject * { - $target = $source; -} - -%typemap(python,out) PyObject * { - $target = $source; -} -