eliminate compilation warnings, add docs, and centralize the access to the unified typemap library

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7710 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2005-10-25 09:31:15 +00:00
commit e7eeff806a
31 changed files with 746 additions and 492 deletions

View file

@ -1,9 +0,0 @@
/* ------------------------------------------------------------
* --- Consttab --- needed for callbacks, it should be removed later.
* ------------------------------------------------------------ */
%typemap(consttab) SWIGTYPE ((*)(ANY))
{ SWIG_PY_POINTER, (char*)"$symname", 0, 0, (void *)($value), &$descriptor }
%typemap(constcode) SWIGTYPE ((*)(ANY)) "";

View file

@ -24,11 +24,6 @@
* ------------------------------------------------------------ */
%include <pyuserdir.swg>
/* ------------------------------------------------------------
* Look for user fragments file.
* ------------------------------------------------------------ */
%include "pyfragments.swg"
/* ------------------------------------------------------------
* Typemap specializations
* ------------------------------------------------------------ */

View file

@ -1,45 +1,79 @@
/* -----------------------------------------------------------------------------
* Typemap specializations
* ----------------------------------------------------------------------------- */
/* ------------------------------------------------------------
* Typemap specializations for Python
* ------------------------------------------------------------ */
/* ------------------------------------------------------------
* Fragment section
* ------------------------------------------------------------ */
/* bool is dangerous in Python, 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 "pyfragments.swg"
/* Python fragments for fundamental types */
%include <pyprimtypes.swg>
/* Python fragments for char* strings */
%include <pystrings.swg>
/* Backward compatibility output helper */
%fragment("t_output_helper","header") %{
#define t_output_helper SWIG_Python_AppendOutput
%}
/* ------------------------------------------------------------
* Unified typemap section
* ------------------------------------------------------------ */
/* directors are supported in Python */
#ifndef SWIG_DIRECTOR_TYPEMAPS
#define SWIG_DIRECTOR_TYPEMAPS
#endif
/* bool is dangerous in Python -> C++, change precedence */
#undef SWIG_TYPECHECK_BOOL
%define SWIG_TYPECHECK_BOOL 10000 %enddef
/* -----------------------------------------------------------------------------
* Basic definitions
* ----------------------------------------------------------------------------- */
/* Python types */
#define SWIG_Object PyObject *
#define VOID_Object (Py_INCREF(Py_None) ? Py_None : 0)
/* Overload of the output/constant/exception/dirout handling */
/* append output */
#define SWIG_AppendOutput(result,obj) SWIG_Python_AppendOutput(result, obj)
#define SWIG_SetConstant(name, obj) %block(PyObject *_obj = obj; PyDict_SetItemString(d, name, _obj); Py_DECREF(_obj))
#define SWIG_Raise(obj, type, desc) PyObject *_obj = obj; PyErr_SetObject(SWIG_Python_ExceptionType(desc), _obj); Py_DECREF(_obj)
#define SWIG_DirOutFail(code, msg) Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(code), msg)
/* set constant */
%define %set_constant(name, obj) %begin_block
PyObject *_obj = obj;
PyDict_SetItemString(d, name, _obj);
Py_DECREF(_obj);
%end_block %enddef
/* raise */
%define %raise(obj, type, desc)
PyObject *_obj = obj;
PyErr_SetObject(SWIG_Python_ExceptionType(desc), _obj);
Py_DECREF(_obj) %enddef
/* -----------------------------------------------------------------------------
* All the typemaps
* ----------------------------------------------------------------------------- */
%include <pyprimtypes.swg>
%include <pystrings.swg>
/* Include the unified typemap library */
%include <typemaps/swigtypemaps.swg>
/* fix for callbacks */
%include <pyswigtype.swg>
/* -----------------------------------------------------------------------------
* Backward compatibility output helper
* ----------------------------------------------------------------------------- */
%fragment("t_output_helper","header") %{
#define t_output_helper SWIG_Python_AppendOutput
%}
/* ------------------------------------------------------------
* Python extra typemaps
* ------------------------------------------------------------ */
/* Consttab, needed for callbacks, it should be removed later */
%typemap(consttab) SWIGTYPE ((*)(ANY))
{ SWIG_PY_POINTER, (char*)"$symname", 0, 0, (void *)($value), &$descriptor }
%typemap(constcode) SWIGTYPE ((*)(ANY)) "";

View file

@ -1,4 +1 @@
%include <typemaps/typemaps.swg>