SF.net SVN: mahogany: [7429] trunk/M/src/Python

[email protected] Thu, 24 Apr 2008 15:37:32 -0700
Newsgroups gmane.mail.mahogany.cvs
Message-ID <[email protected]>
Revision: 7429
          http://mahogany.svn.sourceforge.net/mahogany/?rev=7429&view=rev
Author:   vadz
Date:     2008-04-24 15:37:29 -0700 (Thu, 24 Apr 2008)

Log Message:
-----------
regenerated with swig 1.3.31

Modified Paths:
--------------
    trunk/M/src/Python/HeaderInfo.cpp-swig
    trunk/M/src/Python/HeaderInfo.py-swig
    trunk/M/src/Python/MDialogs.cpp-swig
    trunk/M/src/Python/MDialogs.py-swig
    trunk/M/src/Python/MailFolder.cpp-swig
    trunk/M/src/Python/MailFolder.py-swig
    trunk/M/src/Python/Message.cpp-swig
    trunk/M/src/Python/Message.py-swig
    trunk/M/src/Python/MimePart.cpp-swig
    trunk/M/src/Python/MimePart.py-swig
    trunk/M/src/Python/MimeType.cpp-swig
    trunk/M/src/Python/MimeType.py-swig
    trunk/M/src/Python/SendMessage.cpp-swig
    trunk/M/src/Python/SendMessage.py-swig

Modified: trunk/M/src/Python/HeaderInfo.cpp-swig
===================================================================
--- trunk/M/src/Python/HeaderInfo.cpp-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/HeaderInfo.cpp-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.31
  * 
  * 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
@@ -120,7 +120,7 @@
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -137,7 +137,7 @@
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -714,8 +714,6 @@
 
 
 
-/* MPython.h has to appear first */
-#include <MPython.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -796,6 +794,14 @@
 }
 #endif
 
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
 
 /* -----------------------------------------------------------------------------
  * error manipulation
@@ -1189,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -2048,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2169,7 +2175,7 @@
    return;
  }
 #endif
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
  PyDict_SetItem(dict, SWIG_This(), swig_this);
  Py_DECREF(dict);
 } 
@@ -2310,7 +2316,7 @@
 
 /* The python cached type query */
 SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache() {
+SWIG_Python_TypeCache(void) {
   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
   return cache;
 }
@@ -2485,7 +2491,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2496,7 +2502,8 @@
 
 #define SWIG_name    "_HeaderInfo"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -4033,7 +4040,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'HeaderInfoList_FindHeaderByFlag'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'HeaderInfoList_FindHeaderByFlag'.\n  Possible C/C++ prototypes are:\n    FindHeaderByFlag(MailFolder::MessageStatus,bool,long)\n    FindHeaderByFlag(MailFolder::MessageStatus,bool)\n    FindHeaderByFlag(MailFolder::MessageStatus)\n");
   return NULL;
 }
 
@@ -4251,7 +4258,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'HeaderInfoList_FindHeaderByFlagWrap'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'HeaderInfoList_FindHeaderByFlagWrap'.\n  Possible C/C++ prototypes are:\n    FindHeaderByFlagWrap(MailFolder::MessageStatus,bool,long)\n    FindHeaderByFlagWrap(MailFolder::MessageStatus,bool)\n    FindHeaderByFlagWrap(MailFolder::MessageStatus)\n");
   return NULL;
 }
 
@@ -4387,7 +4394,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'HeaderInfoList_GetAllHeadersByFlag'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'HeaderInfoList_GetAllHeadersByFlag'.\n  Possible C/C++ prototypes are:\n    GetAllHeadersByFlag(MailFolder::MessageStatus,bool)\n    GetAllHeadersByFlag(MailFolder::MessageStatus)\n");
   return NULL;
 }
 
@@ -4866,7 +4873,7 @@
  * structures together.
  *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -4904,30 +4911,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -5240,7 +5264,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -5285,11 +5309,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {

Modified: trunk/M/src/Python/HeaderInfo.py-swig
===================================================================
--- trunk/M/src/Python/HeaderInfo.py-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/HeaderInfo.py-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.29.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _HeaderInfo
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):

Modified: trunk/M/src/Python/MDialogs.cpp-swig
===================================================================
--- trunk/M/src/Python/MDialogs.cpp-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MDialogs.cpp-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.31
  * 
  * 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
@@ -120,7 +120,7 @@
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -137,7 +137,7 @@
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -714,8 +714,6 @@
 
 
 
