| Index: swig/Lib/python/file.i
|
| ===================================================================
|
| --- swig/Lib/python/file.i (revision 0)
|
| +++ swig/Lib/python/file.i (revision 0)
|
| @@ -0,0 +1,45 @@
|
| +/* -----------------------------------------------------------------------------
|
| + * See the LICENSE file for information on copyright, usage and redistribution
|
| + * of SWIG, and the README file for authors - http://www.swig.org/release.html.
|
| + *
|
| + * file.i
|
| + *
|
| + * Typemaps for FILE*
|
| + * From the ideas of Luigi Ballabio
|
| + * ----------------------------------------------------------------------------- */
|
| +
|
| +%types(FILE *);
|
| +
|
| +/* defining basic methods */
|
| +%fragment("SWIG_AsValFilePtr","header") {
|
| +SWIGINTERN int
|
| +SWIG_AsValFilePtr(PyObject *obj, FILE **val) {
|
| + static swig_type_info* desc = 0;
|
| + void *vptr = 0;
|
| + if (!desc) desc = SWIG_TypeQuery("FILE *");
|
| + if ((SWIG_ConvertPtr(obj, &vptr, desc, 0)) == SWIG_OK) {
|
| + if (val) *val = (FILE *)vptr;
|
| + return SWIG_OK;
|
| + }
|
| +%#if PY_VERSION_HEX < 0x03000000
|
| + if (PyFile_Check(obj)) {
|
| + if (val) *val = PyFile_AsFile(obj);
|
| + return SWIG_OK;
|
| + }
|
| +%#endif
|
| + return SWIG_TypeError;
|
| +}
|
| +}
|
| +
|
| +
|
| +%fragment("SWIG_AsFilePtr","header",fragment="SWIG_AsValFilePtr") {
|
| +SWIGINTERNINLINE FILE*
|
| +SWIG_AsFilePtr(PyObject *obj) {
|
| + FILE *val = 0;
|
| + SWIG_AsValFilePtr(obj, &val);
|
| + return val;
|
| +}
|
| +}
|
| +
|
| +/* defining the typemaps */
|
| +%typemaps_asval(%checkcode(POINTER), SWIG_AsValFilePtr, "SWIG_AsValFilePtr", FILE*);
|
|
|