windstille-devel
[Top][All Lists]
Advanced

[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 &lt; $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 &lt; $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&lt;class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper&lt;T>&amp; rhs) : tt(new 
T(*rhs.tt)) { }
+    SwigValueWrapper(const T&amp; t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper&amp; operator=(const T&amp; t) { delete tt; tt = new 
T(t); return *this; }
+    operator T&amp;() const { return *tt; }
+    T *operator&amp;() { return tt; }
+private:
+    SwigValueWrapper&amp; operator=(const SwigValueWrapper&lt;T>&amp; 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 &quot;foo.hxx&quot;
+" 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 >





reply via email to

[Prev in Thread] Current Thread [Next in Thread]