-/* MPython.h has to appear first */
-#include <MPython.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -796,6 +794,14 @@
 }
 #endif
 
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
 
 /* -----------------------------------------------------------------------------
  * error manipulation
@@ -1189,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -2048,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2169,7 +2175,7 @@
    return;
  }
 #endif
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
  PyDict_SetItem(dict, SWIG_This(), swig_this);
  Py_DECREF(dict);
 } 
@@ -2310,7 +2316,7 @@
 
 /* The python cached type query */
 SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache() {
+SWIG_Python_TypeCache(void) {
   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
   return cache;
 }
@@ -2469,7 +2475,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2480,7 +2486,8 @@
 
 #define SWIG_name    "_MDialogs"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -2566,7 +2573,7 @@
 
 
 SWIGINTERN swig_type_info*
-SWIG_pchar_descriptor()
+SWIG_pchar_descriptor(void)
 {
   static int init = 0;
   static swig_type_info* info = 0;
@@ -2582,7 +2589,7 @@
 SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 {
   if (PyString_Check(obj)) {
-    char *cstr; int len;
+    char *cstr; Py_ssize_t len;
     PyString_AsStringAndSize(obj, &cstr, &len);
     if (cptr)  {
       if (alloc) {
@@ -2656,7 +2663,7 @@
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message" "', argument " "1"" of type '" "char const *""'");
   }
-  arg1 = buf1;
+  arg1 = reinterpret_cast< char * >(buf1);
   result = (bool)Message((char const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
@@ -2680,7 +2687,7 @@
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Status" "', argument " "1"" of type '" "char const *""'");
   }
-  arg1 = buf1;
+  arg1 = reinterpret_cast< char * >(buf1);
   Status((char const *)arg1);
   resultobj = SWIG_Py_Void();
   if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
@@ -2735,7 +2742,7 @@
  * structures together.
  *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -2773,30 +2780,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -3109,7 +3133,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -3154,11 +3178,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {

Modified: trunk/M/src/Python/MDialogs.py-swig
===================================================================
--- trunk/M/src/Python/MDialogs.py-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MDialogs.py-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.29.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _MDialogs
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):

Modified: trunk/M/src/Python/MailFolder.cpp-swig
===================================================================
--- trunk/M/src/Python/MailFolder.cpp-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MailFolder.cpp-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.31
  * 
  * 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
@@ -120,7 +120,7 @@
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -137,7 +137,7 @@
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -714,8 +714,6 @@
 
 
 
-/* MPython.h has to appear first */
-#include <MPython.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -796,6 +794,14 @@
 }
 #endif
 
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
 
 /* -----------------------------------------------------------------------------
  * error manipulation
@@ -1189,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -2048,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2169,7 +2175,7 @@
    return;
  }
 #endif
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
  PyDict_SetItem(dict, SWIG_This(), swig_this);
  Py_DECREF(dict);
 } 
@@ -2310,7 +2316,7 @@
 
 /* The python cached type query */
 SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache() {
+SWIG_Python_TypeCache(void) {
   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
   return cache;
 }
@@ -2487,11 +2493,10 @@
 #define SWIGTYPE_p_UIdType swig_types[25]
 #define SWIGTYPE_p_UserData swig_types[26]
 #define SWIGTYPE_p_char swig_types[27]
-#define SWIGTYPE_p_wxChar swig_types[28]
-#define SWIGTYPE_p_wxFrame swig_types[29]
-#define SWIGTYPE_p_wxWindow swig_types[30]
-static swig_type_info *swig_types[32];
-static swig_module_info swig_module = {swig_types, 31, 0, 0, 0, 0};
+#define SWIGTYPE_p_wxFrame swig_types[28]
+#define SWIGTYPE_p_wxWindow swig_types[29]
+static swig_type_info *swig_types[31];
+static swig_module_info swig_module = {swig_types, 30, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -2499,7 +2504,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2510,7 +2515,8 @@
 
 #define SWIG_name    "_MailFolder"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -2825,7 +2831,7 @@
 
 
 SWIGINTERN swig_type_info*
-SWIG_pchar_descriptor()
+SWIG_pchar_descriptor(void)
 {
   static int init = 0;
   static swig_type_info* info = 0;
@@ -2854,6 +2860,13 @@
 }
 
 
+SWIGINTERNINLINE PyObject * 
+SWIG_FromCharPtr(const char *cptr)
+{ 
+  return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
+}
+
+
 SWIGINTERNINLINE PyObject *
 SWIG_From_char  (char c) 
 { 
@@ -3020,7 +3033,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_OpenFolder'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_OpenFolder'.\n  Possible C/C++ prototypes are:\n    OpenFolder(MFolder const *,MailFolder::OpenMode,wxFrame *)\n    OpenFolder(MFolder const *,MailFolder::OpenMode)\n    MailFolder::OpenFolder(MFolder const *)\n");
   return NULL;
 }
 
@@ -3113,7 +3126,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_HalfOpenFolder'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_HalfOpenFolder'.\n  Possible C/C++ prototypes are:\n    HalfOpenFolder(MFolder const *,wxFrame *)\n    MailFolder::HalfOpenFolder(MFolder const *)\n");
   return NULL;
 }
 
@@ -3207,7 +3220,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_CloseFolder'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_CloseFolder'.\n  Possible C/C++ prototypes are:\n    CloseFolder(MFolder const *,bool)\n    MailFolder::CloseFolder(MFolder const *)\n");
   return NULL;
 }
 
@@ -3300,7 +3313,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_CheckFolder'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_CheckFolder'.\n  Possible C/C++ prototypes are:\n    CheckFolder(MFolder const *,wxFrame *)\n    MailFolder::CheckFolder(MFolder const *)\n");
   return NULL;
 }
 
@@ -3386,7 +3399,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_CloseAll'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_CloseAll'.\n  Possible C/C++ prototypes are:\n    CloseAll(MFolderList *)\n    MailFolder::CloseAll()\n");
   return NULL;
 }
 
@@ -3450,7 +3463,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_PingAllOpened'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_PingAllOpened'.\n  Possible C/C++ prototypes are:\n    PingAllOpened(wxFrame *)\n    MailFolder::PingAllOpened()\n");
   return NULL;
 }
 
@@ -3664,7 +3677,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SaveMessageAsMBOX'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SaveMessageAsMBOX'.\n  Possible C/C++ prototypes are:\n    SaveMessageAsMBOX(String const &,void const *,size_t)\n    MailFolder::SaveMessageAsMBOX(String const &,String const &)\n");
   return NULL;
 }
 
@@ -3953,7 +3966,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_ForwardMessage'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_ForwardMessage'.\n  Possible C/C++ prototypes are:\n    ForwardMessage(Message *,Params const &,Profile *,wxWindow *,Composer *)\n    ForwardMessage(Message *,Params const &,Profile *,wxWindow *)\n    ForwardMessage(Message *,Params const &,Profile *)\n    MailFolder::ForwardMessage(Message *,Params const &)\n");
   return NULL;
 }
 
@@ -4242,7 +4255,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_ReplyMessage'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_ReplyMessage'.\n  Possible C/C++ prototypes are:\n    ReplyMessage(Message *,Params const &,Profile *,wxWindow *,Composer *)\n    ReplyMessage(Message *,Params const &,Profile *,wxWindow *)\n    ReplyMessage(Message *,Params const &,Profile *)\n    MailFolder::ReplyMessage(Message *,Params const &)\n");
   return NULL;
 }
 
@@ -4402,7 +4415,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_Subscribe'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_Subscribe'.\n  Possible C/C++ prototypes are:\n    Subscribe(String const &,MFolderType,String const &,bool)\n    MailFolder::Subscribe(String const &,MFolderType,String const &)\n");
   return NULL;
 }
 
@@ -4910,7 +4923,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_ListFolders'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_ListFolders'.\n  Possible C/C++ prototypes are:\n    ListFolders(ASMailFolder *,String const &,bool,String const &,UserData,Ticket)\n    ListFolders(ASMailFolder *,String const &,bool,String const &,UserData)\n    ListFolders(ASMailFolder *,String const &,bool,String const &)\n    ListFolders(ASMailFolder *,String const &,bool)\n    ListFolders(ASMailFolder *,String const &)\n    ListFolders(ASMailFolder *)\n");
   return NULL;
 }
 
