[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Windstille-devel] rev 322 - in trunk/src: . test
From: |
Ingo Ruhnke |
Subject: |
[Windstille-devel] rev 322 - in trunk/src: . test |
Date: |
Sat, 15 May 2004 01:20:24 +0200 |
Author: grumbel
Date: 2004-05-15 01:20:24 +0200 (Sat, 15 May 2004)
New Revision: 322
Added:
trunk/src/test/
trunk/src/test/_foo.so
trunk/src/test/flexlay.py
trunk/src/test/foo.cxx
trunk/src/test/foo.hxx
trunk/src/test/foo.i
trunk/src/test/foo.py
trunk/src/test/foo.pyc
trunk/src/test/foo_wrap.cxx
trunk/src/test/foo_wrap.xml
Modified:
trunk/src/SConstruct
Log:
- stuff
Modified: trunk/src/SConstruct
===================================================================
--- trunk/src/SConstruct 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/SConstruct 2004-05-14 23:20:24 UTC (rev 322)
@@ -2,13 +2,15 @@
env = Environment(CXX = 'g++-3.3',
CCFLAGS = '-g -O2 -Wall',
- SWIGFLAGS='-c++ -python')
+ SWIGFLAGS='-c++ -python',
+ SHLIBPREFIX='')
Depends('flexlay_wrap.cxx', ['flexlay.i', 'clanlib.i'])
env.Command('flexlay_wrap.cxx', 'flexlay.i', "swig -python -c++ $SOURCE")
+
env.SharedLibrary(
- target = '_flexlay',
+ target = '_flexlay.so',
source = [
'flexlay_wrap.cxx',
'command_group.cxx',
Added: trunk/src/test/_foo.so
===================================================================
(Binary files differ)
Property changes on: trunk/src/test/_foo.so
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/test/flexlay.py
===================================================================
--- trunk/src/test/flexlay.py 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/test/flexlay.py 2004-05-14 23:20:24 UTC (rev 322)
@@ -0,0 +1,56 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+# This file is compatible with both classic and new-style classes.
+
+import _flexlay
+
+def _swig_setattr(self,class_type,name,value):
+ if (name == "this"):
+ if isinstance(value, class_type):
+ self.__dict__[name] = value.this
+ if hasattr(value,"thisown"): self.__dict__["thisown"] =
value.thisown
+ del value.thisown
+ return
+ method = class_type.__swig_setmethods__.get(name,None)
+ if method: return method(self,value)
+ self.__dict__[name] = value
+
+def _swig_getattr(self,class_type,name):
+ method = class_type.__swig_getmethods__.get(name,None)
+ if method: return method(self)
+ raise AttributeError,name
+
+import types
+try:
+ _object = types.ObjectType
+ _newclass = 1
+except AttributeError:
+ class _object : pass
+ _newclass = 0
+del types
+
+
+class Foo(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, Foo, name,
value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, Foo, name)
+ def __repr__(self):
+ return "<C Foo instance at %s>" % (self.this,)
+ def do_something(*args): return _flexlay.Foo_do_something(*args)
+ def __init__(self, *args):
+ _swig_setattr(self, Foo, 'this', _flexlay.new_Foo(*args))
+ _swig_setattr(self, Foo, 'thisown', 1)
+ def __del__(self, destroy=_flexlay.delete_Foo):
+ try:
+ if self.thisown: destroy(self)
+ except: pass
+
+class FooPtr(Foo):
+ def __init__(self, this):
+ _swig_setattr(self, Foo, 'this', this)
+ if not hasattr(self,"thisown"): _swig_setattr(self, Foo, 'thisown', 0)
+ _swig_setattr(self, Foo,self.__class__,Foo)
+_flexlay.Foo_swigregister(FooPtr)
+
+
Added: trunk/src/test/foo.cxx
===================================================================
--- trunk/src/test/foo.cxx 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/test/foo.cxx 2004-05-14 23:20:24 UTC (rev 322)
@@ -0,0 +1,8 @@
+#include <iostream>
+#include "foo.hxx"
+
+void
+Foo::do_something()
+{
+ std::cout << "DO Something" << std::endl;
+}
Added: trunk/src/test/foo.hxx
===================================================================
--- trunk/src/test/foo.hxx 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/test/foo.hxx 2004-05-14 23:20:24 UTC (rev 322)
@@ -0,0 +1,8 @@
+#include <iostream>
+
+class Foo
+{
+public:
+ void do_something();
+};
+
Added: trunk/src/test/foo.i
===================================================================
--- trunk/src/test/foo.i 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/test/foo.i 2004-05-14 23:20:24 UTC (rev 322)
@@ -0,0 +1,7 @@
+%module foo
+
+%{
+#include "foo.hxx"
+%}
+
+%include "foo.hxx"
Added: trunk/src/test/foo.py
===================================================================
--- trunk/src/test/foo.py 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/test/foo.py 2004-05-14 23:20:24 UTC (rev 322)
@@ -0,0 +1,56 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+# This file is compatible with both classic and new-style classes.
+
+import _foo
+
+def _swig_setattr(self,class_type,name,value):
+ if (name == "this"):
+ if isinstance(value, class_type):
+ self.__dict__[name] = value.this
+ if hasattr(value,"thisown"): self.__dict__["thisown"] =
value.thisown
+ del value.thisown
+ return
+ method = class_type.__swig_setmethods__.get(name,None)
+ if method: return method(self,value)
+ self.__dict__[name] = value
+
+def _swig_getattr(self,class_type,name):
+ method = class_type.__swig_getmethods__.get(name,None)
+ if method: return method(self)
+ raise AttributeError,name
+
+import types
+try:
+ _object = types.ObjectType
+ _newclass = 1
+except AttributeError:
+ class _object : pass
+ _newclass = 0
+del types
+
+
+class Foo(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, Foo, name,
value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, Foo, name)
+ def __repr__(self):
+ return "<C Foo instance at %s>" % (self.this,)
+ def do_something(*args): return _foo.Foo_do_something(*args)
+ def __init__(self, *args):
+ _swig_setattr(self, Foo, 'this', _foo.new_Foo(*args))
+ _swig_setattr(self, Foo, 'thisown', 1)
+ def __del__(self, destroy=_foo.delete_Foo):
+ try:
+ if self.thisown: destroy(self)
+ except: pass
+
+class FooPtr(Foo):
+ def __init__(self, this):
+ _swig_setattr(self, Foo, 'this', this)
+ if not hasattr(self,"thisown"): _swig_setattr(self, Foo, 'thisown', 0)
+ _swig_setattr(self, Foo,self.__class__,Foo)
+_foo.Foo_swigregister(FooPtr)
+
+
Added: trunk/src/test/foo.pyc
===================================================================
(Binary files differ)
Property changes on: trunk/src/test/foo.pyc
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/test/foo_wrap.cxx
===================================================================
--- trunk/src/test/foo_wrap.cxx 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/test/foo_wrap.cxx 2004-05-14 23:20:24 UTC (rev 322)
@@ -0,0 +1,823 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.21
+ *
+ * This file is not intended to be easily readable and contains a number of
+ * coding conventions designed to improve portability and efficiency. Do not
make
+ * changes to this file unless you know what you are doing--modify the SWIG
+ * interface file instead.
+ *
----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+ T *tt;
+public:
+ SwigValueWrapper() : tt(0) { }
+ SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+ SwigValueWrapper(const T& t) : tt(new T(t)) { }
+ ~SwigValueWrapper() { delete tt; }
+ SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return
*this; }
+ operator T&() const { return *tt; }
+ T *operator&() { return tt; }
+private:
+ SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+#endif
+
+
+#include "Python.h"
+
+/*************************************************************** -*- c -*-
+ * python/precommon.swg
+ *
+ * Rename all exported symbols from common.swg, to avoid symbol
+ * clashes if multiple interpreters are included
+ *
+ ************************************************************************/
+
+#define SWIG_TypeRegister SWIG_Python_TypeRegister
+#define SWIG_TypeCheck SWIG_Python_TypeCheck
+#define SWIG_TypeCast SWIG_Python_TypeCast
+#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
+#define SWIG_TypeName SWIG_Python_TypeName
+#define SWIG_TypeQuery SWIG_Python_TypeQuery
+#define SWIG_TypeClientData SWIG_Python_TypeClientData
+#define SWIG_PackData SWIG_Python_PackData
+#define SWIG_UnpackData SWIG_Python_UnpackData
+
+
+/***********************************************************************
+ * common.swg
+ *
+ * This file contains generic SWIG runtime support for pointer
+ * type checking as well as a few commonly used macros to control
+ * external linkage.
+ *
+ * Author : David Beazley (address@hidden)
+ *
+ * Copyright (c) 1999-2000, The University of Chicago
+ *
+ * This file may be freely redistributed without license or fee provided
+ * this copyright message remains intact.
+ ************************************************************************/
+
+#include <string.h>
+
+#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# if defined(_MSC_VER) || defined(__GNUC__)
+# if defined(STATIC_LINKED)
+# define SWIGEXPORT(a) a
+# define SWIGIMPORT(a) extern a
+# else
+# define SWIGEXPORT(a) __declspec(dllexport) a
+# define SWIGIMPORT(a) extern a
+# endif
+# else
+# if defined(__BORLANDC__)
+# define SWIGEXPORT(a) a _export
+# define SWIGIMPORT(a) a _export
+# else
+# define SWIGEXPORT(a) a
+# define SWIGIMPORT(a) a
+# endif
+# endif
+#else
+# define SWIGEXPORT(a) a
+# define SWIGIMPORT(a) a
+#endif
+
+#ifdef SWIG_GLOBAL
+# define SWIGRUNTIME(a) SWIGEXPORT(a)
+#else
+# define SWIGRUNTIME(a) static a
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+ const char *name;
+ swig_converter_func converter;
+ const char *str;
+ void *clientdata;
+ swig_dycast_func dcast;
+ struct swig_type_info *next;
+ struct swig_type_info *prev;
+} swig_type_info;
+
+#ifdef SWIG_NOINCLUDE
+
+SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
+SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
+SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
+SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *);
+SWIGIMPORT(char *) SWIG_PackData(char *, void *, int);
+SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int);
+
+#else
+
+static swig_type_info *swig_type_list = 0;
+
+/* Register a type mapping with the type-checking */
+SWIGRUNTIME(swig_type_info *)
+SWIG_TypeRegister(swig_type_info *ti) {
+ swig_type_info *tc, *head, *ret, *next;
+ /* Check to see if this type has already been registered */
+ tc = swig_type_list;
+ while (tc) {
+ if (strcmp(tc->name, ti->name) == 0) {
+ /* Already exists in the table. Just add additional types to the list */
+ if (tc->clientdata) ti->clientdata = tc->clientdata;
+ head = tc;
+ next = tc->next;
+ goto l1;
+ }
+ tc = tc->prev;
+ }
+ head = ti;
+ next = 0;
+
+ /* Place in list */
+ ti->prev = swig_type_list;
+ swig_type_list = ti;
+
+ /* Build linked lists */
+ l1:
+ ret = head;
+ tc = ti + 1;
+ /* Patch up the rest of the links */
+ while (tc->name) {
+ head->next = tc;
+ tc->prev = head;
+ head = tc;
+ tc++;
+ }
+ if (next) next->prev = head;
+ head->next = next;
+ return ret;
+}
+
+/* Check the typename */
+SWIGRUNTIME(swig_type_info *)
+SWIG_TypeCheck(char *c, swig_type_info *ty) {
+ swig_type_info *s;
+ if (!ty) return 0; /* Void pointer */
+ s = ty->next; /* First element always just a name */
+ do {
+ if (strcmp(s->name,c) == 0) {
+ if (s == ty->next) return s;
+ /* Move s to the top of the linked list */
+ s->prev->next = s->next;
+ if (s->next) {
+ s->next->prev = s->prev;
+ }
+ /* Insert s as second element in the list */
+ s->next = ty->next;
+ if (ty->next) ty->next->prev = s;
+ ty->next = s;
+ s->prev = ty;
+ return s;
+ }
+ s = s->next;
+ } while (s && (s != ty->next));
+ return 0;
+}
+
+/* Cast a pointer up an inheritance hierarchy */
+SWIGRUNTIME(void *)
+SWIG_TypeCast(swig_type_info *ty, void *ptr) {
+ if ((!ty) || (!ty->converter)) return ptr;
+ return (*ty->converter)(ptr);
+}
+
+/* Dynamic pointer casting. Down an inheritance hierarchy */
+SWIGRUNTIME(swig_type_info *)
+SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+ swig_type_info *lastty = ty;
+ if (!ty || !ty->dcast) return ty;
+ while (ty && (ty->dcast)) {
+ ty = (*ty->dcast)(ptr);
+ if (ty) lastty = ty;
+ }
+ return lastty;
+}
+
+/* Return the name associated with this type */
+SWIGRUNTIME(const char *)
+SWIG_TypeName(const swig_type_info *ty) {
+ return ty->name;
+}
+
+/* Search for a swig_type_info structure */
+SWIGRUNTIME(swig_type_info *)
+SWIG_TypeQuery(const char *name) {
+ swig_type_info *ty = swig_type_list;
+ while (ty) {
+ if (ty->str && (strcmp(name,ty->str) == 0)) return ty;
+ if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
+ ty = ty->prev;
+ }
+ return 0;
+}
+
+/* Set the clientdata field for a type */
+SWIGRUNTIME(void)
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+ swig_type_info *tc, *equiv;
+ if (ti->clientdata == clientdata) return;
+ ti->clientdata = clientdata;
+ equiv = ti->next;
+ while (equiv) {
+ if (!equiv->converter) {
+ tc = swig_type_list;
+ while (tc) {
+ if ((strcmp(tc->name, equiv->name) == 0))
+ SWIG_TypeClientData(tc,clientdata);
+ tc = tc->prev;
+ }
+ }
+ equiv = equiv->next;
+ }
+}
+
+/* Pack binary data into a string */
+SWIGRUNTIME(char *)
+SWIG_PackData(char *c, void *ptr, int sz) {
+ static char hex[17] = "0123456789abcdef";
+ int i;
+ unsigned char *u = (unsigned char *) ptr;
+ register unsigned char uu;
+ for (i = 0; i < sz; i++,u++) {
+ uu = *u;
+ *(c++) = hex[(uu & 0xf0) >> 4];
+ *(c++) = hex[uu & 0xf];
+ }
+ return c;
+}
+
+/* Unpack binary data from a string */
+SWIGRUNTIME(char *)
+SWIG_UnpackData(char *c, void *ptr, int sz) {
+ register unsigned char uu = 0;
+ register int d;
+ unsigned char *u = (unsigned char *) ptr;
+ int i;
+ for (i = 0; i < sz; i++, u++) {
+ d = *(c++);
+ if ((d >= '0') && (d <= '9'))
+ uu = ((d - '0') << 4);
+ else if ((d >= 'a') && (d <= 'f'))
+ uu = ((d - ('a'-10)) << 4);
+ d = *(c++);
+ if ((d >= '0') && (d <= '9'))
+ uu |= (d - '0');
+ else if ((d >= 'a') && (d <= 'f'))
+ uu |= (d - ('a'-10));
+ *u = uu;
+ }
+ return c;
+}
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/***********************************************************************
+ * python.swg
+ *
+ * This file contains the runtime support for Python modules
+ * and includes code for managing global variables and pointer
+ * type checking.
+ *
+ * Author : David Beazley (address@hidden)
+ ************************************************************************/
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SWIG_PY_INT 1
+#define SWIG_PY_FLOAT 2
+#define SWIG_PY_STRING 3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY 5
+
+/* Flags for pointer conversion */
+
+#define SWIG_POINTER_EXCEPTION 0x1
+#define SWIG_POINTER_DISOWN 0x2
+
+/* Exception handling in wrappers */
+#define SWIG_fail goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+ int type;
+ char *name;
+ long lvalue;
+ double dvalue;
+ void *pvalue;
+ swig_type_info **ptype;
+} swig_const_info;
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) \
+ SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) \
+ SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) \
+ SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink() \
+ SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) \
+ SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+ SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_NewPackedObj(ptr, sz, type) \
+ SWIG_Python_NewPackedObj(ptr, sz, type)
+#define SWIG_InstallConstants(d, constants) \
+ SWIG_Python_InstallConstants(d, constants)
+
+#ifdef SWIG_NOINCLUDE
+
+SWIGIMPORT(int) SWIG_Python_ConvertPtr(PyObject *, void **,
swig_type_info *, int);
+SWIGIMPORT(PyObject *) SWIG_Python_NewPointerObj(void *, swig_type_info
*,int own);
+SWIGIMPORT(void *) SWIG_Python_MustGetPtr(PyObject *,
swig_type_info *, int, int);
+SWIGIMPORT(PyObject *) SWIG_Python_newvarlink(void);
+SWIGIMPORT(void) SWIG_Python_addvarlink(PyObject *, char *,
PyObject *(*)(void), int (*)(PyObject *));
+SWIGIMPORT(int) SWIG_Python_ConvertPacked(PyObject *, void *,
int sz, swig_type_info *, int);
+SWIGIMPORT(PyObject *) SWIG_Python_NewPackedObj(void *, int sz,
swig_type_info *);
+SWIGIMPORT(void) SWIG_Python_InstallConstants(PyObject *d,
swig_const_info constants[]);
+
+#else
+
+/*
-----------------------------------------------------------------------------
+ * global variable support code.
+ *
----------------------------------------------------------------------------- */
+
+typedef struct swig_globalvar {
+ char *name; /* Name of global variable */
+ PyObject *(*get_attr)(void); /* Return the current value */
+ int (*set_attr)(PyObject *); /* Set the value */
+ struct swig_globalvar *next;
+} swig_globalvar;
+
+typedef struct swig_varlinkobject {
+ PyObject_HEAD
+ swig_globalvar *vars;
+} swig_varlinkobject;
+
+static PyObject *
+swig_varlink_repr(swig_varlinkobject *v) {
+ v = v;
+ return PyString_FromString("<Global variables>");
+}
+
+static int
+swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) {
+ swig_globalvar *var;
+ flags = flags;
+ fprintf(fp,"Global variables { ");
+ for (var = v->vars; var; var=var->next) {
+ fprintf(fp,"%s", var->name);
+ if (var->next) fprintf(fp,", ");
+ }
+ fprintf(fp," }\n");
+ return 0;
+}
+
+static PyObject *
+swig_varlink_getattr(swig_varlinkobject *v, char *n) {
+ swig_globalvar *var = v->vars;
+ while (var) {
+ if (strcmp(var->name,n) == 0) {
+ return (*var->get_attr)();
+ }
+ var = var->next;
+ }
+ PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+ return NULL;
+}
+
+static int
+swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
+ swig_globalvar *var = v->vars;
+ while (var) {
+ if (strcmp(var->name,n) == 0) {
+ return (*var->set_attr)(p);
+ }
+ var = var->next;
+ }
+ PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+ return 1;
+}
+
+statichere PyTypeObject varlinktype = {
+ PyObject_HEAD_INIT(0)
+ 0,
+ (char *)"swigvarlink", /* Type name */
+ sizeof(swig_varlinkobject), /* Basic size */
+ 0, /* Itemsize */
+ 0, /* Deallocator */
+ (printfunc) swig_varlink_print, /* Print */
+ (getattrfunc) swig_varlink_getattr, /* get attr */
+ (setattrfunc) swig_varlink_setattr, /* Set attr */
+ 0, /* tp_compare */
+ (reprfunc) swig_varlink_repr, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_mapping*/
+ 0, /* tp_hash */
+};
+
+/* Create a variable linking object for use later */
+SWIGRUNTIME(PyObject *)
+SWIG_Python_newvarlink(void) {
+ swig_varlinkobject *result = 0;
+ result = PyMem_NEW(swig_varlinkobject,1);
+ varlinktype.ob_type = &PyType_Type; /* Patch varlinktype into a PyType */
+ result->ob_type = &varlinktype;
+ result->vars = 0;
+ result->ob_refcnt = 0;
+ Py_XINCREF((PyObject *) result);
+ return ((PyObject*) result);
+}
+
+SWIGRUNTIME(void)
+SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void),
int (*set_attr)(PyObject *p)) {
+ swig_varlinkobject *v;
+ swig_globalvar *gv;
+ v= (swig_varlinkobject *) p;
+ gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
+ gv->name = (char *) malloc(strlen(name)+1);
+ strcpy(gv->name,name);
+ gv->get_attr = get_attr;
+ gv->set_attr = set_attr;
+ gv->next = v->vars;
+ v->vars = gv;
+}
+
+/* Convert a pointer value */
+SWIGRUNTIME(int)
+SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int
flags) {
+ swig_type_info *tc;
+ char *c = 0;
+ static PyObject *SWIG_this = 0;
+ int newref = 0;
+ PyObject *pyobj = 0;
+
+ if (!obj) return 0;
+ if (obj == Py_None) {
+ *ptr = 0;
+ return 0;
+ }
+#ifdef SWIG_COBJECT_TYPES
+ if (!(PyCObject_Check(obj))) {
+ if (!SWIG_this)
+ SWIG_this = PyString_FromString("this");
+ pyobj = obj;
+ obj = PyObject_GetAttr(obj,SWIG_this);
+ newref = 1;
+ if (!obj) goto type_error;
+ if (!PyCObject_Check(obj)) {
+ Py_DECREF(obj);
+ goto type_error;
+ }
+ }
+ *ptr = PyCObject_AsVoidPtr(obj);
+ c = (char *) PyCObject_GetDesc(obj);
+ if (newref) Py_DECREF(obj);
+ goto cobject;
+#else
+ if (!(PyString_Check(obj))) {
+ if (!SWIG_this)
+ SWIG_this = PyString_FromString("this");
+ pyobj = obj;
+ obj = PyObject_GetAttr(obj,SWIG_this);
+ newref = 1;
+ if (!obj) goto type_error;
+ if (!PyString_Check(obj)) {
+ Py_DECREF(obj);
+ goto type_error;
+ }
+ }
+ c = PyString_AsString(obj);
+ /* Pointer values must start with leading underscore */
+ if (*c != '_') {
+ *ptr = (void *) 0;
+ if (strcmp(c,"NULL") == 0) {
+ if (newref) { Py_DECREF(obj); }
+ return 0;
+ } else {
+ if (newref) { Py_DECREF(obj); }
+ goto type_error;
+ }
+ }
+ c++;
+ c = SWIG_UnpackData(c,ptr,sizeof(void *));
+ if (newref) { Py_DECREF(obj); }
+#endif
+
+#ifdef SWIG_COBJECT_TYPES
+cobject:
+#endif
+
+ if (ty) {
+ tc = SWIG_TypeCheck(c,ty);
+ if (!tc) goto type_error;
+ *ptr = SWIG_TypeCast(tc,(void*) *ptr);
+ }
+
+ if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) {
+ PyObject *zero = PyInt_FromLong(0);
+ PyObject_SetAttrString(pyobj,(char*)"thisown",zero);
+ Py_DECREF(zero);
+ }
+ return 0;
+
+type_error:
+ if (flags & SWIG_POINTER_EXCEPTION) {
+ if (ty && c) {
+ char *temp = (char *) malloc(64+strlen(ty->name)+strlen(c));
+ sprintf(temp,"Type error. Got %s, expected %s", c, ty->name);
+ PyErr_SetString(PyExc_TypeError, temp);
+ free((char *) temp);
+ } else {
+ PyErr_SetString(PyExc_TypeError,"Expected a pointer");
+ }
+ }
+ return -1;
+}
+
+/* Convert a pointer value, signal an exception on a type mismatch */
+SWIGRUNTIME(void *)
+SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int
flags) {
+ void *result;
+ SWIG_Python_ConvertPtr(obj, &result, ty, flags | SWIG_POINTER_EXCEPTION);
+ return result;
+}
+
+/* Convert a packed value value */
+SWIGRUNTIME(int)
+SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, int sz, swig_type_info
*ty, int flags) {
+ swig_type_info *tc;
+ char *c = 0;
+
+ if ((!obj) || (!PyString_Check(obj))) goto type_error;
+ c = PyString_AsString(obj);
+ /* Pointer values must start with leading underscore */
+ if (*c != '_') goto type_error;
+ c++;
+ c = SWIG_UnpackData(c,ptr,sz);
+ if (ty) {
+ tc = SWIG_TypeCheck(c,ty);
+ if (!tc) goto type_error;
+ }
+ return 0;
+
+type_error:
+
+ if (flags) {
+ if (ty && c) {
+ char *temp = (char *) malloc(64+strlen(ty->name)+strlen(c));
+ sprintf(temp,"Type error. Got %s, expected %s", c, ty->name);
+ PyErr_SetString(PyExc_TypeError, temp);
+ free((char *) temp);
+ } else {
+ PyErr_SetString(PyExc_TypeError,"Expected a pointer");
+ }
+ }
+ return -1;
+}
+
+/* Create a new pointer object */
+SWIGRUNTIME(PyObject *)
+SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) {
+ PyObject *robj;
+ if (!ptr) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+#ifdef SWIG_COBJECT_TYPES
+ robj = PyCObject_FromVoidPtrAndDesc((void *) ptr, (char *) type->name, NULL);
+#else
+ {
+ char result[1024];
+ char *r = result;
+ *(r++) = '_';
+ r = SWIG_PackData(r,&ptr,sizeof(void *));
+ strcpy(r,type->name);
+ robj = PyString_FromString(result);
+ }
+#endif
+ if (!robj || (robj == Py_None)) return robj;
+ if (type->clientdata) {
+ PyObject *inst;
+ PyObject *args = Py_BuildValue((char*)"(O)", robj);
+ Py_DECREF(robj);
+ inst = PyObject_CallObject((PyObject *) type->clientdata, args);
+ Py_DECREF(args);
+ if (inst) {
+ if (own) {
+ PyObject *n = PyInt_FromLong(1);
+ PyObject_SetAttrString(inst,(char*)"thisown",n);
+ Py_DECREF(n);
+ }
+ robj = inst;
+ }
+ }
+ return robj;
+}
+
+SWIGRUNTIME(PyObject *)
+SWIG_Python_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
+ char result[1024];
+ char *r = result;
+ if ((2*sz + 1 + strlen(type->name)) > 1000) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,ptr,sz);
+ strcpy(r,type->name);
+ return PyString_FromString(result);
+}
+
+/* Install Constants */
+SWIGRUNTIME(void)
+SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
+ int i;
+ PyObject *obj;
+ for (i = 0; constants[i].type; i++) {
+ switch(constants[i].type) {
+ case SWIG_PY_INT:
+ obj = PyInt_FromLong(constants[i].lvalue);
+ break;
+ case SWIG_PY_FLOAT:
+ obj = PyFloat_FromDouble(constants[i].dvalue);
+ break;
+ case SWIG_PY_STRING:
+ obj = PyString_FromString((char *) constants[i].pvalue);
+ break;
+ case SWIG_PY_POINTER:
+ obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
+ break;
+ case SWIG_PY_BINARY:
+ obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue,
*(constants[i].ptype));
+ break;
+ default:
+ obj = 0;
+ break;
+ }
+ if (obj) {
+ PyDict_SetItemString(d,constants[i].name,obj);
+ Py_DECREF(obj);
+ }
+ }
+}
+
+#endif
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) {
PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define SWIGTYPE_p_Foo swig_types[0]
+static swig_type_info *swig_types[2];
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+ @(target):= _foo.so
+ ------------------------------------------------*/
+#define SWIG_init init_foo
+
+#define SWIG_name "_foo"
+
+#include "foo.hxx"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_Foo_do_something(PyObject *self, PyObject *args) {
+ PyObject *resultobj;
+ Foo *arg1 = (Foo *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Foo_do_something",&obj0)) goto fail;
+ if ((SWIG_ConvertPtr(obj0,(void **) &arg1,
SWIGTYPE_p_Foo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+ (arg1)->do_something();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Foo(PyObject *self, PyObject *args) {
+ PyObject *resultobj;
+ Foo *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_Foo")) goto fail;
+ result = (Foo *)new Foo();
+
+ resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_Foo, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_Foo(PyObject *self, PyObject *args) {
+ PyObject *resultobj;
+ Foo *arg1 = (Foo *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_Foo",&obj0)) goto fail;
+ if ((SWIG_ConvertPtr(obj0,(void **) &arg1,
SWIGTYPE_p_Foo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * Foo_swigregister(PyObject *self, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_Foo, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyMethodDef SwigMethods[] = {
+ { (char *)"Foo_do_something", _wrap_Foo_do_something, METH_VARARGS },
+ { (char *)"new_Foo", _wrap_new_Foo, METH_VARARGS },
+ { (char *)"delete_Foo", _wrap_delete_Foo, METH_VARARGS },
+ { (char *)"Foo_swigregister", Foo_swigregister, METH_VARARGS },
+ { NULL, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static swig_type_info _swigt__p_Foo[] = {{"_p_Foo", 0, "Foo *",
0},{"_p_Foo"},{0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_Foo,
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{0}};
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT(void) SWIG_init(void) {
+ static PyObject *SWIG_globals = 0;
+ static int typeinit = 0;
+ PyObject *m, *d;
+ int i;
+ if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+ m = Py_InitModule((char *) SWIG_name, SwigMethods);
+ d = PyModule_GetDict(m);
+
+ if (!typeinit) {
+ for (i = 0; swig_types_initial[i]; i++) {
+ swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+ }
+ typeinit = 1;
+ }
+ SWIG_InstallConstants(d,swig_const_table);
+
+}
+
Added: trunk/src/test/foo_wrap.xml
===================================================================
--- trunk/src/test/foo_wrap.xml 2004-05-14 23:15:14 UTC (rev 321)
+++ trunk/src/test/foo_wrap.xml 2004-05-14 23:20:24 UTC (rev 322)
@@ -0,0 +1,510 @@
+<?xml version="1.0" ?>
+<top id="1" addr="4025a6c8" >
+ <attributelist id="2" addr="4025a6c8" >
+ <attribute name="outfile" value="foo_wrap.xml" id="3" addr="4025d488"
/>
+ <attribute name="name" value="foo" id="4" addr="4025d488" />
+ <attribute name="module" value="foo" id="5" addr="4025ce08" />
+ <attribute name="classes" value="4025d0d8" id="6" addr="4025d0d8" />
+ <attribute name="infile" value="foo.i" id="7" addr="4025d488" />
+ <attribute name="outfile_h" value="foo_wrap.h" id="8" addr="4025d488"
/>
+ </attributelist >
+
+ <include id="9" addr="4025bba8" >
+ <attributelist id="10" addr="4025bba8" >
+ <attribute name="name" value="/usr/share/swig1.3/swig.swg" id="11"
addr="4025d488" />
+ </attributelist >
+
+ <namespace id="12" addr="4025c0d8" >
+ <attributelist id="13" addr="4025c0d8" >
+ <attribute name="sym_name" value="std" id="14" addr="4025d488"
/>
+ <attribute name="name" value="std" id="15" addr="4025d488" />
+ <typescope id="16" addr="4025d1a8" >
+ <attributelist id="17" addr="4025d1a8" >
+ <attribute name="name" value="std" id="18"
addr="4025d488" />
+ <typetab id="19" addr="4025d1c8" >
+ <attributelist id="20" addr="4025d1c8" >
+ </attributelist >
+ </typetab >
+ <attribute name="parent" value="4025a1d8" id="21"
addr="4025a1d8" />
+ <attribute name="qname" value="std" id="22"
addr="4025d488" />
+ <attribute name="symtab" value="4025c068" id="23"
addr="4025c068" />
+ </attributelist >
+ <typescopesitem id="24" addr="4025c048" >
+ <attributelist id="25" addr="4025c048" >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="26" addr="4025d1c8" >
+ <attributelist id="27" addr="4025d1c8" >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="28" addr="4025a1d8" >
+ <attributelist id="29" addr="4025a1d8" >
+ <attribute name="name" value="" id="30"
addr="4025d488" />
+ <typetab id="31" addr="4025a208" >
+ <attributelist id="32" addr="4025a208" >
+ <attribute name="Foo" value="Foo" id="33"
addr="4025d488" />
+ </attributelist >
+ <typetabsitem id="34" addr="4025d228" >
+ <attributelist id="35" addr="4025d228" >
+ </attributelist >
+</typetabsitem >
+ />
+ </typetab >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="36" addr="4025d1d8" >
+ <attributelist id="37" addr="4025d1d8" >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="38" addr="4025c068" >
+ <attributelist id="39" addr="4025c068" >
+ <attribute name="name" value="std" id="40"
addr="4025d488" />
+ <attribute name="csymtab" value="4025c0a8" id="41"
addr="4025c0a8" />
+ <attribute name="symtab" value="4025c058" id="42"
addr="4025c058" />
+ </attributelist >
+</typescopesitem >
+ />
+ </typescope >
+ <attribute name="symtab" value="4025c068" id="43"
addr="4025c068" />
+ <attribute name="sym_symtab" value="4025a158" id="44"
addr="4025a158" />
+ <attribute name="sym_overname" value="__SWIG_0" id="45"
addr="4025d488" />
+ </attributelist >
+
+ </namespace >
+ <typemap id="46" addr="4025c258" >
+ <attributelist id="47" addr="4025c258" >
+ <attribute name="code" value="delete [] $1;" id="48"
addr="4025d488" />
+ <attribute name="method" value="newfree" id="49"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="50" addr="4025c1c8" >
+ <attributelist id="51" addr="4025c1c8" >
+ <parmlist id="52" addr="4025c1f8" >
+ <parm id="53">
+ <attributelist id="54" addr="4025c1f8" >
+ <attribute name="type" value="p.char" id="55"
addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="56" addr="4025c378" >
+ <attributelist id="57" addr="4025c378" >
+ <attribute name="code" value="{
+ if ($1) delete [] $1;
+ if ($input) {
+ $1 = ($1_type) (new char[strlen($input)+1]);
+ strcpy((char *) $1,$input);
+ } else {
+ $1 = 0;
+ }
+}" id="58" addr="4025d488" />
+ <attribute name="method" value="memberin" id="59"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="60" addr="4025c318" >
+ <attributelist id="61" addr="4025c318" >
+ <parmlist id="62" addr="4025c348" >
+ <parm id="63">
+ <attributelist id="64" addr="4025c348" >
+ <attribute name="type" value="p.char" id="65"
addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="66" addr="4025c4a8" >
+ <attributelist id="67" addr="4025c4a8" >
+ <kwargs id="68" addr="4025c3b8" >
+ <attributelist id="69" addr="4025c3b8" >
+ <attribute name="name" value="warning" id="70"
addr="4025d488" />
+ <attribute name="value" value="451:Setting const char
* member may leak memory." id="71" addr="4025d488" />
+ </attributelist >
+ <kwargssitem id="72" addr="4025c3c8" >
+ <attributelist id="73" addr="4025c3c8" >
+ </attributelist >
+</kwargssitem >
+ />
+ <kwargssitem id="74" addr="4025c3d8" >
+ <attributelist id="75" addr="4025c3d8" >
+ </attributelist >
+</kwargssitem >
+ />
+ </kwargs >
+ <attribute name="code" value="{
+ if ($input) {
+ $1 = ($1_type) (new char[strlen($input)+1]);
+ strcpy((char *) $1,$input);
+ } else {
+ $1 = 0;
+ }
+}" id="76" addr="4025d488" />
+ <attribute name="method" value="memberin" id="77"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="78" addr="4025c448" >
+ <attributelist id="79" addr="4025c448" >
+ <parmlist id="80" addr="4025c478" >
+ <parm id="81">
+ <attributelist id="82" addr="4025c478" >
+ <attribute name="type" value="p.q(const).char"
id="83" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="84" addr="4025c5a8" >
+ <attributelist id="85" addr="4025c5a8" >
+ <attribute name="code" value="{
+ if ($1) delete [] $1;
+ if ($input) {
+ $1 = ($1_type) (new char[strlen($input)+1]);
+ strcpy((char *) $1,$input);
+ } else {
+ $1 = 0;
+ }
+}" id="86" addr="4025d488" />
+ <attribute name="method" value="globalin" id="87"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="88" addr="4025c548" >
+ <attributelist id="89" addr="4025c548" >
+ <parmlist id="90" addr="4025c578" >
+ <parm id="91">
+ <attributelist id="92" addr="4025c578" >
+ <attribute name="type" value="p.char" id="93"
addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="94" addr="4025c6d8" >
+ <attributelist id="95" addr="4025c6d8" >
+ <kwargs id="96" addr="4025c5e8" >
+ <attributelist id="97" addr="4025c5e8" >
+ <attribute name="name" value="warning" id="98"
addr="4025d488" />
+ <attribute name="value" value="451:Setting const char
* variable may leak memory." id="99" addr="4025d488" />
+ </attributelist >
+ <kwargssitem id="100" addr="4025c5f8" >
+ <attributelist id="101" addr="4025c5f8" >
+ </attributelist >
+</kwargssitem >
+ />
+ <kwargssitem id="102" addr="4025c608" >
+ <attributelist id="103" addr="4025c608" >
+ </attributelist >
+</kwargssitem >
+ />
+ </kwargs >
+ <attribute name="code" value="{
+ if ($input) {
+ $1 = ($1_type) (new char[strlen($input)+1]);
+ strcpy((char *) $1,$input);
+ } else {
+ $1 = 0;
+ }
+}" id="104" addr="4025d488" />
+ <attribute name="method" value="globalin" id="105"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="106" addr="4025c678" >
+ <attributelist id="107" addr="4025c678" >
+ <parmlist id="108" addr="4025c6a8" >
+ <parm id="109">
+ <attributelist id="110" addr="4025c6a8" >
+ <attribute name="type" value="p.q(const).char"
id="111" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="112" addr="4025c7e8" >
+ <attributelist id="113" addr="4025c7e8" >
+ <attribute name="code" value="{
+ if ($input) strncpy($1,$input,$1_dim0);
+ else $1[0] = 0;
+}" id="114" addr="4025d488" />
+ <attribute name="method" value="memberin" id="115"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="116" addr="4025c788" >
+ <attributelist id="117" addr="4025c788" >
+ <parmlist id="118" addr="4025c7b8" >
+ <parm id="119">
+ <attributelist id="120" addr="4025c7b8" >
+ <attribute name="type" value="a(ANY).char"
id="121" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="122" addr="4025c8f8" >
+ <attributelist id="123" addr="4025c8f8" >
+ <attribute name="code" value="{
+ if ($input) strncpy($1,$input,$1_dim0);
+ else $1[0] = 0;
+}" id="124" addr="4025d488" />
+ <attribute name="method" value="globalin" id="125"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="126" addr="4025c898" >
+ <attributelist id="127" addr="4025c898" >
+ <parmlist id="128" addr="4025c8c8" >
+ <parm id="129">
+ <attributelist id="130" addr="4025c8c8" >
+ <attribute name="type" value="a(ANY).char"
id="131" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="132" addr="4025ca08" >
+ <attributelist id="133" addr="4025ca08" >
+ <attribute name="code" value="{
+ int ii;
+ $1_basetype *b = ($1_basetype *) $1;
+ for (ii = 0; ii < $1_size; ii++) b[ii] = *(($1_basetype *) $input + ii);
+}" id="134" addr="4025d488" />
+ <attribute name="method" value="memberin" id="135"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="136" addr="4025c9a8" >
+ <attributelist id="137" addr="4025c9a8" >
+ <parmlist id="138" addr="4025c9d8" >
+ <parm id="139">
+ <attributelist id="140" addr="4025c9d8" >
+ <attribute name="type" value="a(ANY).SWIGTYPE"
id="141" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="142" addr="4025cb18" >
+ <attributelist id="143" addr="4025cb18" >
+ <attribute name="code" value="{
+ int ii;
+ $1_basetype *b = ($1_basetype *) $1;
+ for (ii = 0; ii < $1_size; ii++) b[ii] = *(($1_basetype *) $input + ii);
+}" id="144" addr="4025d488" />
+ <attribute name="method" value="globalin" id="145"
addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="146" addr="4025cab8" >
+ <attributelist id="147" addr="4025cab8" >
+ <parmlist id="148" addr="4025cae8" >
+ <parm id="149">
+ <attributelist id="150" addr="4025cae8" >
+ <attribute name="type" value="a(ANY).SWIGTYPE"
id="151" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <typemap id="152" addr="4025cd18" >
+ <attributelist id="153" addr="4025cd18" >
+ <kwargs id="154" addr="4025cb68" >
+ <attributelist id="155" addr="4025cb68" >
+ <attribute name="name" value="numinputs" id="156"
addr="4025d488" />
+ <attribute name="value" value="0" id="157"
addr="4025d488" />
+ </attributelist >
+ <kwargssitem id="158" addr="4025cb78" >
+ <attributelist id="159" addr="4025cb78" >
+ </attributelist >
+</kwargssitem >
+ />
+ <kwargssitem id="160" addr="4025cb58" >
+ <attributelist id="161" addr="4025cb58" >
+ </attributelist >
+</kwargssitem >
+ />
+ </kwargs >
+ <attribute name="code" value="" id="162" addr="4025d488" />
+ <attribute name="method" value="in" id="163" addr="4025d488" />
+ </attributelist >
+
+ <typemapitem id="164" addr="4025cbf8" >
+ <attributelist id="165" addr="4025cbf8" >
+ <parmlist id="166" addr="4025cc28" >
+ <parm id="167">
+ <attributelist id="168" addr="4025cc28" >
+ <attribute name="name"
value="VARARGS_SENTINEL" id="169" addr="4025d488" />
+ <attribute name="type" value="p.SWIGTYPE"
id="170" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ <typemapitem id="171" addr="4025cca8" >
+ <attributelist id="172" addr="4025cca8" >
+ <parmlist id="173" addr="4025ccd8" >
+ <parm id="174">
+ <attributelist id="175" addr="4025ccd8" >
+ <attribute name="name"
value="VARARGS_SENTINEL" id="176" addr="4025d488" />
+ <attribute name="type" value="SWIGTYPE"
id="177" addr="4025d488" />
+ </attributelist >
+ </parm >
+ </parmlist >
+ </attributelist >
+
+ </typemapitem >
+ </typemap >
+ <insert id="178" addr="4025cd68" >
+ <attributelist id="179" addr="4025cd68" >
+ <attribute name="code" value="
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+ T *tt;
+public:
+ SwigValueWrapper() : tt(0) { }
+ SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new
T(*rhs.tt)) { }
+ SwigValueWrapper(const T& t) : tt(new T(t)) { }
+ ~SwigValueWrapper() { delete tt; }
+ SwigValueWrapper& operator=(const T& t) { delete tt; tt = new
T(t); return *this; }
+ operator T&() const { return *tt; }
+ T *operator&() { return tt; }
+private:
+ SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+#endif
+" id="180" addr="4025d488" />
+ <attribute name="section" value="runtime" id="181"
addr="4025d488" />
+ </attributelist >
+
+ </insert >
+ </include >
+ <include id="182" addr="4025cdd8" >
+ <attributelist id="183" addr="4025cdd8" >
+ <attribute name="name" value="foo.i" id="184" addr="4025d488" />
+ <attribute name="module" value="" id="185" addr="4025ce38" />
+ </attributelist >
+
+ <module id="186" addr="4025ce08" >
+ <attributelist id="187" addr="4025ce08" >
+ <attribute name="name" value="foo" id="188" addr="4025d488" />
+ </attributelist >
+
+ </module >
+ <insert id="189" addr="4025ce68" >
+ <attributelist id="190" addr="4025ce68" >
+ <attribute name="code" value="
+#include "foo.hxx"
+" id="191" addr="4025d488" />
+ </attributelist >
+
+ </insert >
+ <include id="192" addr="4025ce98" >
+ <attributelist id="193" addr="4025ce98" >
+ <attribute name="name" value="foo.hxx" id="194"
addr="4025d488" />
+ </attributelist >
+
+ <class id="195" addr="4025d048" >
+ <attributelist id="196" addr="4025d048" >
+ <attribute name="name" value="Foo" id="197"
addr="4025d488" />
+ <attribute name="sym_symtab" value="4025a158" id="198"
addr="4025a158" />
+ <attribute name="symtab" value="4025cf08" id="199"
addr="4025cf08" />
+ <attribute name="allows_typedef" value="1" id="200"
addr="4025d488" />
+ <attribute name="typepass_visit" value="1" id="201"
addr="4025d488" />
+ <attribute name="allocate_visit" value="1" id="202"
addr="4025d488" />
+ <attribute name="kind" value="class" id="203"
addr="4025d488" />
+ <attribute name="sym_name" value="Foo" id="204"
addr="4025d488" />
+ <attribute name="allocate_default_constructor" value="1"
id="205" addr="4025d488" />
+ <attribute name="allocate_default_destructor" value="1"
id="206" addr="4025d488" />
+ <attribute name="module" value="foo" id="207"
addr="4025ce08" />
+ <attribute name="sym_overname" value="__SWIG_0" id="208"
addr="4025d488" />
+ <typescope id="209" addr="4025d298" >
+ <attributelist id="210" addr="4025d298" >
+ <attribute name="name" value="Foo" id="211"
addr="4025d488" />
+ <typetab id="212" addr="4025d2a8" >
+ <attributelist id="213" addr="4025d2a8" >
+ </attributelist >
+ </typetab >
+ <attribute name="parent" value="4025a1d8" id="214"
addr="4025a1d8" />
+ <attribute name="qname" value="Foo" id="215"
addr="4025d488" />
+ <attribute name="symtab" value="4025cf08" id="216"
addr="4025cf08" />
+ </attributelist >
+ <typescopesitem id="217" addr="4025d268" >
+ <attributelist id="218" addr="4025d268" >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="219" addr="4025d2a8" >
+ <attributelist id="220" addr="4025d2a8" >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="221" addr="4025a1d8" >
+ <attributelist id="222" addr="4025a1d8" >
+ <attribute name="name" value="" id="223"
addr="4025d488" />
+ <typetab id="224" addr="4025a208" >
+ <attributelist id="225" addr="4025a208" >
+ <attribute name="Foo" value="Foo"
id="226" addr="4025d488" />
+ </attributelist >
+ <typetabsitem id="227" addr="4025d228" >
+ <attributelist id="228"
addr="4025d228" >
+ </attributelist >
+</typetabsitem >
+ />
+ </typetab >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="229" addr="4025d2b8" >
+ <attributelist id="230" addr="4025d2b8" >
+ </attributelist >
+</typescopesitem >
+ />
+ <typescopesitem id="231" addr="4025cf08" >
+ <attributelist id="232" addr="4025cf08" >
+ <attribute name="name" value="Foo" id="233"
addr="4025d488" />
+ <attribute name="csymtab" value="4025cf28"
id="234" addr="4025cf28" />
+ <attribute name="symtab" value="4025cef8"
id="235" addr="4025cef8" />
+ </attributelist >
+</typescopesitem >
+ />
+ </typescope >
+ </attributelist >
+
+ <access id="236" addr="4025cf58" >
+ <attributelist id="237" addr="4025cf58" >
+ <attribute name="kind" value="public" id="238"
addr="4025d488" />
+ </attributelist >
+
+ </access >
+ <cdecl id="239" addr="4025cfe8" >
+ <attributelist id="240" addr="4025cfe8" >
+ <attribute name="sym_name" value="do_something"
id="241" addr="4025d488" />
+ <attribute name="name" value="do_something" id="242"
addr="4025d488" />
+ <attribute name="decl" value="f()." id="243"
addr="4025d488" />
+ <attribute name="type" value="void" id="244"
addr="4025d488" />
+ <attribute name="sym_symtab" value="4025cf08" id="245"
addr="4025cf08" />
+ <attribute name="sym_overname" value="__SWIG_0"
id="246" addr="4025d488" />
+ </attributelist >
+
+ </cdecl >
+ </class >
+ </include >
+ </include >
+</top >
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Windstille-devel] rev 322 - in trunk/src: . test,
Ingo Ruhnke <=