@@ -5103,7 +5116,7 @@
 SWIGINTERN PyObject *_wrap_MailFolder_GetClassName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   MailFolder *arg1 = (MailFolder *) 0 ;
-  wxChar *result = 0 ;
+  char *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
@@ -5114,8 +5127,8 @@
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MailFolder_GetClassName" "', argument " "1"" of type '" "MailFolder const *""'"); 
   }
   arg1 = reinterpret_cast< MailFolder * >(argp1);
-  result = (wxChar *)((MailFolder const *)arg1)->GetClassName();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxChar, 0 |  0 );
+  result = (char *)((MailFolder const *)arg1)->GetClassName();
+  resultobj = SWIG_FromCharPtr((const char *)result);
   return resultobj;
 fail:
   return NULL;
@@ -5227,7 +5240,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_GetFolderDelimiter'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_GetFolderDelimiter'.\n  Possible C/C++ prototypes are:\n    GetFolderDelimiter()\n    MailFolder::GetFolderDelimiter(MFolder const *)\n");
   return NULL;
 }
 
@@ -5831,7 +5844,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SetMessageFlag'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SetMessageFlag'.\n  Possible C/C++ prototypes are:\n    SetMessageFlag(unsigned long,int,bool)\n    SetMessageFlag(unsigned long,int)\n");
   return NULL;
 }
 
@@ -6156,7 +6169,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SetSequenceFlag'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SetSequenceFlag'.\n  Possible C/C++ prototypes are:\n    SetSequenceFlag(MailFolder::SequenceKind,Sequence const &,int,bool)\n    SetSequenceFlag(MailFolder::SequenceKind,Sequence const &,int)\n    SetSequenceFlag(Sequence const &,int,bool)\n    SetSequenceFlag(Sequence const &,int)\n");
   return NULL;
 }
 
@@ -6280,7 +6293,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SetFlagForAll'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SetFlagForAll'.\n  Possible C/C++ prototypes are:\n    SetFlagForAll(int,bool)\n    SetFlagForAll(int)\n");
   return NULL;
 }
 
@@ -6432,7 +6445,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SetFlag'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SetFlag'.\n  Possible C/C++ prototypes are:\n    SetFlag(UIdArray const *,int,bool)\n    SetFlag(UIdArray const *,int)\n");
   return NULL;
 }
 
@@ -6540,7 +6553,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_AppendMessage'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_AppendMessage'.\n  Possible C/C++ prototypes are:\n    AppendMessage(Message const &)\n    AppendMessage(String const &)\n");
   return NULL;
 }
 
@@ -6767,7 +6780,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SearchByFlag'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SearchByFlag'.\n  Possible C/C++ prototypes are:\n    SearchByFlag(MailFolder::MessageStatus,int,MsgnoType)\n    SearchByFlag(MailFolder::MessageStatus,int)\n    SearchByFlag(MailFolder::MessageStatus)\n");
   return NULL;
 }
 
@@ -6889,7 +6902,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SearchMessages'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SearchMessages'.\n  Possible C/C++ prototypes are:\n    SearchMessages(SearchCriterium const *,int)\n    SearchMessages(SearchCriterium const *)\n");
   return NULL;
 }
 
@@ -7023,7 +7036,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SaveMessages'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SaveMessages'.\n  Possible C/C++ prototypes are:\n    SaveMessages(UIdArray const *,MFolder *)\n    SaveMessages(UIdArray const *,String const &)\n");
   return NULL;
 }
 
@@ -7170,7 +7183,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_SaveMessagesToFile'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_SaveMessagesToFile'.\n  Possible C/C++ prototypes are:\n    SaveMessagesToFile(UIdArray const *,String const &,wxWindow *)\n    SaveMessagesToFile(UIdArray const *,String const &)\n");
   return NULL;
 }
 
@@ -7292,7 +7305,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_DeleteOrTrashMessages'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_DeleteOrTrashMessages'.\n  Possible C/C++ prototypes are:\n    DeleteOrTrashMessages(UIdArray const *,int)\n    DeleteOrTrashMessages(UIdArray const *)\n");
   return NULL;
 }
 
@@ -7414,7 +7427,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_DeleteMessages'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_DeleteMessages'.\n  Possible C/C++ prototypes are:\n    DeleteMessages(UIdArray const *,int)\n    DeleteMessages(UIdArray const *)\n");
   return NULL;
 }
 
@@ -7596,7 +7609,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_ReplyMessages'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_ReplyMessages'.\n  Possible C/C++ prototypes are:\n    ReplyMessages(UIdArray const *,Params const &,wxWindow *)\n    ReplyMessages(UIdArray const *,Params const &)\n");
   return NULL;
 }
 
@@ -7747,7 +7760,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_ForwardMessages'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_ForwardMessages'.\n  Possible C/C++ prototypes are:\n    ForwardMessages(UIdArray const *,Params const &,wxWindow *)\n    ForwardMessages(UIdArray const *,Params const &)\n");
   return NULL;
 }
 
@@ -8025,7 +8038,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_ProcessNewMail'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_ProcessNewMail'.\n  Possible C/C++ prototypes are:\n    ProcessNewMail(UIdArray &,MFolder const *)\n    ProcessNewMail(UIdArray &)\n");
   return NULL;
 }
 
@@ -8196,7 +8209,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_GetImapSpec'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_GetImapSpec'.\n  Possible C/C++ prototypes are:\n    GetImapSpec(MFolder const *,String const &)\n    MailFolder::GetImapSpec(MFolder const *)\n");
   return NULL;
 }
 
@@ -8358,7 +8371,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MailFolder_ImportFoldersMH'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MailFolder_ImportFoldersMH'.\n  Possible C/C++ prototypes are:\n    ImportFoldersMH(String const &,bool)\n    MailFolder::ImportFoldersMH(String const &)\n");
   return NULL;
 }
 
@@ -8724,7 +8737,6 @@
 static swig_type_info _swigt__p_UIdType = {"_p_UIdType", "UIdType *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_UserData = {"_p_UserData", "UserData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_wxChar = {"_p_wxChar", "wxChar *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxFrame = {"_p_wxFrame", "wxFrame *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxWindow = {"_p_wxWindow", "wxWindow *", 0, 0, (void*)0, 0};
 
@@ -8757,7 +8769,6 @@
   &_swigt__p_UIdType,
   &_swigt__p_UserData,
   &_swigt__p_char,
-  &_swigt__p_wxChar,
   &_swigt__p_wxFrame,
   &_swigt__p_wxWindow,
 };
@@ -8790,7 +8801,6 @@
 static swig_cast_info _swigc__p_UIdType[] = {  {&_swigt__p_UIdType, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_UserData[] = {  {&_swigt__p_UserData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxChar[] = {  {&_swigt__p_wxChar, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxFrame[] = {  {&_swigt__p_wxFrame, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxWindow[] = {  {&_swigt__p_wxWindow, 0, 0, 0},{0, 0, 0, 0}};
 
@@ -8823,7 +8833,6 @@
   _swigc__p_UIdType,
   _swigc__p_UserData,
   _swigc__p_char,
-  _swigc__p_wxChar,
   _swigc__p_wxFrame,
   _swigc__p_wxWindow,
 };
@@ -8851,7 +8860,7 @@
  * structures together.
  *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -8889,30 +8898,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -9225,7 +9251,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -9270,11 +9296,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {

Modified: trunk/M/src/Python/MailFolder.py-swig
===================================================================
--- trunk/M/src/Python/MailFolder.py-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MailFolder.py-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.29.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _MailFolder
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):

Modified: trunk/M/src/Python/Message.cpp-swig
===================================================================
--- trunk/M/src/Python/Message.cpp-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/Message.cpp-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.31
  * 
  * 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
@@ -120,7 +120,7 @@
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -137,7 +137,7 @@
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -714,8 +714,6 @@
 
 
 
-/* MPython.h has to appear first */
-#include <MPython.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -796,6 +794,14 @@
 }
 #endif
 
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
 
 /* -----------------------------------------------------------------------------
  * error manipulation
@@ -1189,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -2048,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2169,7 +2175,7 @@
    return;
  }
 #endif
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
  PyDict_SetItem(dict, SWIG_This(), swig_this);
  Py_DECREF(dict);
 } 
@@ -2310,7 +2316,7 @@
 
 /* The python cached type query */
 SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache() {
+SWIG_Python_TypeCache(void) {
   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
   return cache;
 }
@@ -2488,7 +2494,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2499,7 +2505,8 @@
 
 #define SWIG_name    "_Message"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -2753,7 +2760,7 @@
 
 
 SWIGINTERN swig_type_info*
-SWIG_pchar_descriptor()
+SWIG_pchar_descriptor(void)
 {
   static int init = 0;
   static swig_type_info* info = 0;
@@ -2769,7 +2776,7 @@
 SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 {
   if (PyString_Check(obj)) {
-    char *cstr; int len;
+    char *cstr; Py_ssize_t len;
     PyString_AsStringAndSize(obj, &cstr, &len);
     if (cptr)  {
       if (alloc) {
@@ -3007,11 +3014,189 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'HeaderIterator_GetNext'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'HeaderIterator_GetNext'.\n  Possible C/C++ prototypes are:\n    GetNext(String *,String *,int)\n    GetNext(String *,String *)\n");
   return NULL;
 }
 
 
+SWIGINTERN PyObject *_wrap_HeaderIterator_GetNextDecoded__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  HeaderIterator *arg1 = (HeaderIterator *) 0 ;
+  String *arg2 = (String *) 0 ;
+  String *arg3 = (String *) 0 ;
+  wxFontEncoding *arg4 = (wxFontEncoding *) 0 ;
+  int arg5 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  String tempstr2 ;
+  String tempstr3 ;
+  void *argp4 = 0 ;
+  int res4 = 0 ;
+  int val5 ;
+  int ecode5 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  PyObject * obj4 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOOO:HeaderIterator_GetNextDecoded",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_HeaderIterator, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HeaderIterator_GetNextDecoded" "', argument " "1"" of type '" "HeaderIterator *""'"); 
+  }
+  arg1 = reinterpret_cast< HeaderIterator * >(argp1);
+  {
+    char * temps; int templ;
+    if (PyString_AsStringAndSize(obj1, &temps, &templ)) return NULL;
+    tempstr2 = String(temps, templ);
+    arg2 = &tempstr2;
+  }
+  {
+    char * temps; int templ;
+    if (PyString_AsStringAndSize(obj2, &temps, &templ)) return NULL;
+    tempstr3 = String(temps, templ);
+    arg3 = &tempstr3;
+  }
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_wxFontEncoding, 0 |  0 );
+  if (!SWIG_IsOK(res4)) {
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "HeaderIterator_GetNextDecoded" "', argument " "4"" of type '" "wxFontEncoding *""'"); 
+  }
+  arg4 = reinterpret_cast< wxFontEncoding * >(argp4);
+  ecode5 = SWIG_AsVal_int(obj4, &val5);
+  if (!SWIG_IsOK(ecode5)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "HeaderIterator_GetNextDecoded" "', argument " "5"" of type '" "int""'");
+  } 
+  arg5 = static_cast< int >(val5);
+  result = (bool)(arg1)->GetNextDecoded(arg2,arg3,arg4,arg5);
+  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_HeaderIterator_GetNextDecoded__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  HeaderIterator *arg1 = (HeaderIterator *) 0 ;
+  String *arg2 = (String *) 0 ;
+  String *arg3 = (String *) 0 ;
+  wxFontEncoding *arg4 = (wxFontEncoding *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  String tempstr2 ;
+  String tempstr3 ;
+  void *argp4 = 0 ;
+  int res4 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:HeaderIterator_GetNextDecoded",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_HeaderIterator, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HeaderIterator_GetNextDecoded" "', argument " "1"" of type '" "HeaderIterator *""'"); 
+  }
+  arg1 = reinterpret_cast< HeaderIterator * >(argp1);
+  {
+    char * temps; int templ;
+    if (PyString_AsStringAndSize(obj1, &temps, &templ)) return NULL;
+    tempstr2 = String(temps, templ);
+    arg2 = &tempstr2;
+  }
+  {
+    char * temps; int templ;
+    if (PyString_AsStringAndSize(obj2, &temps, &templ)) return NULL;
+    tempstr3 = String(temps, templ);
+    arg3 = &tempstr3;
+  }
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_wxFontEncoding, 0 |  0 );
+  if (!SWIG_IsOK(res4)) {
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "HeaderIterator_GetNextDecoded" "', argument " "4"" of type '" "wxFontEncoding *""'"); 
+  }
+  arg4 = reinterpret_cast< wxFontEncoding * >(argp4);
+  result = (bool)(arg1)->GetNextDecoded(arg2,arg3,arg4);
+  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_HeaderIterator_GetNextDecoded(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[6];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 4) {
+    int _v;
+    void *vptr = 0;
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_HeaderIterator, 0);
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      void *vptr = 0;
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_String, 0);
+      _v = SWIG_CheckState(res);
+      if (_v) {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_String, 0);
+        _v = SWIG_CheckState(res);
+        if (_v) {
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_wxFontEncoding, 0);
+          _v = SWIG_CheckState(res);
+          if (_v) {
+            return _wrap_HeaderIterator_GetNextDecoded__SWIG_1(self, args);
+          }
+        }
+      }
+    }
+  }
+  if (argc == 5) {
+    int _v;
+    void *vptr = 0;
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_HeaderIterator, 0);
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      void *vptr = 0;
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_String, 0);
+      _v = SWIG_CheckState(res);
+      if (_v) {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_String, 0);
+        _v = SWIG_CheckState(res);
+        if (_v) {
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_wxFontEncoding, 0);
+          _v = SWIG_CheckState(res);
+          if (_v) {
+            {
+              int res = SWIG_AsVal_int(argv[4], NULL);
+              _v = SWIG_CheckState(res);
+            }
+            if (_v) {
+              return _wrap_HeaderIterator_GetNextDecoded__SWIG_0(self, args);
+            }
+          }
+        }
+      }
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'HeaderIterator_GetNextDecoded'.\n  Possible C/C++ prototypes are:\n    GetNextDecoded(String *,String *,wxFontEncoding *,int)\n    GetNextDecoded(String *,String *,wxFontEncoding *)\n");
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_HeaderIterator_GetAll__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   HeaderIterator *arg1 = (HeaderIterator *) 0 ;
@@ -3157,11 +3342,189 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'HeaderIterator_GetAll'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'HeaderIterator_GetAll'.\n  Possible C/C++ prototypes are:\n    GetAll(wxArrayString *,wxArrayString *,int)\n    GetAll(wxArrayString *,wxArrayString *)\n");
   return NULL;
 }
 
 
+SWIGINTERN PyObject *_wrap_HeaderIterator_GetAllDecoded__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  HeaderIterator *arg1 = (HeaderIterator *) 0 ;
+  wxArrayString *arg2 = (wxArrayString *) 0 ;
+  wxArrayString *arg3 = (wxArrayString *) 0 ;
+  wxArrayInt *arg4 = (wxArrayInt *) 0 ;
+  int arg5 ;
+  size_t result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  void *argp3 = 0 ;
+  int res3 = 0 ;
+  void *argp4 = 0 ;
+  int res4 = 0 ;
+  int val5 ;
+  int ecode5 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  PyObject * obj4 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOOO:HeaderIterator_GetAllDecoded",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_HeaderIterator, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "1"" of type '" "HeaderIterator *""'"); 
+  }
+  arg1 = reinterpret_cast< HeaderIterator * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxArrayString, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "2"" of type '" "wxArrayString *""'"); 
+  }
+  arg2 = reinterpret_cast< wxArrayString * >(argp2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_wxArrayString, 0 |  0 );
+  if (!SWIG_IsOK(res3)) {
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "3"" of type '" "wxArrayString *""'"); 
+  }
+  arg3 = reinterpret_cast< wxArrayString * >(argp3);
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_wxArrayInt, 0 |  0 );
+  if (!SWIG_IsOK(res4)) {
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "4"" of type '" "wxArrayInt *""'"); 
+  }
+  arg4 = reinterpret_cast< wxArrayInt * >(argp4);
+  ecode5 = SWIG_AsVal_int(obj4, &val5);
+  if (!SWIG_IsOK(ecode5)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "5"" of type '" "int""'");
+  } 
+  arg5 = static_cast< int >(val5);
+  result = (arg1)->GetAllDecoded(arg2,arg3,arg4,arg5);
+  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_HeaderIterator_GetAllDecoded__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  HeaderIterator *arg1 = (HeaderIterator *) 0 ;
+  wxArrayString *arg2 = (wxArrayString *) 0 ;
+  wxArrayString *arg3 = (wxArrayString *) 0 ;
+  wxArrayInt *arg4 = (wxArrayInt *) 0 ;
+  size_t result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  void *argp3 = 0 ;
+  int res3 = 0 ;
+  void *argp4 = 0 ;
+  int res4 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:HeaderIterator_GetAllDecoded",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_HeaderIterator, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "1"" of type '" "HeaderIterator *""'"); 
+  }
+  arg1 = reinterpret_cast< HeaderIterator * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_wxArrayString, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "2"" of type '" "wxArrayString *""'"); 
+  }
+  arg2 = reinterpret_cast< wxArrayString * >(argp2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_wxArrayString, 0 |  0 );
+  if (!SWIG_IsOK(res3)) {
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "3"" of type '" "wxArrayString *""'"); 
+  }
+  arg3 = reinterpret_cast< wxArrayString * >(argp3);
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_wxArrayInt, 0 |  0 );
+  if (!SWIG_IsOK(res4)) {
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "HeaderIterator_GetAllDecoded" "', argument " "4"" of type '" "wxArrayInt *""'"); 
+  }
+  arg4 = reinterpret_cast< wxArrayInt * >(argp4);
+  result = (arg1)->GetAllDecoded(arg2,arg3,arg4);
+  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_HeaderIterator_GetAllDecoded(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[6];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 4) {
+    int _v;
+    void *vptr = 0;
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_HeaderIterator, 0);
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      void *vptr = 0;
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_wxArrayString, 0);
+      _v = SWIG_CheckState(res);
+      if (_v) {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_wxArrayString, 0);
+        _v = SWIG_CheckState(res);
+        if (_v) {
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_wxArrayInt, 0);
+          _v = SWIG_CheckState(res);
+          if (_v) {
+            return _wrap_HeaderIterator_GetAllDecoded__SWIG_1(self, args);
+          }
+        }
+      }
+    }
+  }
+  if (argc == 5) {
+    int _v;
+    void *vptr = 0;
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_HeaderIterator, 0);
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      void *vptr = 0;
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_wxArrayString, 0);
+      _v = SWIG_CheckState(res);
+      if (_v) {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_wxArrayString, 0);
+        _v = SWIG_CheckState(res);
+        if (_v) {
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_wxArrayInt, 0);
+          _v = SWIG_CheckState(res);
+          if (_v) {
+            {
+              int res = SWIG_AsVal_int(argv[4], NULL);
+              _v = SWIG_CheckState(res);
+            }
+            if (_v) {
+              return _wrap_HeaderIterator_GetAllDecoded__SWIG_0(self, args);
+            }
+          }
+        }
+      }
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'HeaderIterator_GetAllDecoded'.\n  Possible C/C++ prototypes are:\n    GetAllDecoded(wxArrayString *,wxArrayString *,wxArrayInt *,int)\n    GetAllDecoded(wxArrayString *,wxArrayString *,wxArrayInt *)\n");
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_HeaderIterator_Reset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   HeaderIterator *arg1 = (HeaderIterator *) 0 ;
@@ -3234,7 +3597,7 @@
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message_Create" "', argument " "1"" of type '" "char const *""'");
   }
-  arg1 = buf1;
+  arg1 = reinterpret_cast< char * >(buf1);
   {
     res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_UIdType,  0  | 0);
     if (!SWIG_IsOK(res2)) {
@@ -3281,7 +3644,7 @@
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message_Create" "', argument " "1"" of type '" "char const *""'");
   }
-  arg1 = buf1;
+  arg1 = reinterpret_cast< char * >(buf1);
   {
     res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_UIdType,  0  | 0);
     if (!SWIG_IsOK(res2)) {
@@ -3319,7 +3682,7 @@
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message_Create" "', argument " "1"" of type '" "char const *""'");
   }
-  arg1 = buf1;
+  arg1 = reinterpret_cast< char * >(buf1);
   result = (Message *)Message::Create((char const *)arg1);
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Message, 0 |  0 );
   if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
@@ -3379,7 +3742,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'Message_Create'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message_Create'.\n  Possible C/C++ prototypes are:\n    Create(char const *,UIdType,Profile *)\n    Create(char const *,UIdType)\n    Message::Create(char const *)\n");
   return NULL;
 }
 
@@ -3532,11 +3895,54 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'Message_GetHeaderLine'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message_GetHeaderLine'.\n  Possible C/C++ prototypes are:\n    GetHeaderLine(String const &,String &,wxFontEncoding *)\n    GetHeaderLine(String const &,String &)\n");
   return NULL;
 }
 
 
+SWIGINTERN PyObject *_wrap_Message_GetDecodedHeaderLine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  Message *arg1 = (Message *) 0 ;
+  String *arg2 = 0 ;
+  String *arg3 = 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  String tempstr2 ;
+  void *argp3 = 0 ;
+  int res3 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOO:Message_GetDecodedHeaderLine",&obj0,&obj1,&obj2)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Message, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message_GetDecodedHeaderLine" "', argument " "1"" of type '" "Message const *""'"); 
+  }
+  arg1 = reinterpret_cast< Message * >(argp1);
+  {
+    char * temps; int templ;
+    if (PyString_AsStringAndSize(obj1, &temps, &templ)) return NULL;
+    tempstr2 = String(temps, templ);
+    arg2 = &tempstr2;
+  }
+  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_String,  0 );
+  if (!SWIG_IsOK(res3)) {
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Message_GetDecodedHeaderLine" "', argument " "3"" of type '" "String &""'"); 
+  }
+  if (!argp3) {
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Message_GetDecodedHeaderLine" "', argument " "3"" of type '" "String &""'"); 
+  }
+  arg3 = reinterpret_cast< String * >(argp3);
+  result = (bool)((Message const *)arg1)->GetDecodedHeaderLine((String const &)*arg2,*arg3);
+  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_Message_GetHeaderLines__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Message *arg1 = (Message *) 0 ;
@@ -3653,7 +4059,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'Message_GetHeaderLines'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message_GetHeaderLines'.\n  Possible C/C++ prototypes are:\n    GetHeaderLines(char const **,wxArrayInt *)\n    GetHeaderLines(char const **)\n");
   return NULL;
 }
 
@@ -4338,7 +4744,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'Message_GetPartContent'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message_GetPartContent'.\n  Possible C/C++ prototypes are:\n    GetPartContent(int,unsigned long *)\n    GetPartContent(int)\n");
   return NULL;
 }
 
@@ -4555,7 +4961,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'Message_GetPartSize'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message_GetPartSize'.\n  Possible C/C++ prototypes are:\n    GetPartSize(int,bool)\n    GetPartSize(int)\n");
   return NULL;
 }
 
@@ -4811,7 +5217,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'Message_GetDisposition'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message_GetDisposition'.\n  Possible C/C++ prototypes are:\n    GetDisposition(int,String *)\n    GetDisposition(int)\n");
   return NULL;
 }
 
@@ -4961,7 +5367,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'Message_WriteToString'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message_WriteToString'.\n  Possible C/C++ prototypes are:\n    WriteToString(String &,bool)\n    WriteToString(String &)\n");
   return NULL;
 }
 
@@ -4976,12 +5382,15 @@
 static PyMethodDef SwigMethods[] = {
 	 { (char *)"new_HeaderIterator", _wrap_new_HeaderIterator, METH_VARARGS, NULL},
 	 { (char *)"HeaderIterator_GetNext", _wrap_HeaderIterator_GetNext, METH_VARARGS, NULL},
+	 { (char *)"HeaderIterator_GetNextDecoded", _wrap_HeaderIterator_GetNextDecoded, METH_VARARGS, NULL},
 	 { (char *)"HeaderIterator_GetAll", _wrap_HeaderIterator_GetAll, METH_VARARGS, NULL},
+	 { (char *)"HeaderIterator_GetAllDecoded", _wrap_HeaderIterator_GetAllDecoded, METH_VARARGS, NULL},
 	 { (char *)"HeaderIterator_Reset", _wrap_HeaderIterator_Reset, METH_VARARGS, NULL},
 	 { (char *)"delete_HeaderIterator", _wrap_delete_HeaderIterator, METH_VARARGS, NULL},
 	 { (char *)"HeaderIterator_swigregister", HeaderIterator_swigregister, METH_VARARGS, NULL},
 	 { (char *)"Message_Create", _wrap_Message_Create, METH_VARARGS, NULL},
 	 { (char *)"Message_GetHeaderLine", _wrap_Message_GetHeaderLine, METH_VARARGS, NULL},
+	 { (char *)"Message_GetDecodedHeaderLine", _wrap_Message_GetDecodedHeaderLine, METH_VARARGS, NULL},
 	 { (char *)"Message_GetHeaderLines", _wrap_Message_GetHeaderLines, METH_VARARGS, NULL},
 	 { (char *)"Message_GetHeaderIterator", _wrap_Message_GetHeaderIterator, METH_VARARGS, NULL},
 	 { (char *)"Message_GetAllHeaders", _wrap_Message_GetAllHeaders, METH_VARARGS, NULL},
@@ -5138,7 +5547,7 @@
  * structures together.
  *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -5176,30 +5585,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -5512,7 +5938,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -5557,11 +5983,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {
@@ -5625,6 +6051,7 @@
   SWIG_Python_SetConstant(d, "MAT_BCC",SWIG_From_int(static_cast< int >(MAT_BCC)));
   SWIG_Python_SetConstant(d, "HeaderIterator_Collapse",SWIG_From_int(static_cast< int >(HeaderIterator::Collapse)));
   SWIG_Python_SetConstant(d, "HeaderIterator_MultiLineOk",SWIG_From_int(static_cast< int >(HeaderIterator::MultiLineOk)));
+  SWIG_Python_SetConstant(d, "HeaderIterator_DuplicatesOk",SWIG_From_int(static_cast< int >(HeaderIterator::DuplicatesOk)));
   SWIG_Python_SetConstant(d, "Message_MSG_TYPETEXT",SWIG_From_int(static_cast< int >(Message::MSG_TYPETEXT)));
   SWIG_Python_SetConstant(d, "Message_MSG_TYPEMULTIPART",SWIG_From_int(static_cast< int >(Message::MSG_TYPEMULTIPART)));
   SWIG_Python_SetConstant(d, "Message_MSG_TYPEMESSAGE",SWIG_From_int(static_cast< int >(Message::MSG_TYPEMESSAGE)));

Modified: trunk/M/src/Python/Message.py-swig
===================================================================
--- trunk/M/src/Python/Message.py-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/Message.py-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.29.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _Message
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):
@@ -57,12 +63,15 @@
     __repr__ = _swig_repr
     Collapse = _Message.HeaderIterator_Collapse
     MultiLineOk = _Message.HeaderIterator_MultiLineOk
+    DuplicatesOk = _Message.HeaderIterator_DuplicatesOk
     def __init__(self, *args): 
         this = _Message.new_HeaderIterator(*args)
         try: self.this.append(this)
         except: self.this = this
     def GetNext(*args): return _Message.HeaderIterator_GetNext(*args)
+    def GetNextDecoded(*args): return _Message.HeaderIterator_GetNextDecoded(*args)
     def GetAll(*args): return _Message.HeaderIterator_GetAll(*args)
+    def GetAllDecoded(*args): return _Message.HeaderIterator_GetAllDecoded(*args)
     def Reset(*args): return _Message.HeaderIterator_Reset(*args)
     __swig_destroy__ = _Message.delete_HeaderIterator
     __del__ = lambda self : None;
@@ -79,6 +88,7 @@
     __swig_getmethods__["Create"] = lambda x: _Message.Message_Create
     if _newclass:Create = staticmethod(_Message.Message_Create)
     def GetHeaderLine(*args): return _Message.Message_GetHeaderLine(*args)
+    def GetDecodedHeaderLine(*args): return _Message.Message_GetDecodedHeaderLine(*args)
     def GetHeaderLines(*args): return _Message.Message_GetHeaderLines(*args)
     def GetHeaderIterator(*args): return _Message.Message_GetHeaderIterator(*args)
     def GetAllHeaders(*args): return _Message.Message_GetAllHeaders(*args)

Modified: trunk/M/src/Python/MimePart.cpp-swig
===================================================================
--- trunk/M/src/Python/MimePart.cpp-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MimePart.cpp-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.31
  * 
  * 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
@@ -120,7 +120,7 @@
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -137,7 +137,7 @@
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -714,8 +714,6 @@
 
 
 
-/* MPython.h has to appear first */
-#include <MPython.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -796,6 +794,14 @@
 }
 #endif
 
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
 
 /* -----------------------------------------------------------------------------
  * error manipulation
@@ -1189,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -2048,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2169,7 +2175,7 @@
    return;
  }
 #endif
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
  PyDict_SetItem(dict, SWIG_This(), swig_this);
  Py_DECREF(dict);
 } 
@@ -2310,7 +2316,7 @@
 
 /* The python cached type query */
 SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache() {
+SWIG_Python_TypeCache(void) {
   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
   return cache;
 }
@@ -2478,7 +2484,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2489,7 +2495,8 @@
 
 #define SWIG_name    "_MimePart"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -3179,7 +3186,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MimePart_GetRawContent'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MimePart_GetRawContent'.\n  Possible C/C++ prototypes are:\n    GetRawContent(unsigned long *)\n    GetRawContent()\n");
   return NULL;
 }
 
@@ -3485,7 +3492,7 @@
  * structures together.
  *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -3523,30 +3530,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -3859,7 +3883,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -3904,11 +3928,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {

Modified: trunk/M/src/Python/MimePart.py-swig
===================================================================
--- trunk/M/src/Python/MimePart.py-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MimePart.py-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.29.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _MimePart
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):
@@ -54,10 +60,10 @@
         except: self.this = this
     __swig_setmethods__["name"] = _MimePart.MimeParameter_name_set
     __swig_getmethods__["name"] = _MimePart.MimeParameter_name_get
-    if _newclass:name = property(_MimePart.MimeParameter_name_get, _MimePart.MimeParameter_name_set)
+    if _newclass:name = _swig_property(_MimePart.MimeParameter_name_get, _MimePart.MimeParameter_name_set)
     __swig_setmethods__["value"] = _MimePart.MimeParameter_value_set
     __swig_getmethods__["value"] = _MimePart.MimeParameter_value_get
-    if _newclass:value = property(_MimePart.MimeParameter_value_get, _MimePart.MimeParameter_value_set)
+    if _newclass:value = _swig_property(_MimePart.MimeParameter_value_get, _MimePart.MimeParameter_value_set)
     __swig_destroy__ = _MimePart.delete_MimeParameter
     __del__ = lambda self : None;
 MimeParameter_swigregister = _MimePart.MimeParameter_swigregister

Modified: trunk/M/src/Python/MimeType.cpp-swig
===================================================================
--- trunk/M/src/Python/MimeType.cpp-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MimeType.cpp-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.31
  * 
  * 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
@@ -120,7 +120,7 @@
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -137,7 +137,7 @@
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -714,8 +714,6 @@
 
 
 
-/* MPython.h has to appear first */
-#include <MPython.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -796,6 +794,14 @@
 }
 #endif
 
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
 
 /* -----------------------------------------------------------------------------
  * error manipulation
@@ -1189,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -2048,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2169,7 +2175,7 @@
    return;
  }
 #endif
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
  PyDict_SetItem(dict, SWIG_This(), swig_this);
  Py_DECREF(dict);
 } 
@@ -2310,7 +2316,7 @@
 
 /* The python cached type query */
 SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache() {
+SWIG_Python_TypeCache(void) {
   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
   return cache;
 }
@@ -2471,7 +2477,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2482,7 +2488,8 @@
 
 #define SWIG_name    "_MimeType"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -2858,7 +2865,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'new_MimeType'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_MimeType'.\n  Possible C/C++ prototypes are:\n    MimeType()\n    MimeType(String const &)\n    MimeType(MimeType::Primary,String const &)\n    MimeType(MimeType const &)\n");
   return NULL;
 }
 
@@ -2972,7 +2979,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'MimeType_Assign'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'MimeType_Assign'.\n  Possible C/C++ prototypes are:\n    Assign(String const &)\n    Assign(MimeType const &)\n");
   return NULL;
 }
 
@@ -3423,7 +3430,7 @@
  * structures together.
  *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -3461,30 +3468,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -3797,7 +3821,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -3842,11 +3866,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {

Modified: trunk/M/src/Python/MimeType.py-swig
===================================================================
--- trunk/M/src/Python/MimeType.py-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/MimeType.py-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.29.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _MimeType
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):

Modified: trunk/M/src/Python/SendMessage.cpp-swig
===================================================================
--- trunk/M/src/Python/SendMessage.cpp-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/SendMessage.cpp-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.31
  * 
  * 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
@@ -120,7 +120,7 @@
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -137,7 +137,7 @@
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -714,8 +714,6 @@
 
 
 
-/* MPython.h has to appear first */
-#include <MPython.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -796,6 +794,14 @@
 }
 #endif
 
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
 
 /* -----------------------------------------------------------------------------
  * error manipulation
@@ -1189,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -2048,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2169,7 +2175,7 @@
    return;
  }
 #endif
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
  PyDict_SetItem(dict, SWIG_This(), swig_this);
  Py_DECREF(dict);
 } 
@@ -2310,7 +2316,7 @@
 
 /* The python cached type query */
 SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache() {
+SWIG_Python_TypeCache(void) {
   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
   return cache;
 }
@@ -2479,7 +2485,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2490,7 +2496,8 @@
 
 #define SWIG_name    "_SendMessage"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -2963,7 +2970,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_Create'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_Create'.\n  Possible C/C++ prototypes are:\n    Create(Profile *,Protocol,wxFrame *)\n    Create(Profile *,Protocol)\n    SendMessage::Create(Profile *)\n");
   return NULL;
 }
 
@@ -3084,7 +3091,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_CreateResent'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_CreateResent'.\n  Possible C/C++ prototypes are:\n    CreateResent(Profile *,Message const *,wxFrame *)\n    SendMessage::CreateResent(Profile *,Message const *)\n");
   return NULL;
 }
 
@@ -3386,7 +3393,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_CreateFromMsg'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_CreateFromMsg'.\n  Possible C/C++ prototypes are:\n    CreateFromMsg(Profile *,Message const *,Protocol,wxFrame *,wxArrayInt const *)\n    CreateFromMsg(Profile *,Message const *,Protocol,wxFrame *)\n    CreateFromMsg(Profile *,Message const *,Protocol)\n    SendMessage::CreateFromMsg(Profile *,Message const *)\n");
   return NULL;
 }
 
@@ -3601,7 +3608,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_SetAddresses'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_SetAddresses'.\n  Possible C/C++ prototypes are:\n    SetAddresses(String const &,String const &,String const &)\n    SetAddresses(String const &,String const &)\n    SetAddresses(String const &)\n");
   return NULL;
 }
 
@@ -3786,7 +3793,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_SetFrom'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_SetFrom'.\n  Possible C/C++ prototypes are:\n    SetFrom(String const &,String const &,String const &)\n    SetFrom(String const &,String const &)\n    SetFrom(String const &)\n");
   return NULL;
 }
 
@@ -4709,7 +4716,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_AddPart'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_AddPart'.\n  Possible C/C++ prototypes are:\n    AddPart(MimeType::Primary,void const *,size_t,String const &,String const &,MessageParameterList const *,MessageParameterList const *,wxFontEncoding)\n    AddPart(MimeType::Primary,void const *,size_t,String const &,String const &,MessageParameterList const *,MessageParameterList const *)\n    AddPart(MimeType::Primary,void const *,size_t,String const &,String const &,MessageParameterList const *)\n    AddPart(MimeType::Primary,void const *,size_t,String const &,String const &)\n    AddPart(MimeType::Primary,void const *,size_t,String const &)\n    AddPart(MimeType::Primary,void const *,size_t)\n");
   return NULL;
 }
 
@@ -4863,7 +4870,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_WriteToFile'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_WriteToFile'.\n  Possible C/C++ prototypes are:\n    WriteToFile(String const &,bool)\n    WriteToFile(String const &)\n");
   return NULL;
 }
 
@@ -4988,7 +4995,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_SendOrQueue'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_SendOrQueue'.\n  Possible C/C++ prototypes are:\n    SendOrQueue(int)\n    SendOrQueue()\n");
   return NULL;
 }
 
@@ -5079,7 +5086,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'SendMessage_Preview'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SendMessage_Preview'.\n  Possible C/C++ prototypes are:\n    Preview(String *)\n    Preview()\n");
   return NULL;
 }
 
@@ -5216,7 +5223,7 @@
  * structures together.
  *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -5254,30 +5261,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -5590,7 +5614,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -5635,11 +5659,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {

Modified: trunk/M/src/Python/SendMessage.py-swig
===================================================================
--- trunk/M/src/Python/SendMessage.py-swig	2008-04-24 22:17:55 UTC (rev 7428)
+++ trunk/M/src/Python/SendMessage.py-swig	2008-04-24 22:37:29 UTC (rev 7429)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.29.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _SendMessage
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone