| 1 | /* ---------------------------------------------------------------------------- | 
 
 
 
 
 | 2 | * This file was automatically generated by SWIG (http://www.swig.org). | 
 
 
 
 
 | 3 | * Version 1.3.25 | 
 
 
 
 
 | 4 | * | 
 
 
 
 
 | 5 | * This file is not intended to be easily readable and contains a number of | 
 
 
 
 
 | 6 | * coding conventions designed to improve portability and efficiency. Do not make | 
 
 
 
 
 | 7 | * changes to this file unless you know what you are doing--modify the SWIG | 
 
 
 
 
 | 8 | * interface file instead. | 
 
 
 
 
 | 9 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | #define SWIGPYTHON | 
 
 
 
 
 | 12 | /*********************************************************************** | 
 
 
 
 
 | 13 | * | 
 
 
 
 
 | 14 | *  This section contains generic SWIG labels for method/variable | 
 
 
 
 
 | 15 | *  declarations/attributes, and other compiler dependent labels. | 
 
 
 
 
 | 16 | * | 
 
 
 
 
 | 17 | ************************************************************************/ | 
 
 
 
 
 | 18 |  | 
 
 
 
 
 | 19 | /* template workaround for compilers that cannot correctly implement the C++ standard */ | 
 
 
 
 
 | 20 | #ifndef SWIGTEMPLATEDISAMBIGUATOR | 
 
 
 
 
 | 21 | #  if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) | 
 
 
 
 
 | 22 | #    define SWIGTEMPLATEDISAMBIGUATOR template | 
 
 
 
 
 | 23 | #  else | 
 
 
 
 
 | 24 | #    define SWIGTEMPLATEDISAMBIGUATOR | 
 
 
 
 
 | 25 | #  endif | 
 
 
 
 
 | 26 | #endif | 
 
 
 
 
 | 27 |  | 
 
 
 
 
 | 28 | /* inline attribute */ | 
 
 
 
 
 | 29 | #ifndef SWIGINLINE | 
 
 
 
 
 | 30 | # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) | 
 
 
 
 
 | 31 | #   define SWIGINLINE inline | 
 
 
 
 
 | 32 | # else | 
 
 
 
 
 | 33 | #   define SWIGINLINE | 
 
 
 
 
 | 34 | # endif | 
 
 
 
 
 | 35 | #endif | 
 
 
 
 
 | 36 |  | 
 
 
 
 
 | 37 | /* attribute recognised by some compilers to avoid 'unused' warnings */ | 
 
 
 
 
 | 38 | #ifndef SWIGUNUSED | 
 
 
 
 
 | 39 | # if defined(__GNUC__) || defined(__ICC) | 
 
 
 
 
 | 40 | #   define SWIGUNUSED __attribute__ ((unused)) | 
 
 
 
 
 | 41 | # else | 
 
 
 
 
 | 42 | #   define SWIGUNUSED | 
 
 
 
 
 | 43 | # endif | 
 
 
 
 
 | 44 | #endif | 
 
 
 
 
 | 45 |  | 
 
 
 
 
 | 46 | /* internal SWIG method */ | 
 
 
 
 
 | 47 | #ifndef SWIGINTERN | 
 
 
 
 
 | 48 | # define SWIGINTERN static SWIGUNUSED | 
 
 
 
 
 | 49 | #endif | 
 
 
 
 
 | 50 |  | 
 
 
 
 
 | 51 | /* internal inline SWIG method */ | 
 
 
 
 
 | 52 | #ifndef SWIGINTERNINLINE | 
 
 
 
 
 | 53 | # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE | 
 
 
 
 
 | 54 | #endif | 
 
 
 
 
 | 55 |  | 
 
 
 
 
 | 56 | /* exporting methods for Windows DLLs */ | 
 
 
 
 
 | 57 | #ifndef SWIGEXPORT | 
 
 
 
 
 | 58 | # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) | 
 
 
 
 
 | 59 | #   if defined(STATIC_LINKED) | 
 
 
 
 
 | 60 | #     define SWIGEXPORT | 
 
 
 
 
 | 61 | #   else | 
 
 
 
 
 | 62 | #     define SWIGEXPORT __declspec(dllexport) | 
 
 
 
 
 | 63 | #   endif | 
 
 
 
 
 | 64 | # else | 
 
 
 
 
 | 65 | #   define SWIGEXPORT | 
 
 
 
 
 | 66 | # endif | 
 
 
 
 
 | 67 | #endif | 
 
 
 
 
 | 68 |  | 
 
 
 
 
 | 69 | /* calling conventions for Windows */ | 
 
 
 
 
 | 70 | #ifndef SWIGSTDCALL | 
 
 
 
 
 | 71 | # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) | 
 
 
 
 
 | 72 | #   define SWIGSTDCALL __stdcall | 
 
 
 
 
 | 73 | # else | 
 
 
 
 
 | 74 | #   define SWIGSTDCALL | 
 
 
 
 
 | 75 | # endif | 
 
 
 
 
 | 76 | #endif | 
 
 
 
 
 | 77 |  | 
 
 
 
 
 | 78 |  | 
 
 
 
 
 | 79 |  | 
 
 
 
 
 | 80 | #include <Python.h> | 
 
 
 
 
 | 81 |  | 
 
 
 
 
 | 82 | /*********************************************************************** | 
 
 
 
 
 | 83 | * swigrun.swg | 
 
 
 
 
 | 84 | * | 
 
 
 
 
 | 85 | *     This file contains generic CAPI SWIG runtime support for pointer | 
 
 
 
 
 | 86 | *     type checking. | 
 
 
 
 
 | 87 | * | 
 
 
 
 
 | 88 | ************************************************************************/ | 
 
 
 
 
 | 89 |  | 
 
 
 
 
 | 90 | /* This should only be incremented when either the layout of swig_type_info changes, | 
 
 
 
 
 | 91 | or for whatever reason, the runtime changes incompatibly */ | 
 
 
 
 
 | 92 | #define SWIG_RUNTIME_VERSION "2" | 
 
 
 
 
 | 93 |  | 
 
 
 
 
 | 94 | /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ | 
 
 
 
 
 | 95 | #ifdef SWIG_TYPE_TABLE | 
 
 
 
 
 | 96 | # define SWIG_QUOTE_STRING(x) #x | 
 
 
 
 
 | 97 | # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) | 
 
 
 
 
 | 98 | # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) | 
 
 
 
 
 | 99 | #else | 
 
 
 
 
 | 100 | # define SWIG_TYPE_TABLE_NAME | 
 
 
 
 
 | 101 | #endif | 
 
 
 
 
 | 102 |  | 
 
 
 
 
 | 103 | /* | 
 
 
 
 
 | 104 | You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for | 
 
 
 
 
 | 105 | creating a static or dynamic library from the swig runtime code. | 
 
 
 
 
 | 106 | In 99.9% of the cases, swig just needs to declare them as 'static'. | 
 
 
 
 
 | 107 |  | 
 
 
 
 
 | 108 | But only do this if is strictly necessary, ie, if you have problems | 
 
 
 
 
 | 109 | with your compiler or so. | 
 
 
 
 
 | 110 | */ | 
 
 
 
 
 | 111 |  | 
 
 
 
 
 | 112 | #ifndef SWIGRUNTIME | 
 
 
 
 
 | 113 | # define SWIGRUNTIME SWIGINTERN | 
 
 
 
 
 | 114 | #endif | 
 
 
 
 
 | 115 |  | 
 
 
 
 
 | 116 | #ifndef SWIGRUNTIMEINLINE | 
 
 
 
 
 | 117 | # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE | 
 
 
 
 
 | 118 | #endif | 
 
 
 
 
 | 119 |  | 
 
 
 
 
 | 120 | #include <string.h> | 
 
 
 
 
 | 121 |  | 
 
 
 
 
 | 122 | #ifdef __cplusplus | 
 
 
 
 
 | 123 | extern "C" { | 
 
 
 
 
 | 124 | #endif | 
 
 
 
 
 | 125 |  | 
 
 
 
 
 | 126 | typedef void *(*swig_converter_func)(void *); | 
 
 
 
 
 | 127 | typedef struct swig_type_info *(*swig_dycast_func)(void **); | 
 
 
 
 
 | 128 |  | 
 
 
 
 
 | 129 | /* Structure to store inforomation on one type */ | 
 
 
 
 
 | 130 | typedef struct swig_type_info { | 
 
 
 
 
 | 131 | const char             *name;                 /* mangled name of this type */ | 
 
 
 
 
 | 132 | const char             *str;                  /* human readable name of this type */ | 
 
 
 
 
 | 133 | swig_dycast_func        dcast;                /* dynamic cast function down a hierarchy */ | 
 
 
 
 
 | 134 | struct swig_cast_info  *cast;                 /* linked list of types that can cast into this type */ | 
 
 
 
 
 | 135 | void                   *clientdata;           /* language specific type data */ | 
 
 
 
 
 | 136 | } swig_type_info; | 
 
 
 
 
 | 137 |  | 
 
 
 
 
 | 138 | /* Structure to store a type and conversion function used for casting */ | 
 
 
 
 
 | 139 | typedef struct swig_cast_info { | 
 
 
 
 
 | 140 | swig_type_info         *type;                 /* pointer to type that is equivalent to this type */ | 
 
 
 
 
 | 141 | swig_converter_func     converter;            /* function to cast the void pointers */ | 
 
 
 
 
 | 142 | struct swig_cast_info  *next;                 /* pointer to next cast in linked list */ | 
 
 
 
 
 | 143 | struct swig_cast_info  *prev;                 /* pointer to the previous cast */ | 
 
 
 
 
 | 144 | } swig_cast_info; | 
 
 
 
 
 | 145 |  | 
 
 
 
 
 | 146 | /* Structure used to store module information | 
 
 
 
 
 | 147 | * Each module generates one structure like this, and the runtime collects | 
 
 
 
 
 | 148 | * all of these structures and stores them in a circularly linked list.*/ | 
 
 
 
 
 | 149 | typedef struct swig_module_info { | 
 
 
 
 
 | 150 | swig_type_info         **types;               /* Array of pointers to swig_type_info structures that are in this module */ | 
 
 
 
 
 | 151 | size_t                 size;                  /* Number of types in this module */ | 
 
 
 
 
 | 152 | struct swig_module_info *next;                /* Pointer to next element in circularly linked list */ | 
 
 
 
 
 | 153 | swig_type_info         **type_initial;        /* Array of initially generated type structures */ | 
 
 
 
 
 | 154 | swig_cast_info         **cast_initial;        /* Array of initially generated casting structures */ | 
 
 
 
 
 | 155 | void                    *clientdata;          /* Language specific module data */ | 
 
 
 
 
 | 156 | } swig_module_info; | 
 
 
 
 
 | 157 |  | 
 
 
 
 
 | 158 |  | 
 
 
 
 
 | 159 | /* | 
 
 
 
 
 | 160 | Compare two type names skipping the space characters, therefore | 
 
 
 
 
 | 161 | "char*" == "char *" and "Class<int>" == "Class<int >", etc. | 
 
 
 
 
 | 162 |  | 
 
 
 
 
 | 163 | Return 0 when the two name types are equivalent, as in | 
 
 
 
 
 | 164 | strncmp, but skipping ' '. | 
 
 
 
 
 | 165 | */ | 
 
 
 
 
 | 166 | SWIGRUNTIME int | 
 
 
 
 
 | 167 | SWIG_TypeNameComp(const char *f1, const char *l1, | 
 
 
 
 
 | 168 | const char *f2, const char *l2) { | 
 
 
 
 
 | 169 | for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { | 
 
 
 
 
 | 170 | while ((*f1 == ' ') && (f1 != l1)) ++f1; | 
 
 
 
 
 | 171 | while ((*f2 == ' ') && (f2 != l2)) ++f2; | 
 
 
 
 
 | 172 | if (*f1 != *f2) return (int)(*f1 - *f2); | 
 
 
 
 
 | 173 | } | 
 
 
 
 
 | 174 | return (l1 - f1) - (l2 - f2); | 
 
 
 
 
 | 175 | } | 
 
 
 
 
 | 176 |  | 
 
 
 
 
 | 177 | /* | 
 
 
 
 
 | 178 | Check type equivalence in a name list like <name1>|<name2>|... | 
 
 
 
 
 | 179 | Return 0 if not equal, 1 if equal | 
 
 
 
 
 | 180 | */ | 
 
 
 
 
 | 181 | SWIGRUNTIME int | 
 
 
 
 
 | 182 | SWIG_TypeEquiv(const char *nb, const char *tb) { | 
 
 
 
 
 | 183 | int equiv = 0; | 
 
 
 
 
 | 184 | const char* te = tb + strlen(tb); | 
 
 
 
 
 | 185 | const char* ne = nb; | 
 
 
 
 
 | 186 | while (!equiv && *ne) { | 
 
 
 
 
 | 187 | for (nb = ne; *ne; ++ne) { | 
 
 
 
 
 | 188 | if (*ne == '|') break; | 
 
 
 
 
 | 189 | } | 
 
 
 
 
 | 190 | equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; | 
 
 
 
 
 | 191 | if (*ne) ++ne; | 
 
 
 
 
 | 192 | } | 
 
 
 
 
 | 193 | return equiv; | 
 
 
 
 
 | 194 | } | 
 
 
 
 
 | 195 |  | 
 
 
 
 
 | 196 | /* | 
 
 
 
 
 | 197 | Check type equivalence in a name list like <name1>|<name2>|... | 
 
 
 
 
 | 198 | Return 0 if equal, -1 if nb < tb, 1 if nb > tb | 
 
 
 
 
 | 199 | */ | 
 
 
 
 
 | 200 | SWIGRUNTIME int | 
 
 
 
 
 | 201 | SWIG_TypeCompare(const char *nb, const char *tb) { | 
 
 
 
 
 | 202 | int equiv = 0; | 
 
 
 
 
 | 203 | const char* te = tb + strlen(tb); | 
 
 
 
 
 | 204 | const char* ne = nb; | 
 
 
 
 
 | 205 | while (!equiv && *ne) { | 
 
 
 
 
 | 206 | for (nb = ne; *ne; ++ne) { | 
 
 
 
 
 | 207 | if (*ne == '|') break; | 
 
 
 
 
 | 208 | } | 
 
 
 
 
 | 209 | equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; | 
 
 
 
 
 | 210 | if (*ne) ++ne; | 
 
 
 
 
 | 211 | } | 
 
 
 
 
 | 212 | return equiv; | 
 
 
 
 
 | 213 | } | 
 
 
 
 
 | 214 |  | 
 
 
 
 
 | 215 |  | 
 
 
 
 
 | 216 | /* think of this as a c++ template<> or a scheme macro */ | 
 
 
 
 
 | 217 | #define SWIG_TypeCheck_Template(comparison, ty)         \ | 
 
 
 
 
 | 218 | if (ty) {                                             \ | 
 
 
 
 
 | 219 | swig_cast_info *iter = ty->cast;                    \ | 
 
 
 
 
 | 220 | while (iter) {                                      \ | 
 
 
 
 
 | 221 | if (comparison) {                                 \ | 
 
 
 
 
 | 222 | if (iter == ty->cast) return iter;              \ | 
 
 
 
 
 | 223 | /* Move iter to the top of the linked list */   \ | 
 
 
 
 
 | 224 | iter->prev->next = iter->next;                  \ | 
 
 
 
 
 | 225 | if (iter->next)                                 \ | 
 
 
 
 
 | 226 | iter->next->prev = iter->prev;                \ | 
 
 
 
 
 | 227 | iter->next = ty->cast;                          \ | 
 
 
 
 
 | 228 | iter->prev = 0;                                 \ | 
 
 
 
 
 | 229 | if (ty->cast) ty->cast->prev = iter;            \ | 
 
 
 
 
 | 230 | ty->cast = iter;                                \ | 
 
 
 
 
 | 231 | return iter;                                    \ | 
 
 
 
 
 | 232 | }                                                 \ | 
 
 
 
 
 | 233 | iter = iter->next;                                \ | 
 
 
 
 
 | 234 | }                                                   \ | 
 
 
 
 
 | 235 | }                                                     \ | 
 
 
 
 
 | 236 | return 0 | 
 
 
 
 
 | 237 |  | 
 
 
 
 
 | 238 | /* | 
 
 
 
 
 | 239 | Check the typename | 
 
 
 
 
 | 240 | */ | 
 
 
 
 
 | 241 | SWIGRUNTIME swig_cast_info * | 
 
 
 
 
 | 242 | SWIG_TypeCheck(const char *c, swig_type_info *ty) { | 
 
 
 
 
 | 243 | SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty); | 
 
 
 
 
 | 244 | } | 
 
 
 
 
 | 245 |  | 
 
 
 
 
 | 246 | /* Same as previous function, except strcmp is replaced with a pointer comparison */ | 
 
 
 
 
 | 247 | SWIGRUNTIME swig_cast_info * | 
 
 
 
 
 | 248 | SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { | 
 
 
 
 
 | 249 | SWIG_TypeCheck_Template(iter->type == from, into); | 
 
 
 
 
 | 250 | } | 
 
 
 
 
 | 251 |  | 
 
 
 
 
 | 252 | /* | 
 
 
 
 
 | 253 | Cast a pointer up an inheritance hierarchy | 
 
 
 
 
 | 254 | */ | 
 
 
 
 
 | 255 | SWIGRUNTIMEINLINE void * | 
 
 
 
 
 | 256 | SWIG_TypeCast(swig_cast_info *ty, void *ptr) { | 
 
 
 
 
 | 257 | return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); | 
 
 
 
 
 | 258 | } | 
 
 
 
 
 | 259 |  | 
 
 
 
 
 | 260 | /* | 
 
 
 
 
 | 261 | Dynamic pointer casting. Down an inheritance hierarchy | 
 
 
 
 
 | 262 | */ | 
 
 
 
 
 | 263 | SWIGRUNTIME swig_type_info * | 
 
 
 
 
 | 264 | SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { | 
 
 
 
 
 | 265 | swig_type_info *lastty = ty; | 
 
 
 
 
 | 266 | if (!ty || !ty->dcast) return ty; | 
 
 
 
 
 | 267 | while (ty && (ty->dcast)) { | 
 
 
 
 
 | 268 | ty = (*ty->dcast)(ptr); | 
 
 
 
 
 | 269 | if (ty) lastty = ty; | 
 
 
 
 
 | 270 | } | 
 
 
 
 
 | 271 | return lastty; | 
 
 
 
 
 | 272 | } | 
 
 
 
 
 | 273 |  | 
 
 
 
 
 | 274 | /* | 
 
 
 
 
 | 275 | Return the name associated with this type | 
 
 
 
 
 | 276 | */ | 
 
 
 
 
 | 277 | SWIGRUNTIMEINLINE const char * | 
 
 
 
 
 | 278 | SWIG_TypeName(const swig_type_info *ty) { | 
 
 
 
 
 | 279 | return ty->name; | 
 
 
 
 
 | 280 | } | 
 
 
 
 
 | 281 |  | 
 
 
 
 
 | 282 | /* | 
 
 
 
 
 | 283 | Return the pretty name associated with this type, | 
 
 
 
 
 | 284 | that is an unmangled type name in a form presentable to the user. | 
 
 
 
 
 | 285 | */ | 
 
 
 
 
 | 286 | SWIGRUNTIME const char * | 
 
 
 
 
 | 287 | SWIG_TypePrettyName(const swig_type_info *type) { | 
 
 
 
 
 | 288 | /* The "str" field contains the equivalent pretty names of the | 
 
 
 
 
 | 289 | type, separated by vertical-bar characters.  We choose | 
 
 
 
 
 | 290 | to print the last name, as it is often (?) the most | 
 
 
 
 
 | 291 | specific. */ | 
 
 
 
 
 | 292 | if (type->str != NULL) { | 
 
 
 
 
 | 293 | const char *last_name = type->str; | 
 
 
 
 
 | 294 | const char *s; | 
 
 
 
 
 | 295 | for (s = type->str; *s; s++) | 
 
 
 
 
 | 296 | if (*s == '|') last_name = s+1; | 
 
 
 
 
 | 297 | return last_name; | 
 
 
 
 
 | 298 | } | 
 
 
 
 
 | 299 | else | 
 
 
 
 
 | 300 | return type->name; | 
 
 
 
 
 | 301 | } | 
 
 
 
 
 | 302 |  | 
 
 
 
 
 | 303 | /* | 
 
 
 
 
 | 304 | Set the clientdata field for a type | 
 
 
 
 
 | 305 | */ | 
 
 
 
 
 | 306 | SWIGRUNTIME void | 
 
 
 
 
 | 307 | SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { | 
 
 
 
 
 | 308 | if (!ti->clientdata) { | 
 
 
 
 
 | 309 | swig_cast_info *cast = ti->cast; | 
 
 
 
 
 | 310 | /* if (ti->clientdata == clientdata) return; */ | 
 
 
 
 
 | 311 | ti->clientdata = clientdata; | 
 
 
 
 
 | 312 |  | 
 
 
 
 
 | 313 | while (cast) { | 
 
 
 
 
 | 314 | if (!cast->converter) | 
 
 
 
 
 | 315 | SWIG_TypeClientData(cast->type, clientdata); | 
 
 
 
 
 | 316 | cast = cast->next; | 
 
 
 
 
 | 317 | } | 
 
 
 
 
 | 318 | } | 
 
 
 
 
 | 319 | } | 
 
 
 
 
 | 320 |  | 
 
 
 
 
 | 321 | /* | 
 
 
 
 
 | 322 | Search for a swig_type_info structure only by mangled name | 
 
 
 
 
 | 323 | Search is a O(log #types) | 
 
 
 
 
 | 324 |  | 
 
 
 
 
 | 325 | We start searching at module start, and finish searching when start == end. | 
 
 
 
 
 | 326 | Note: if start == end at the beginning of the function, we go all the way around | 
 
 
 
 
 | 327 | the circular list. | 
 
 
 
 
 | 328 | */ | 
 
 
 
 
 | 329 | SWIGRUNTIME swig_type_info * | 
 
 
 
 
 | 330 | SWIG_MangledTypeQueryModule(swig_module_info *start, | 
 
 
 
 
 | 331 | swig_module_info *end, | 
 
 
 
 
 | 332 | const char *name) { | 
 
 
 
 
 | 333 | swig_module_info *iter = start; | 
 
 
 
 
 | 334 | do { | 
 
 
 
 
 | 335 | if (iter->size) { | 
 
 
 
 
 | 336 | register size_t l = 0; | 
 
 
 
 
 | 337 | register size_t r = iter->size - 1; | 
 
 
 
 
 | 338 | do { | 
 
 
 
 
 | 339 | /* since l+r >= 0, we can (>> 1) instead (/ 2) */ | 
 
 
 
 
 | 340 | register size_t i = (l + r) >> 1; | 
 
 
 
 
 | 341 | const char *iname = iter->types[i]->name; | 
 
 
 
 
 | 342 | if (iname) { | 
 
 
 
 
 | 343 | register int compare = strcmp(name, iname); | 
 
 
 
 
 | 344 | if (compare == 0) { | 
 
 
 
 
 | 345 | return iter->types[i]; | 
 
 
 
 
 | 346 | } else if (compare < 0) { | 
 
 
 
 
 | 347 | if (i) { | 
 
 
 
 
 | 348 | r = i - 1; | 
 
 
 
 
 | 349 | } else { | 
 
 
 
 
 | 350 | break; | 
 
 
 
 
 | 351 | } | 
 
 
 
 
 | 352 | } else if (compare > 0) { | 
 
 
 
 
 | 353 | l = i + 1; | 
 
 
 
 
 | 354 | } | 
 
 
 
 
 | 355 | } else { | 
 
 
 
 
 | 356 | break; /* should never happen */ | 
 
 
 
 
 | 357 | } | 
 
 
 
 
 | 358 | } while (l <= r); | 
 
 
 
 
 | 359 | } | 
 
 
 
 
 | 360 | iter = iter->next; | 
 
 
 
 
 | 361 | } while (iter != end); | 
 
 
 
 
 | 362 | return 0; | 
 
 
 
 
 | 363 | } | 
 
 
 
 
 | 364 |  | 
 
 
 
 
 | 365 | /* | 
 
 
 
 
 | 366 | Search for a swig_type_info structure for either a mangled name or a human readable name. | 
 
 
 
 
 | 367 | It first searches the mangled names of the types, which is a O(log #types) | 
 
 
 
 
 | 368 | If a type is not found it then searches the human readable names, which is O(#types). | 
 
 
 
 
 | 369 |  | 
 
 
 
 
 | 370 | We start searching at module start, and finish searching when start == end. | 
 
 
 
 
 | 371 | Note: if start == end at the beginning of the function, we go all the way around | 
 
 
 
 
 | 372 | the circular list. | 
 
 
 
 
 | 373 | */ | 
 
 
 
 
 | 374 | SWIGRUNTIME swig_type_info * | 
 
 
 
 
 | 375 | SWIG_TypeQueryModule(swig_module_info *start, | 
 
 
 
 
 | 376 | swig_module_info *end, | 
 
 
 
 
 | 377 | const char *name) { | 
 
 
 
 
 | 378 | /* STEP 1: Search the name field using binary search */ | 
 
 
 
 
 | 379 | swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); | 
 
 
 
 
 | 380 | if (ret) { | 
 
 
 
 
 | 381 | return ret; | 
 
 
 
 
 | 382 | } else { | 
 
 
 
 
 | 383 | /* STEP 2: If the type hasn't been found, do a complete search | 
 
 
 
 
 | 384 | of the str field (the human readable name) */ | 
 
 
 
 
 | 385 | swig_module_info *iter = start; | 
 
 
 
 
 | 386 | do { | 
 
 
 
 
 | 387 | register size_t i = 0; | 
 
 
 
 
 | 388 | for (; i < iter->size; ++i) { | 
 
 
 
 
 | 389 | if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) | 
 
 
 
 
 | 390 | return iter->types[i]; | 
 
 
 
 
 | 391 | } | 
 
 
 
 
 | 392 | iter = iter->next; | 
 
 
 
 
 | 393 | } while (iter != end); | 
 
 
 
 
 | 394 | } | 
 
 
 
 
 | 395 |  | 
 
 
 
 
 | 396 | /* neither found a match */ | 
 
 
 
 
 | 397 | return 0; | 
 
 
 
 
 | 398 | } | 
 
 
 
 
 | 399 |  | 
 
 
 
 
 | 400 |  | 
 
 
 
 
 | 401 | /* | 
 
 
 
 
 | 402 | Pack binary data into a string | 
 
 
 
 
 | 403 | */ | 
 
 
 
 
 | 404 | SWIGRUNTIME char * | 
 
 
 
 
 | 405 | SWIG_PackData(char *c, void *ptr, size_t sz) { | 
 
 
 
 
 | 406 | static const char hex[17] = "0123456789abcdef"; | 
 
 
 
 
 | 407 | register const unsigned char *u = (unsigned char *) ptr; | 
 
 
 
 
 | 408 | register const unsigned char *eu =  u + sz; | 
 
 
 
 
 | 409 | for (; u != eu; ++u) { | 
 
 
 
 
 | 410 | register unsigned char uu = *u; | 
 
 
 
 
 | 411 | *(c++) = hex[(uu & 0xf0) >> 4]; | 
 
 
 
 
 | 412 | *(c++) = hex[uu & 0xf]; | 
 
 
 
 
 | 413 | } | 
 
 
 
 
 | 414 | return c; | 
 
 
 
 
 | 415 | } | 
 
 
 
 
 | 416 |  | 
 
 
 
 
 | 417 | /* | 
 
 
 
 
 | 418 | Unpack binary data from a string | 
 
 
 
 
 | 419 | */ | 
 
 
 
 
 | 420 | SWIGRUNTIME const char * | 
 
 
 
 
 | 421 | SWIG_UnpackData(const char *c, void *ptr, size_t sz) { | 
 
 
 
 
 | 422 | register unsigned char *u = (unsigned char *) ptr; | 
 
 
 
 
 | 423 | register const unsigned char *eu = u + sz; | 
 
 
 
 
 | 424 | for (; u != eu; ++u) { | 
 
 
 
 
 | 425 | register char d = *(c++); | 
 
 
 
 
 | 426 | register unsigned char uu = 0; | 
 
 
 
 
 | 427 | if ((d >= '0') && (d <= '9')) | 
 
 
 
 
 | 428 | uu = ((d - '0') << 4); | 
 
 
 
 
 | 429 | else if ((d >= 'a') && (d <= 'f')) | 
 
 
 
 
 | 430 | uu = ((d - ('a'-10)) << 4); | 
 
 
 
 
 | 431 | else | 
 
 
 
 
 | 432 | return (char *) 0; | 
 
 
 
 
 | 433 | d = *(c++); | 
 
 
 
 
 | 434 | if ((d >= '0') && (d <= '9')) | 
 
 
 
 
 | 435 | uu |= (d - '0'); | 
 
 
 
 
 | 436 | else if ((d >= 'a') && (d <= 'f')) | 
 
 
 
 
 | 437 | uu |= (d - ('a'-10)); | 
 
 
 
 
 | 438 | else | 
 
 
 
 
 | 439 | return (char *) 0; | 
 
 
 
 
 | 440 | *u = uu; | 
 
 
 
 
 | 441 | } | 
 
 
 
 
 | 442 | return c; | 
 
 
 
 
 | 443 | } | 
 
 
 
 
 | 444 |  | 
 
 
 
 
 | 445 | /* | 
 
 
 
 
 | 446 | Pack 'void *' into a string buffer. | 
 
 
 
 
 | 447 | */ | 
 
 
 
 
 | 448 | SWIGRUNTIME char * | 
 
 
 
 
 | 449 | SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { | 
 
 
 
 
 | 450 | char *r = buff; | 
 
 
 
 
 | 451 | if ((2*sizeof(void *) + 2) > bsz) return 0; | 
 
 
 
 
 | 452 | *(r++) = '_'; | 
 
 
 
 
 | 453 | r = SWIG_PackData(r,&ptr,sizeof(void *)); | 
 
 
 
 
 | 454 | if (strlen(name) + 1 > (bsz - (r - buff))) return 0; | 
 
 
 
 
 | 455 | strcpy(r,name); | 
 
 
 
 
 | 456 | return buff; | 
 
 
 
 
 | 457 | } | 
 
 
 
 
 | 458 |  | 
 
 
 
 
 | 459 | SWIGRUNTIME const char * | 
 
 
 
 
 | 460 | SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { | 
 
 
 
 
 | 461 | if (*c != '_') { | 
 
 
 
 
 | 462 | if (strcmp(c,"NULL") == 0) { | 
 
 
 
 
 | 463 | *ptr = (void *) 0; | 
 
 
 
 
 | 464 | return name; | 
 
 
 
 
 | 465 | } else { | 
 
 
 
 
 | 466 | return 0; | 
 
 
 
 
 | 467 | } | 
 
 
 
 
 | 468 | } | 
 
 
 
 
 | 469 | return SWIG_UnpackData(++c,ptr,sizeof(void *)); | 
 
 
 
 
 | 470 | } | 
 
 
 
 
 | 471 |  | 
 
 
 
 
 | 472 | SWIGRUNTIME char * | 
 
 
 
 
 | 473 | SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { | 
 
 
 
 
 | 474 | char *r = buff; | 
 
 
 
 
 | 475 | size_t lname = (name ? strlen(name) : 0); | 
 
 
 
 
 | 476 | if ((2*sz + 2 + lname) > bsz) return 0; | 
 
 
 
 
 | 477 | *(r++) = '_'; | 
 
 
 
 
 | 478 | r = SWIG_PackData(r,ptr,sz); | 
 
 
 
 
 | 479 | if (lname) { | 
 
 
 
 
 | 480 | strncpy(r,name,lname+1); | 
 
 
 
 
 | 481 | } else { | 
 
 
 
 
 | 482 | *r = 0; | 
 
 
 
 
 | 483 | } | 
 
 
 
 
 | 484 | return buff; | 
 
 
 
 
 | 485 | } | 
 
 
 
 
 | 486 |  | 
 
 
 
 
 | 487 | SWIGRUNTIME const char * | 
 
 
 
 
 | 488 | SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { | 
 
 
 
 
 | 489 | if (*c != '_') { | 
 
 
 
 
 | 490 | if (strcmp(c,"NULL") == 0) { | 
 
 
 
 
 | 491 | memset(ptr,0,sz); | 
 
 
 
 
 | 492 | return name; | 
 
 
 
 
 | 493 | } else { | 
 
 
 
 
 | 494 | return 0; | 
 
 
 
 
 | 495 | } | 
 
 
 
 
 | 496 | } | 
 
 
 
 
 | 497 | return SWIG_UnpackData(++c,ptr,sz); | 
 
 
 
 
 | 498 | } | 
 
 
 
 
 | 499 |  | 
 
 
 
 
 | 500 | #ifdef __cplusplus | 
 
 
 
 
 | 501 | } | 
 
 
 
 
 | 502 | #endif | 
 
 
 
 
 | 503 |  | 
 
 
 
 
 | 504 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 505 | * SWIG API. Portion that goes into the runtime | 
 
 
 
 
 | 506 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 507 |  | 
 
 
 
 
 | 508 | #ifdef __cplusplus | 
 
 
 
 
 | 509 | extern "C" { | 
 
 
 
 
 | 510 | #endif | 
 
 
 
 
 | 511 |  | 
 
 
 
 
 | 512 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 513 | * for internal method declarations | 
 
 
 
 
 | 514 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 515 |  | 
 
 
 
 
 | 516 | #ifndef SWIGINTERN | 
 
 
 
 
 | 517 | #  define SWIGINTERN static SWIGUNUSED | 
 
 
 
 
 | 518 | #endif | 
 
 
 
 
 | 519 |  | 
 
 
 
 
 | 520 | #ifndef SWIGINTERNINLINE | 
 
 
 
 
 | 521 | #  define SWIGINTERNINLINE SWIGINTERN SWIGINLINE | 
 
 
 
 
 | 522 | #endif | 
 
 
 
 
 | 523 |  | 
 
 
 
 
 | 524 | /* | 
 
 
 
 
 | 525 | Exception handling in wrappers | 
 
 
 
 
 | 526 | */ | 
 
 
 
 
 | 527 | #define SWIG_fail                goto fail | 
 
 
 
 
 | 528 | #define SWIG_arg_fail(arg)       SWIG_Python_ArgFail(arg) | 
 
 
 
 
 | 529 | #define SWIG_append_errmsg(msg)   SWIG_Python_AddErrMesg(msg,0) | 
 
 
 
 
 | 530 | #define SWIG_preppend_errmsg(msg) SWIG_Python_AddErrMesg(msg,1) | 
 
 
 
 
 | 531 | #define SWIG_type_error(type,obj) SWIG_Python_TypeError(type,obj) | 
 
 
 
 
 | 532 | #define SWIG_null_ref(type)       SWIG_Python_NullRef(type) | 
 
 
 
 
 | 533 |  | 
 
 
 
 
 | 534 | /* | 
 
 
 
 
 | 535 | Contract support | 
 
 
 
 
 | 536 | */ | 
 
 
 
 
 | 537 | #define SWIG_contract_assert(expr, msg) \ | 
 
 
 
 
 | 538 | if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else | 
 
 
 
 
 | 539 |  | 
 
 
 
 
 | 540 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 541 | * Constant declarations | 
 
 
 
 
 | 542 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 543 |  | 
 
 
 
 
 | 544 | /* Constant Types */ | 
 
 
 
 
 | 545 | #define SWIG_PY_INT     1 | 
 
 
 
 
 | 546 | #define SWIG_PY_FLOAT   2 | 
 
 
 
 
 | 547 | #define SWIG_PY_STRING  3 | 
 
 
 
 
 | 548 | #define SWIG_PY_POINTER 4 | 
 
 
 
 
 | 549 | #define SWIG_PY_BINARY  5 | 
 
 
 
 
 | 550 |  | 
 
 
 
 
 | 551 | /* Constant information structure */ | 
 
 
 
 
 | 552 | typedef struct swig_const_info { | 
 
 
 
 
 | 553 | int type; | 
 
 
 
 
 | 554 | char *name; | 
 
 
 
 
 | 555 | long lvalue; | 
 
 
 
 
 | 556 | double dvalue; | 
 
 
 
 
 | 557 | void   *pvalue; | 
 
 
 
 
 | 558 | swig_type_info **ptype; | 
 
 
 
 
 | 559 | } swig_const_info; | 
 
 
 
 
 | 560 |  | 
 
 
 
 
 | 561 |  | 
 
 
 
 
 | 562 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 563 | * Alloc. memory flags | 
 
 
 
 
 | 564 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 565 | #define SWIG_OLDOBJ  1 | 
 
 
 
 
 | 566 | #define SWIG_NEWOBJ  SWIG_OLDOBJ + 1 | 
 
 
 
 
 | 567 | #define SWIG_PYSTR   SWIG_NEWOBJ + 1 | 
 
 
 
 
 | 568 |  | 
 
 
 
 
 | 569 | #ifdef __cplusplus | 
 
 
 
 
 | 570 | } | 
 
 
 
 
 | 571 | #endif | 
 
 
 
 
 | 572 |  | 
 
 
 
 
 | 573 |  | 
 
 
 
 
 | 574 | /*********************************************************************** | 
 
 
 
 
 | 575 | * pyrun.swg | 
 
 
 
 
 | 576 | * | 
 
 
 
 
 | 577 | *     This file contains the runtime support for Python modules | 
 
 
 
 
 | 578 | *     and includes code for managing global variables and pointer | 
 
 
 
 
 | 579 | *     type checking. | 
 
 
 
 
 | 580 | * | 
 
 
 
 
 | 581 | * Author : David Beazley (beazley@cs.uchicago.edu) | 
 
 
 
 
 | 582 | ************************************************************************/ | 
 
 
 
 
 | 583 |  | 
 
 
 
 
 | 584 | /* Common SWIG API */ | 
 
 
 
 
 | 585 | #define SWIG_ConvertPtr(obj, pp, type, flags)    SWIG_Python_ConvertPtr(obj, pp, type, flags) | 
 
 
 
 
 | 586 | #define SWIG_NewPointerObj(p, type, flags)       SWIG_Python_NewPointerObj(p, type, flags) | 
 
 
 
 
 | 587 | #define SWIG_MustGetPtr(p, type, argnum, flags)  SWIG_Python_MustGetPtr(p, type, argnum, flags) | 
 
 
 
 
 | 588 |  | 
 
 
 
 
 | 589 |  | 
 
 
 
 
 | 590 | /* Python-specific SWIG API */ | 
 
 
 
 
 | 591 | #define SWIG_ConvertPacked(obj, ptr, sz, ty, flags)   SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags) | 
 
 
 
 
 | 592 | #define SWIG_NewPackedObj(ptr, sz, type)              SWIG_Python_NewPackedObj(ptr, sz, type) | 
 
 
 
 
 | 593 |  | 
 
 
 
 
 | 594 | /* Runtime API */ | 
 
 
 
 
 | 595 | #define SWIG_GetModule(clientdata) SWIG_Python_GetModule() | 
 
 
 
 
 | 596 | #define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer) | 
 
 
 
 
 | 597 |  | 
 
 
 
 
 | 598 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 599 | * Pointer declarations | 
 
 
 
 
 | 600 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 601 | /* | 
 
 
 
 
 | 602 | Use SWIG_NO_COBJECT_TYPES to force the use of strings to represent | 
 
 
 
 
 | 603 | C/C++ pointers in the python side. Very useful for debugging, but | 
 
 
 
 
 | 604 | not always safe. | 
 
 
 
 
 | 605 | */ | 
 
 
 
 
 | 606 | #if !defined(SWIG_NO_COBJECT_TYPES) && !defined(SWIG_COBJECT_TYPES) | 
 
 
 
 
 | 607 | #  define SWIG_COBJECT_TYPES | 
 
 
 
 
 | 608 | #endif | 
 
 
 
 
 | 609 |  | 
 
 
 
 
 | 610 | /* Flags for pointer conversion */ | 
 
 
 
 
 | 611 | #define SWIG_POINTER_EXCEPTION     0x1 | 
 
 
 
 
 | 612 | #define SWIG_POINTER_DISOWN        0x2 | 
 
 
 
 
 | 613 |  | 
 
 
 
 
 | 614 |  | 
 
 
 
 
 | 615 | /* Add PyOS_snprintf for old Pythons */ | 
 
 
 
 
 | 616 | #if PY_VERSION_HEX < 0x02020000 | 
 
 
 
 
 | 617 | #define PyOS_snprintf snprintf | 
 
 
 
 
 | 618 | #endif | 
 
 
 
 
 | 619 |  | 
 
 
 
 
 | 620 | #ifdef __cplusplus | 
 
 
 
 
 | 621 | extern "C" { | 
 
 
 
 
 | 622 | #endif | 
 
 
 
 
 | 623 |  | 
 
 
 
 
 | 624 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 625 | * Create a new pointer string | 
 
 
 
 
 | 626 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 627 | #ifndef SWIG_BUFFER_SIZE | 
 
 
 
 
 | 628 | #define SWIG_BUFFER_SIZE 1024 | 
 
 
 
 
 | 629 | #endif | 
 
 
 
 
 | 630 |  | 
 
 
 
 
 | 631 | #if defined(SWIG_COBJECT_TYPES) | 
 
 
 
 
 | 632 | #if !defined(SWIG_COBJECT_PYTHON) | 
 
 
 
 
 | 633 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 634 | * Implements a simple Swig Object type, and use it instead of PyCObject | 
 
 
 
 
 | 635 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 636 |  | 
 
 
 
 
 | 637 | typedef struct { | 
 
 
 
 
 | 638 | PyObject_HEAD | 
 
 
 
 
 | 639 | void *ptr; | 
 
 
 
 
 | 640 | const char *desc; | 
 
 
 
 
 | 641 | } PySwigObject; | 
 
 
 
 
 | 642 |  | 
 
 
 
 
 | 643 | /* Declarations for objects of type PySwigObject */ | 
 
 
 
 
 | 644 |  | 
 
 
 
 
 | 645 | SWIGRUNTIME int | 
 
 
 
 
 | 646 | PySwigObject_print(PySwigObject *v, FILE *fp, int flags) | 
 
 
 
 
 | 647 | { | 
 
 
 
 
 | 648 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 649 | flags = flags; | 
 
 
 
 
 | 650 | if (SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result))) { | 
 
 
 
 
 | 651 | fputs("<Swig Object at ", fp); fputs(result, fp); fputs(">", fp); | 
 
 
 
 
 | 652 | return 0; | 
 
 
 
 
 | 653 | } else { | 
 
 
 
 
 | 654 | return 1; | 
 
 
 
 
 | 655 | } | 
 
 
 
 
 | 656 | } | 
 
 
 
 
 | 657 |  | 
 
 
 
 
 | 658 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 659 | PySwigObject_repr(PySwigObject *v) | 
 
 
 
 
 | 660 | { | 
 
 
 
 
 | 661 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 662 | return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ? | 
 
 
 
 
 | 663 | PyString_FromFormat("<Swig Object at %s>", result) : 0; | 
 
 
 
 
 | 664 | } | 
 
 
 
 
 | 665 |  | 
 
 
 
 
 | 666 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 667 | PySwigObject_str(PySwigObject *v) | 
 
 
 
 
 | 668 | { | 
 
 
 
 
 | 669 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 670 | return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ? | 
 
 
 
 
 | 671 | PyString_FromString(result) : 0; | 
 
 
 
 
 | 672 | } | 
 
 
 
 
 | 673 |  | 
 
 
 
 
 | 674 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 675 | PySwigObject_long(PySwigObject *v) | 
 
 
 
 
 | 676 | { | 
 
 
 
 
 | 677 | return PyLong_FromVoidPtr(v->ptr); | 
 
 
 
 
 | 678 | } | 
 
 
 
 
 | 679 |  | 
 
 
 
 
 | 680 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 681 | PySwigObject_format(const char* fmt, PySwigObject *v) | 
 
 
 
 
 | 682 | { | 
 
 
 
 
 | 683 | PyObject *res = NULL; | 
 
 
 
 
 | 684 | PyObject *args = PyTuple_New(1); | 
 
 
 
 
 | 685 | if (args && (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0)) { | 
 
 
 
 
 | 686 | PyObject *ofmt = PyString_FromString(fmt); | 
 
 
 
 
 | 687 | if (ofmt) { | 
 
 
 
 
 | 688 | res = PyString_Format(ofmt,args); | 
 
 
 
 
 | 689 | Py_DECREF(ofmt); | 
 
 
 
 
 | 690 | } | 
 
 
 
 
 | 691 | Py_DECREF(args); | 
 
 
 
 
 | 692 | } | 
 
 
 
 
 | 693 | return res; | 
 
 
 
 
 | 694 | } | 
 
 
 
 
 | 695 |  | 
 
 
 
 
 | 696 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 697 | PySwigObject_oct(PySwigObject *v) | 
 
 
 
 
 | 698 | { | 
 
 
 
 
 | 699 | return PySwigObject_format("%o",v); | 
 
 
 
 
 | 700 | } | 
 
 
 
 
 | 701 |  | 
 
 
 
 
 | 702 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 703 | PySwigObject_hex(PySwigObject *v) | 
 
 
 
 
 | 704 | { | 
 
 
 
 
 | 705 | return PySwigObject_format("%x",v); | 
 
 
 
 
 | 706 | } | 
 
 
 
 
 | 707 |  | 
 
 
 
 
 | 708 | SWIGRUNTIME int | 
 
 
 
 
 | 709 | PySwigObject_compare(PySwigObject *v, PySwigObject *w) | 
 
 
 
 
 | 710 | { | 
 
 
 
 
 | 711 | int c = strcmp(v->desc, w->desc); | 
 
 
 
 
 | 712 | if (c) { | 
 
 
 
 
 | 713 | return (c > 0) ? 1 : -1; | 
 
 
 
 
 | 714 | } else { | 
 
 
 
 
 | 715 | void *i = v->ptr; | 
 
 
 
 
 | 716 | void *j = w->ptr; | 
 
 
 
 
 | 717 | return (i < j) ? -1 : ((i > j) ? 1 : 0); | 
 
 
 
 
 | 718 | } | 
 
 
 
 
 | 719 | } | 
 
 
 
 
 | 720 |  | 
 
 
 
 
 | 721 | SWIGRUNTIME void | 
 
 
 
 
 | 722 | PySwigObject_dealloc(PySwigObject *self) | 
 
 
 
 
 | 723 | { | 
 
 
 
 
 | 724 | PyObject_DEL(self); | 
 
 
 
 
 | 725 | } | 
 
 
 
 
 | 726 |  | 
 
 
 
 
 | 727 | SWIGRUNTIME PyTypeObject* | 
 
 
 
 
 | 728 | PySwigObject_type(void) { | 
 
 
 
 
 | 729 | static char pyswigobject_type__doc__[] = | 
 
 
 
 
 | 730 | "Swig object carries a C/C++ instance pointer"; | 
 
 
 
 
 | 731 |  | 
 
 
 
 
 | 732 | static PyNumberMethods PySwigObject_as_number = { | 
 
 
 
 
 | 733 | (binaryfunc)0, /*nb_add*/ | 
 
 
 
 
 | 734 | (binaryfunc)0, /*nb_subtract*/ | 
 
 
 
 
 | 735 | (binaryfunc)0, /*nb_multiply*/ | 
 
 
 
 
 | 736 | (binaryfunc)0, /*nb_divide*/ | 
 
 
 
 
 | 737 | (binaryfunc)0, /*nb_remainder*/ | 
 
 
 
 
 | 738 | (binaryfunc)0, /*nb_divmod*/ | 
 
 
 
 
 | 739 | (ternaryfunc)0,/*nb_power*/ | 
 
 
 
 
 | 740 | (unaryfunc)0,  /*nb_negative*/ | 
 
 
 
 
 | 741 | (unaryfunc)0,  /*nb_positive*/ | 
 
 
 
 
 | 742 | (unaryfunc)0,  /*nb_absolute*/ | 
 
 
 
 
 | 743 | (inquiry)0,    /*nb_nonzero*/ | 
 
 
 
 
 | 744 | 0,             /*nb_invert*/ | 
 
 
 
 
 | 745 | 0,             /*nb_lshift*/ | 
 
 
 
 
 | 746 | 0,             /*nb_rshift*/ | 
 
 
 
 
 | 747 | 0,             /*nb_and*/ | 
 
 
 
 
 | 748 | 0,             /*nb_xor*/ | 
 
 
 
 
 | 749 | 0,             /*nb_or*/ | 
 
 
 
 
 | 750 | (coercion)0,   /*nb_coerce*/ | 
 
 
 
 
 | 751 | (unaryfunc)PySwigObject_long, /*nb_int*/ | 
 
 
 
 
 | 752 | (unaryfunc)PySwigObject_long, /*nb_long*/ | 
 
 
 
 
 | 753 | (unaryfunc)0,                 /*nb_float*/ | 
 
 
 
 
 | 754 | (unaryfunc)PySwigObject_oct,  /*nb_oct*/ | 
 
 
 
 
 | 755 | (unaryfunc)PySwigObject_hex,  /*nb_hex*/ | 
 
 
 
 
 | 756 | #if PY_VERSION_HEX >= 0x02000000 | 
 
 
 
 
 | 757 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ | 
 
 
 
 
 | 758 | #endif | 
 
 
 
 
 | 759 | }; | 
 
 
 
 
 | 760 |  | 
 
 
 
 
 | 761 | static PyTypeObject pyswigobject_type | 
 
 
 
 
 | 762 | #if !defined(__cplusplus) | 
 
 
 
 
 | 763 | ; | 
 
 
 
 
 | 764 | static int type_init = 0; | 
 
 
 
 
 | 765 | if (!type_init) { | 
 
 
 
 
 | 766 | PyTypeObject tmp | 
 
 
 
 
 | 767 | #endif | 
 
 
 
 
 | 768 | = { | 
 
 
 
 
 | 769 | PyObject_HEAD_INIT(&PyType_Type) | 
 
 
 
 
 | 770 | 0,                                  /*ob_size*/ | 
 
 
 
 
 | 771 | (char *)"PySwigObject",             /*tp_name*/ | 
 
 
 
 
 | 772 | sizeof(PySwigObject),               /*tp_basicsize*/ | 
 
 
 
 
 | 773 | 0,                                  /*tp_itemsize*/ | 
 
 
 
 
 | 774 | /* methods */ | 
 
 
 
 
 | 775 | (destructor)PySwigObject_dealloc,   /*tp_dealloc*/ | 
 
 
 
 
 | 776 | (printfunc)PySwigObject_print,      /*tp_print*/ | 
 
 
 
 
 | 777 | (getattrfunc)0,                     /*tp_getattr*/ | 
 
 
 
 
 | 778 | (setattrfunc)0,                     /*tp_setattr*/ | 
 
 
 
 
 | 779 | (cmpfunc)PySwigObject_compare,      /*tp_compare*/ | 
 
 
 
 
 | 780 | (reprfunc)PySwigObject_repr,        /*tp_repr*/ | 
 
 
 
 
 | 781 | &PySwigObject_as_number,            /*tp_as_number*/ | 
 
 
 
 
 | 782 | 0,                                  /*tp_as_sequence*/ | 
 
 
 
 
 | 783 | 0,                                  /*tp_as_mapping*/ | 
 
 
 
 
 | 784 | (hashfunc)0,                        /*tp_hash*/ | 
 
 
 
 
 | 785 | (ternaryfunc)0,                     /*tp_call*/ | 
 
 
 
 
 | 786 | (reprfunc)PySwigObject_str,         /*tp_str*/ | 
 
 
 
 
 | 787 | /* Space for future expansion */ | 
 
 
 
 
 | 788 | 0,0,0,0, | 
 
 
 
 
 | 789 | pyswigobject_type__doc__,           /* Documentation string */ | 
 
 
 
 
 | 790 | #if PY_VERSION_HEX >= 0x02000000 | 
 
 
 
 
 | 791 | 0,                                  /* tp_traverse */ | 
 
 
 
 
 | 792 | 0,                                  /* tp_clear */ | 
 
 
 
 
 | 793 | #endif | 
 
 
 
 
 | 794 | #if PY_VERSION_HEX >= 0x02010000 | 
 
 
 
 
 | 795 | 0,                                  /* tp_richcompare */ | 
 
 
 
 
 | 796 | 0,                                  /* tp_weaklistoffset */ | 
 
 
 
 
 | 797 | #endif | 
 
 
 
 
 | 798 | #if PY_VERSION_HEX >= 0x02020000 | 
 
 
 
 
 | 799 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ | 
 
 
 
 
 | 800 | #endif | 
 
 
 
 
 | 801 | #if PY_VERSION_HEX >= 0x02030000 | 
 
 
 
 
 | 802 | 0,                                  /* tp_del */ | 
 
 
 
 
 | 803 | #endif | 
 
 
 
 
 | 804 | #ifdef COUNT_ALLOCS | 
 
 
 
 
 | 805 | 0,0,0,0                             /* tp_alloc -> tp_next */ | 
 
 
 
 
 | 806 | #endif | 
 
 
 
 
 | 807 | }; | 
 
 
 
 
 | 808 | #if !defined(__cplusplus) | 
 
 
 
 
 | 809 | pyswigobject_type = tmp; | 
 
 
 
 
 | 810 | type_init = 1; | 
 
 
 
 
 | 811 | } | 
 
 
 
 
 | 812 | #endif | 
 
 
 
 
 | 813 | return &pyswigobject_type; | 
 
 
 
 
 | 814 | } | 
 
 
 
 
 | 815 |  | 
 
 
 
 
 | 816 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 817 | PySwigObject_FromVoidPtrAndDesc(void *ptr, const char *desc) | 
 
 
 
 
 | 818 | { | 
 
 
 
 
 | 819 | PySwigObject *self = PyObject_NEW(PySwigObject, PySwigObject_type()); | 
 
 
 
 
 | 820 | if (self) { | 
 
 
 
 
 | 821 | self->ptr = ptr; | 
 
 
 
 
 | 822 | self->desc = desc; | 
 
 
 
 
 | 823 | } | 
 
 
 
 
 | 824 | return (PyObject *)self; | 
 
 
 
 
 | 825 | } | 
 
 
 
 
 | 826 |  | 
 
 
 
 
 | 827 | SWIGRUNTIMEINLINE void * | 
 
 
 
 
 | 828 | PySwigObject_AsVoidPtr(PyObject *self) | 
 
 
 
 
 | 829 | { | 
 
 
 
 
 | 830 | return ((PySwigObject *)self)->ptr; | 
 
 
 
 
 | 831 | } | 
 
 
 
 
 | 832 |  | 
 
 
 
 
 | 833 | SWIGRUNTIMEINLINE const char * | 
 
 
 
 
 | 834 | PySwigObject_GetDesc(PyObject *self) | 
 
 
 
 
 | 835 | { | 
 
 
 
 
 | 836 | return ((PySwigObject *)self)->desc; | 
 
 
 
 
 | 837 | } | 
 
 
 
 
 | 838 |  | 
 
 
 
 
 | 839 | SWIGRUNTIMEINLINE int | 
 
 
 
 
 | 840 | PySwigObject_Check(PyObject *op) { | 
 
 
 
 
 | 841 | return ((op)->ob_type == PySwigObject_type()) | 
 
 
 
 
 | 842 | || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0); | 
 
 
 
 
 | 843 | } | 
 
 
 
 
 | 844 |  | 
 
 
 
 
 | 845 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 846 | * Implements a simple Swig Packed type, and use it instead of string | 
 
 
 
 
 | 847 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 848 |  | 
 
 
 
 
 | 849 | typedef struct { | 
 
 
 
 
 | 850 | PyObject_HEAD | 
 
 
 
 
 | 851 | void *pack; | 
 
 
 
 
 | 852 | const char *desc; | 
 
 
 
 
 | 853 | size_t size; | 
 
 
 
 
 | 854 | } PySwigPacked; | 
 
 
 
 
 | 855 |  | 
 
 
 
 
 | 856 | SWIGRUNTIME int | 
 
 
 
 
 | 857 | PySwigPacked_print(PySwigPacked *v, FILE *fp, int flags) | 
 
 
 
 
 | 858 | { | 
 
 
 
 
 | 859 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 860 | flags = flags; | 
 
 
 
 
 | 861 | fputs("<Swig Packed ", fp); | 
 
 
 
 
 | 862 | if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { | 
 
 
 
 
 | 863 | fputs("at ", fp); | 
 
 
 
 
 | 864 | fputs(result, fp); | 
 
 
 
 
 | 865 | } | 
 
 
 
 
 | 866 | fputs(v->desc,fp); | 
 
 
 
 
 | 867 | fputs(">", fp); | 
 
 
 
 
 | 868 | return 0; | 
 
 
 
 
 | 869 | } | 
 
 
 
 
 | 870 |  | 
 
 
 
 
 | 871 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 872 | PySwigPacked_repr(PySwigPacked *v) | 
 
 
 
 
 | 873 | { | 
 
 
 
 
 | 874 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 875 | if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { | 
 
 
 
 
 | 876 | return PyString_FromFormat("<Swig Packed at %s%s>", result, v->desc); | 
 
 
 
 
 | 877 | } else { | 
 
 
 
 
 | 878 | return PyString_FromFormat("<Swig Packed %s>", v->desc); | 
 
 
 
 
 | 879 | } | 
 
 
 
 
 | 880 | } | 
 
 
 
 
 | 881 |  | 
 
 
 
 
 | 882 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 883 | PySwigPacked_str(PySwigPacked *v) | 
 
 
 
 
 | 884 | { | 
 
 
 
 
 | 885 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 886 | if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){ | 
 
 
 
 
 | 887 | return PyString_FromFormat("%s%s", result, v->desc); | 
 
 
 
 
 | 888 | } else { | 
 
 
 
 
 | 889 | return PyString_FromFormat("%s", v->desc); | 
 
 
 
 
 | 890 | } | 
 
 
 
 
 | 891 | } | 
 
 
 
 
 | 892 |  | 
 
 
 
 
 | 893 | SWIGRUNTIME int | 
 
 
 
 
 | 894 | PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w) | 
 
 
 
 
 | 895 | { | 
 
 
 
 
 | 896 | int c = strcmp(v->desc, w->desc); | 
 
 
 
 
 | 897 | if (c) { | 
 
 
 
 
 | 898 | return (c > 0) ? 1 : -1; | 
 
 
 
 
 | 899 | } else { | 
 
 
 
 
 | 900 | size_t i = v->size; | 
 
 
 
 
 | 901 | size_t j = w->size; | 
 
 
 
 
 | 902 | int s = (i < j) ? -1 : ((i > j) ? 1 : 0); | 
 
 
 
 
 | 903 | return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size); | 
 
 
 
 
 | 904 | } | 
 
 
 
 
 | 905 | } | 
 
 
 
 
 | 906 |  | 
 
 
 
 
 | 907 | SWIGRUNTIME void | 
 
 
 
 
 | 908 | PySwigPacked_dealloc(PySwigPacked *self) | 
 
 
 
 
 | 909 | { | 
 
 
 
 
 | 910 | free(self->pack); | 
 
 
 
 
 | 911 | PyObject_DEL(self); | 
 
 
 
 
 | 912 | } | 
 
 
 
 
 | 913 |  | 
 
 
 
 
 | 914 | SWIGRUNTIME PyTypeObject* | 
 
 
 
 
 | 915 | PySwigPacked_type(void) { | 
 
 
 
 
 | 916 | static char pyswigpacked_type__doc__[] = | 
 
 
 
 
 | 917 | "Swig object carries a C/C++ instance pointer"; | 
 
 
 
 
 | 918 | static PyTypeObject pyswigpacked_type | 
 
 
 
 
 | 919 | #if !defined(__cplusplus) | 
 
 
 
 
 | 920 | ; | 
 
 
 
 
 | 921 | static int type_init = 0; | 
 
 
 
 
 | 922 | if (!type_init) { | 
 
 
 
 
 | 923 | PyTypeObject tmp | 
 
 
 
 
 | 924 | #endif | 
 
 
 
 
 | 925 | = { | 
 
 
 
 
 | 926 | PyObject_HEAD_INIT(&PyType_Type) | 
 
 
 
 
 | 927 | 0,                                  /*ob_size*/ | 
 
 
 
 
 | 928 | (char *)"PySwigPacked",             /*tp_name*/ | 
 
 
 
 
 | 929 | sizeof(PySwigPacked),               /*tp_basicsize*/ | 
 
 
 
 
 | 930 | 0,                                  /*tp_itemsize*/ | 
 
 
 
 
 | 931 | /* methods */ | 
 
 
 
 
 | 932 | (destructor)PySwigPacked_dealloc,   /*tp_dealloc*/ | 
 
 
 
 
 | 933 | (printfunc)PySwigPacked_print,      /*tp_print*/ | 
 
 
 
 
 | 934 | (getattrfunc)0,                     /*tp_getattr*/ | 
 
 
 
 
 | 935 | (setattrfunc)0,                     /*tp_setattr*/ | 
 
 
 
 
 | 936 | (cmpfunc)PySwigPacked_compare,      /*tp_compare*/ | 
 
 
 
 
 | 937 | (reprfunc)PySwigPacked_repr,        /*tp_repr*/ | 
 
 
 
 
 | 938 | 0,                                  /*tp_as_number*/ | 
 
 
 
 
 | 939 | 0,                                  /*tp_as_sequence*/ | 
 
 
 
 
 | 940 | 0,                                  /*tp_as_mapping*/ | 
 
 
 
 
 | 941 | (hashfunc)0,                        /*tp_hash*/ | 
 
 
 
 
 | 942 | (ternaryfunc)0,                     /*tp_call*/ | 
 
 
 
 
 | 943 | (reprfunc)PySwigPacked_str,         /*tp_str*/ | 
 
 
 
 
 | 944 | /* Space for future expansion */ | 
 
 
 
 
 | 945 | 0,0,0,0, | 
 
 
 
 
 | 946 | pyswigpacked_type__doc__,           /* Documentation string */ | 
 
 
 
 
 | 947 | #if PY_VERSION_HEX >= 0x02000000 | 
 
 
 
 
 | 948 | 0,                                  /* tp_traverse */ | 
 
 
 
 
 | 949 | 0,                                  /* tp_clear */ | 
 
 
 
 
 | 950 | #endif | 
 
 
 
 
 | 951 | #if PY_VERSION_HEX >= 0x02010000 | 
 
 
 
 
 | 952 | 0,                                  /* tp_richcompare */ | 
 
 
 
 
 | 953 | 0,                                  /* tp_weaklistoffset */ | 
 
 
 
 
 | 954 | #endif | 
 
 
 
 
 | 955 | #if PY_VERSION_HEX >= 0x02020000 | 
 
 
 
 
 | 956 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ | 
 
 
 
 
 | 957 | #endif | 
 
 
 
 
 | 958 | #if PY_VERSION_HEX >= 0x02030000 | 
 
 
 
 
 | 959 | 0,                                  /* tp_del */ | 
 
 
 
 
 | 960 | #endif | 
 
 
 
 
 | 961 | #ifdef COUNT_ALLOCS | 
 
 
 
 
 | 962 | 0,0,0,0                             /* tp_alloc -> tp_next */ | 
 
 
 
 
 | 963 | #endif | 
 
 
 
 
 | 964 | }; | 
 
 
 
 
 | 965 | #if !defined(__cplusplus) | 
 
 
 
 
 | 966 | pyswigpacked_type = tmp; | 
 
 
 
 
 | 967 | type_init = 1; | 
 
 
 
 
 | 968 | } | 
 
 
 
 
 | 969 | #endif | 
 
 
 
 
 | 970 | return &pyswigpacked_type; | 
 
 
 
 
 | 971 | } | 
 
 
 
 
 | 972 |  | 
 
 
 
 
 | 973 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 974 | PySwigPacked_FromDataAndDesc(void *ptr, size_t size, const char *desc) | 
 
 
 
 
 | 975 | { | 
 
 
 
 
 | 976 | PySwigPacked *self = PyObject_NEW(PySwigPacked, PySwigPacked_type()); | 
 
 
 
 
 | 977 | if (self == NULL) { | 
 
 
 
 
 | 978 | return NULL; | 
 
 
 
 
 | 979 | } else { | 
 
 
 
 
 | 980 | void *pack = malloc(size); | 
 
 
 
 
 | 981 | if (pack) { | 
 
 
 
 
 | 982 | memcpy(pack, ptr, size); | 
 
 
 
 
 | 983 | self->pack = pack; | 
 
 
 
 
 | 984 | self->desc = desc; | 
 
 
 
 
 | 985 | self->size = size; | 
 
 
 
 
 | 986 | return (PyObject *) self; | 
 
 
 
 
 | 987 | } | 
 
 
 
 
 | 988 | return NULL; | 
 
 
 
 
 | 989 | } | 
 
 
 
 
 | 990 | } | 
 
 
 
 
 | 991 |  | 
 
 
 
 
 | 992 | SWIGRUNTIMEINLINE const char * | 
 
 
 
 
 | 993 | PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size) | 
 
 
 
 
 | 994 | { | 
 
 
 
 
 | 995 | PySwigPacked *self = (PySwigPacked *)obj; | 
 
 
 
 
 | 996 | if (self->size != size) return 0; | 
 
 
 
 
 | 997 | memcpy(ptr, self->pack, size); | 
 
 
 
 
 | 998 | return self->desc; | 
 
 
 
 
 | 999 | } | 
 
 
 
 
 | 1000 |  | 
 
 
 
 
 | 1001 | SWIGRUNTIMEINLINE const char * | 
 
 
 
 
 | 1002 | PySwigPacked_GetDesc(PyObject *self) | 
 
 
 
 
 | 1003 | { | 
 
 
 
 
 | 1004 | return ((PySwigPacked *)self)->desc; | 
 
 
 
 
 | 1005 | } | 
 
 
 
 
 | 1006 |  | 
 
 
 
 
 | 1007 | SWIGRUNTIMEINLINE int | 
 
 
 
 
 | 1008 | PySwigPacked_Check(PyObject *op) { | 
 
 
 
 
 | 1009 | return ((op)->ob_type == PySwigPacked_type()) | 
 
 
 
 
 | 1010 | || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0); | 
 
 
 
 
 | 1011 | } | 
 
 
 
 
 | 1012 |  | 
 
 
 
 
 | 1013 | #else | 
 
 
 
 
 | 1014 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 1015 | * Use the old Python PyCObject instead of PySwigObject | 
 
 
 
 
 | 1016 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 1017 |  | 
 
 
 
 
 | 1018 | #define PySwigObject_GetDesc(obj)                  PyCObject_GetDesc(obj) | 
 
 
 
 
 | 1019 | #define PySwigObject_Check(obj)            PyCObject_Check(obj) | 
 
 
 
 
 | 1020 | #define PySwigObject_AsVoidPtr(obj)        PyCObject_AsVoidPtr(obj) | 
 
 
 
 
 | 1021 | #define PySwigObject_FromVoidPtrAndDesc(p, d)  PyCObject_FromVoidPtrAndDesc(p, d, NULL) | 
 
 
 
 
 | 1022 |  | 
 
 
 
 
 | 1023 | #endif | 
 
 
 
 
 | 1024 |  | 
 
 
 
 
 | 1025 | #endif | 
 
 
 
 
 | 1026 |  | 
 
 
 
 
 | 1027 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 1028 | * errors manipulation | 
 
 
 
 
 | 1029 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 1030 |  | 
 
 
 
 
 | 1031 | SWIGRUNTIME void | 
 
 
 
 
 | 1032 | SWIG_Python_TypeError(const char *type, PyObject *obj) | 
 
 
 
 
 | 1033 | { | 
 
 
 
 
 | 1034 | if (type) { | 
 
 
 
 
 | 1035 | #if defined(SWIG_COBJECT_TYPES) | 
 
 
 
 
 | 1036 | if (obj && PySwigObject_Check(obj)) { | 
 
 
 
 
 | 1037 | const char *otype = (const char *) PySwigObject_GetDesc(obj); | 
 
 
 
 
 | 1038 | if (otype) { | 
 
 
 
 
 | 1039 | PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received", | 
 
 
 
 
 | 1040 | type, otype); | 
 
 
 
 
 | 1041 | return; | 
 
 
 
 
 | 1042 | } | 
 
 
 
 
 | 1043 | } else | 
 
 
 
 
 | 1044 | #endif | 
 
 
 
 
 | 1045 | { | 
 
 
 
 
 | 1046 | const char *otype = (obj ? obj->ob_type->tp_name : 0); | 
 
 
 
 
 | 1047 | if (otype) { | 
 
 
 
 
 | 1048 | PyObject *str = PyObject_Str(obj); | 
 
 
 
 
 | 1049 | const char *cstr = str ? PyString_AsString(str) : 0; | 
 
 
 
 
 | 1050 | if (cstr) { | 
 
 
 
 
 | 1051 | PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received", | 
 
 
 
 
 | 1052 | type, otype, cstr); | 
 
 
 
 
 | 1053 | } else { | 
 
 
 
 
 | 1054 | PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", | 
 
 
 
 
 | 1055 | type, otype); | 
 
 
 
 
 | 1056 | } | 
 
 
 
 
 | 1057 | Py_XDECREF(str); | 
 
 
 
 
 | 1058 | return; | 
 
 
 
 
 | 1059 | } | 
 
 
 
 
 | 1060 | } | 
 
 
 
 
 | 1061 | PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); | 
 
 
 
 
 | 1062 | } else { | 
 
 
 
 
 | 1063 | PyErr_Format(PyExc_TypeError, "unexpected type is received"); | 
 
 
 
 
 | 1064 | } | 
 
 
 
 
 | 1065 | } | 
 
 
 
 
 | 1066 |  | 
 
 
 
 
 | 1067 | SWIGRUNTIMEINLINE void | 
 
 
 
 
 | 1068 | SWIG_Python_NullRef(const char *type) | 
 
 
 
 
 | 1069 | { | 
 
 
 
 
 | 1070 | if (type) { | 
 
 
 
 
 | 1071 | PyErr_Format(PyExc_TypeError, "null reference of type '%s' was received",type); | 
 
 
 
 
 | 1072 | } else { | 
 
 
 
 
 | 1073 | PyErr_Format(PyExc_TypeError, "null reference was received"); | 
 
 
 
 
 | 1074 | } | 
 
 
 
 
 | 1075 | } | 
 
 
 
 
 | 1076 |  | 
 
 
 
 
 | 1077 | SWIGRUNTIME int | 
 
 
 
 
 | 1078 | SWIG_Python_AddErrMesg(const char* mesg, int infront) | 
 
 
 
 
 | 1079 | { | 
 
 
 
 
 | 1080 | if (PyErr_Occurred()) { | 
 
 
 
 
 | 1081 | PyObject *type = 0; | 
 
 
 
 
 | 1082 | PyObject *value = 0; | 
 
 
 
 
 | 1083 | PyObject *traceback = 0; | 
 
 
 
 
 | 1084 | PyErr_Fetch(&type, &value, &traceback); | 
 
 
 
 
 | 1085 | if (value) { | 
 
 
 
 
 | 1086 | PyObject *old_str = PyObject_Str(value); | 
 
 
 
 
 | 1087 | Py_XINCREF(type); | 
 
 
 
 
 | 1088 | PyErr_Clear(); | 
 
 
 
 
 | 1089 | if (infront) { | 
 
 
 
 
 | 1090 | PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str)); | 
 
 
 
 
 | 1091 | } else { | 
 
 
 
 
 | 1092 | PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg); | 
 
 
 
 
 | 1093 | } | 
 
 
 
 
 | 1094 | Py_DECREF(old_str); | 
 
 
 
 
 | 1095 | } | 
 
 
 
 
 | 1096 | return 1; | 
 
 
 
 
 | 1097 | } else { | 
 
 
 
 
 | 1098 | return 0; | 
 
 
 
 
 | 1099 | } | 
 
 
 
 
 | 1100 | } | 
 
 
 
 
 | 1101 |  | 
 
 
 
 
 | 1102 | SWIGRUNTIME int | 
 
 
 
 
 | 1103 | SWIG_Python_ArgFail(int argnum) | 
 
 
 
 
 | 1104 | { | 
 
 
 
 
 | 1105 | if (PyErr_Occurred()) { | 
 
 
 
 
 | 1106 | /* add information about failing argument */ | 
 
 
 
 
 | 1107 | char mesg[256]; | 
 
 
 
 
 | 1108 | PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum); | 
 
 
 
 
 | 1109 | return SWIG_Python_AddErrMesg(mesg, 1); | 
 
 
 
 
 | 1110 | } else { | 
 
 
 
 
 | 1111 | return 0; | 
 
 
 
 
 | 1112 | } | 
 
 
 
 
 | 1113 | } | 
 
 
 
 
 | 1114 |  | 
 
 
 
 
 | 1115 |  | 
 
 
 
 
 | 1116 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 1117 | * pointers/data manipulation | 
 
 
 
 
 | 1118 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 1119 |  | 
 
 
 
 
 | 1120 | /* Convert a pointer value */ | 
 
 
 
 
 | 1121 | SWIGRUNTIME int | 
 
 
 
 
 | 1122 | SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) { | 
 
 
 
 
 | 1123 | swig_cast_info *tc; | 
 
 
 
 
 | 1124 | const char *c = 0; | 
 
 
 
 
 | 1125 | static PyObject *SWIG_this = 0; | 
 
 
 
 
 | 1126 | int    newref = 0; | 
 
 
 
 
 | 1127 | PyObject  *pyobj = 0; | 
 
 
 
 
 | 1128 | void *vptr; | 
 
 
 
 
 | 1129 |  | 
 
 
 
 
 | 1130 | if (!obj) return 0; | 
 
 
 
 
 | 1131 | if (obj == Py_None) { | 
 
 
 
 
 | 1132 | *ptr = 0; | 
 
 
 
 
 | 1133 | return 0; | 
 
 
 
 
 | 1134 | } | 
 
 
 
 
 | 1135 |  | 
 
 
 
 
 | 1136 | #ifdef SWIG_COBJECT_TYPES | 
 
 
 
 
 | 1137 | if (!(PySwigObject_Check(obj))) { | 
 
 
 
 
 | 1138 | if (!SWIG_this) | 
 
 
 
 
 | 1139 | SWIG_this = PyString_FromString("this"); | 
 
 
 
 
 | 1140 | pyobj = obj; | 
 
 
 
 
 | 1141 | obj = PyObject_GetAttr(obj,SWIG_this); | 
 
 
 
 
 | 1142 | newref = 1; | 
 
 
 
 
 | 1143 | if (!obj) goto type_error; | 
 
 
 
 
 | 1144 | if (!PySwigObject_Check(obj)) { | 
 
 
 
 
 | 1145 | Py_DECREF(obj); | 
 
 
 
 
 | 1146 | goto type_error; | 
 
 
 
 
 | 1147 | } | 
 
 
 
 
 | 1148 | } | 
 
 
 
 
 | 1149 | vptr = PySwigObject_AsVoidPtr(obj); | 
 
 
 
 
 | 1150 | c = (const char *) PySwigObject_GetDesc(obj); | 
 
 
 
 
 | 1151 | if (newref) { Py_DECREF(obj); } | 
 
 
 
 
 | 1152 | goto type_check; | 
 
 
 
 
 | 1153 | #else | 
 
 
 
 
 | 1154 | if (!(PyString_Check(obj))) { | 
 
 
 
 
 | 1155 | if (!SWIG_this) | 
 
 
 
 
 | 1156 | SWIG_this = PyString_FromString("this"); | 
 
 
 
 
 | 1157 | pyobj = obj; | 
 
 
 
 
 | 1158 | obj = PyObject_GetAttr(obj,SWIG_this); | 
 
 
 
 
 | 1159 | newref = 1; | 
 
 
 
 
 | 1160 | if (!obj) goto type_error; | 
 
 
 
 
 | 1161 | if (!PyString_Check(obj)) { | 
 
 
 
 
 | 1162 | Py_DECREF(obj); | 
 
 
 
 
 | 1163 | goto type_error; | 
 
 
 
 
 | 1164 | } | 
 
 
 
 
 | 1165 | } | 
 
 
 
 
 | 1166 | c = PyString_AS_STRING(obj); | 
 
 
 
 
 | 1167 | /* Pointer values must start with leading underscore */ | 
 
 
 
 
 | 1168 | c = SWIG_UnpackVoidPtr(c, &vptr, ty->name); | 
 
 
 
 
 | 1169 | if (newref) { Py_DECREF(obj); } | 
 
 
 
 
 | 1170 | if (!c) goto type_error; | 
 
 
 
 
 | 1171 | #endif | 
 
 
 
 
 | 1172 |  | 
 
 
 
 
 | 1173 | type_check: | 
 
 
 
 
 | 1174 | if (ty) { | 
 
 
 
 
 | 1175 | tc = SWIG_TypeCheck(c,ty); | 
 
 
 
 
 | 1176 | if (!tc) goto type_error; | 
 
 
 
 
 | 1177 | *ptr = SWIG_TypeCast(tc,vptr); | 
 
 
 
 
 | 1178 | } else { | 
 
 
 
 
 | 1179 | *ptr = vptr; | 
 
 
 
 
 | 1180 | } | 
 
 
 
 
 | 1181 | if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) { | 
 
 
 
 
 | 1182 | PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False); | 
 
 
 
 
 | 1183 | } | 
 
 
 
 
 | 1184 | return 0; | 
 
 
 
 
 | 1185 |  | 
 
 
 
 
 | 1186 | type_error: | 
 
 
 
 
 | 1187 | PyErr_Clear(); | 
 
 
 
 
 | 1188 | if (pyobj && !obj) { | 
 
 
 
 
 | 1189 | obj = pyobj; | 
 
 
 
 
 | 1190 | if (PyCFunction_Check(obj)) { | 
 
 
 
 
 | 1191 | /* here we get the method pointer for callbacks */ | 
 
 
 
 
 | 1192 | char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); | 
 
 
 
 
 | 1193 | c = doc ? strstr(doc, "swig_ptr: ") : 0; | 
 
 
 
 
 | 1194 | if (c) { | 
 
 
 
 
 | 1195 | c = ty ? SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name) : 0; | 
 
 
 
 
 | 1196 | if (!c) goto type_error; | 
 
 
 
 
 | 1197 | goto type_check; | 
 
 
 
 
 | 1198 | } | 
 
 
 
 
 | 1199 | } | 
 
 
 
 
 | 1200 | } | 
 
 
 
 
 | 1201 | if (flags & SWIG_POINTER_EXCEPTION) { | 
 
 
 
 
 | 1202 | if (ty) { | 
 
 
 
 
 | 1203 | SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); | 
 
 
 
 
 | 1204 | } else { | 
 
 
 
 
 | 1205 | SWIG_Python_TypeError("C/C++ pointer", obj); | 
 
 
 
 
 | 1206 | } | 
 
 
 
 
 | 1207 | } | 
 
 
 
 
 | 1208 | return -1; | 
 
 
 
 
 | 1209 | } | 
 
 
 
 
 | 1210 |  | 
 
 
 
 
 | 1211 | /* Convert a pointer value, signal an exception on a type mismatch */ | 
 
 
 
 
 | 1212 | SWIGRUNTIME void * | 
 
 
 
 
 | 1213 | SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) { | 
 
 
 
 
 | 1214 | void *result; | 
 
 
 
 
 | 1215 | if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) { | 
 
 
 
 
 | 1216 | PyErr_Clear(); | 
 
 
 
 
 | 1217 | if (flags & SWIG_POINTER_EXCEPTION) { | 
 
 
 
 
 | 1218 | SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); | 
 
 
 
 
 | 1219 | SWIG_Python_ArgFail(argnum); | 
 
 
 
 
 | 1220 | } | 
 
 
 
 
 | 1221 | } | 
 
 
 
 
 | 1222 | return result; | 
 
 
 
 
 | 1223 | } | 
 
 
 
 
 | 1224 |  | 
 
 
 
 
 | 1225 | /* Convert a packed value value */ | 
 
 
 
 
 | 1226 | SWIGRUNTIME int | 
 
 
 
 
 | 1227 | SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty, int flags) { | 
 
 
 
 
 | 1228 | swig_cast_info *tc; | 
 
 
 
 
 | 1229 | const char *c = 0; | 
 
 
 
 
 | 1230 |  | 
 
 
 
 
 | 1231 | #if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON) | 
 
 
 
 
 | 1232 | c = PySwigPacked_UnpackData(obj, ptr, sz); | 
 
 
 
 
 | 1233 | #else | 
 
 
 
 
 | 1234 | if ((!obj) || (!PyString_Check(obj))) goto type_error; | 
 
 
 
 
 | 1235 | c = PyString_AS_STRING(obj); | 
 
 
 
 
 | 1236 | /* Pointer values must start with leading underscore */ | 
 
 
 
 
 | 1237 | c = SWIG_UnpackDataName(c, ptr, sz, ty->name); | 
 
 
 
 
 | 1238 | #endif | 
 
 
 
 
 | 1239 | if (!c) goto type_error; | 
 
 
 
 
 | 1240 | if (ty) { | 
 
 
 
 
 | 1241 | tc = SWIG_TypeCheck(c,ty); | 
 
 
 
 
 | 1242 | if (!tc) goto type_error; | 
 
 
 
 
 | 1243 | } | 
 
 
 
 
 | 1244 | return 0; | 
 
 
 
 
 | 1245 |  | 
 
 
 
 
 | 1246 | type_error: | 
 
 
 
 
 | 1247 | PyErr_Clear(); | 
 
 
 
 
 | 1248 | if (flags & SWIG_POINTER_EXCEPTION) { | 
 
 
 
 
 | 1249 | if (ty) { | 
 
 
 
 
 | 1250 | SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); | 
 
 
 
 
 | 1251 | } else { | 
 
 
 
 
 | 1252 | SWIG_Python_TypeError("C/C++ packed data", obj); | 
 
 
 
 
 | 1253 | } | 
 
 
 
 
 | 1254 | } | 
 
 
 
 
 | 1255 | return -1; | 
 
 
 
 
 | 1256 | } | 
 
 
 
 
 | 1257 |  | 
 
 
 
 
 | 1258 | /* Create a new array object */ | 
 
 
 
 
 | 1259 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 1260 | SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) { | 
 
 
 
 
 | 1261 | PyObject *robj = 0; | 
 
 
 
 
 | 1262 | if (!type) { | 
 
 
 
 
 | 1263 | if (!PyErr_Occurred()) { | 
 
 
 
 
 | 1264 | PyErr_Format(PyExc_TypeError, "Swig: null type passed to NewPointerObj"); | 
 
 
 
 
 | 1265 | } | 
 
 
 
 
 | 1266 | return robj; | 
 
 
 
 
 | 1267 | } | 
 
 
 
 
 | 1268 | if (!ptr) { | 
 
 
 
 
 | 1269 | Py_INCREF(Py_None); | 
 
 
 
 
 | 1270 | return Py_None; | 
 
 
 
 
 | 1271 | } | 
 
 
 
 
 | 1272 | #ifdef SWIG_COBJECT_TYPES | 
 
 
 
 
 | 1273 | robj = PySwigObject_FromVoidPtrAndDesc((void *) ptr, (char *)type->name); | 
 
 
 
 
 | 1274 | #else | 
 
 
 
 
 | 1275 | { | 
 
 
 
 
 | 1276 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 1277 | robj = SWIG_PackVoidPtr(result, ptr, type->name, sizeof(result)) ? | 
 
 
 
 
 | 1278 | PyString_FromString(result) : 0; | 
 
 
 
 
 | 1279 | } | 
 
 
 
 
 | 1280 | #endif | 
 
 
 
 
 | 1281 | if (!robj || (robj == Py_None)) return robj; | 
 
 
 
 
 | 1282 | if (type->clientdata) { | 
 
 
 
 
 | 1283 | PyObject *inst; | 
 
 
 
 
 | 1284 | PyObject *args = Py_BuildValue((char*)"(O)", robj); | 
 
 
 
 
 | 1285 | Py_DECREF(robj); | 
 
 
 
 
 | 1286 | inst = PyObject_CallObject((PyObject *) type->clientdata, args); | 
 
 
 
 
 | 1287 | Py_DECREF(args); | 
 
 
 
 
 | 1288 | if (inst) { | 
 
 
 
 
 | 1289 | if (own) { | 
 
 
 
 
 | 1290 | PyObject_SetAttrString(inst,(char*)"thisown",Py_True); | 
 
 
 
 
 | 1291 | } | 
 
 
 
 
 | 1292 | robj = inst; | 
 
 
 
 
 | 1293 | } | 
 
 
 
 
 | 1294 | } | 
 
 
 
 
 | 1295 | return robj; | 
 
 
 
 
 | 1296 | } | 
 
 
 
 
 | 1297 |  | 
 
 
 
 
 | 1298 | SWIGRUNTIME PyObject * | 
 
 
 
 
 | 1299 | SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { | 
 
 
 
 
 | 1300 | PyObject *robj = 0; | 
 
 
 
 
 | 1301 | if (!ptr) { | 
 
 
 
 
 | 1302 | Py_INCREF(Py_None); | 
 
 
 
 
 | 1303 | return Py_None; | 
 
 
 
 
 | 1304 | } | 
 
 
 
 
 | 1305 | #if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON) | 
 
 
 
 
 | 1306 | robj = PySwigPacked_FromDataAndDesc((void *) ptr, sz, (char *)type->name); | 
 
 
 
 
 | 1307 | #else | 
 
 
 
 
 | 1308 | { | 
 
 
 
 
 | 1309 | char result[SWIG_BUFFER_SIZE]; | 
 
 
 
 
 | 1310 | robj = SWIG_PackDataName(result, ptr, sz, type->name, sizeof(result)) ? | 
 
 
 
 
 | 1311 | PyString_FromString(result) : 0; | 
 
 
 
 
 | 1312 | } | 
 
 
 
 
 | 1313 | #endif | 
 
 
 
 
 | 1314 | return robj; | 
 
 
 
 
 | 1315 | } | 
 
 
 
 
 | 1316 |  | 
 
 
 
 
 | 1317 | /* -----------------------------------------------------------------------------* | 
 
 
 
 
 | 1318 | *  Get type list | 
 
 
 
 
 | 1319 | * -----------------------------------------------------------------------------*/ | 
 
 
 
 
 | 1320 |  | 
 
 
 
 
 | 1321 | #ifdef SWIG_LINK_RUNTIME | 
 
 
 
 
 | 1322 | void *SWIG_ReturnGlobalTypeList(void *); | 
 
 
 
 
 | 1323 | #endif | 
 
 
 
 
 | 1324 |  | 
 
 
 
 
 | 1325 | SWIGRUNTIME swig_module_info * | 
 
 
 
 
 | 1326 | SWIG_Python_GetModule(void) { | 
 
 
 
 
 | 1327 | static void *type_pointer = (void *)0; | 
 
 
 
 
 | 1328 | /* first check if module already created */ | 
 
 
 
 
 | 1329 | if (!type_pointer) { | 
 
 
 
 
 | 1330 | #ifdef SWIG_LINK_RUNTIME | 
 
 
 
 
 | 1331 | type_pointer = SWIG_ReturnGlobalTypeList((void *)0); | 
 
 
 
 
 | 1332 | #else | 
 
 
 
 
 | 1333 | type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, | 
 
 
 
 
 | 1334 | (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); | 
 
 
 
 
 | 1335 | if (PyErr_Occurred()) { | 
 
 
 
 
 | 1336 | PyErr_Clear(); | 
 
 
 
 
 | 1337 | type_pointer = (void *)0; | 
 
 
 
 
 | 1338 | } | 
 
 
 
 
 | 1339 | } | 
 
 
 
 
 | 1340 | #endif | 
 
 
 
 
 | 1341 | return (swig_module_info *) type_pointer; | 
 
 
 
 
 | 1342 | } | 
 
 
 
 
 | 1343 |  | 
 
 
 
 
 | 1344 | SWIGRUNTIME void | 
 
 
 
 
 | 1345 | SWIG_Python_SetModule(swig_module_info *swig_module) { | 
 
 
 
 
 | 1346 | static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */ | 
 
 
 
 
 | 1347 |  | 
 
 
 
 
 | 1348 | PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, | 
 
 
 
 
 | 1349 | swig_empty_runtime_method_table); | 
 
 
 
 
 | 1350 | PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, NULL); | 
 
 
 
 
 | 1351 | if (pointer && module) { | 
 
 
 
 
 | 1352 | PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); | 
 
 
 
 
 | 1353 | } | 
 
 
 
 
 | 1354 | } | 
 
 
 
 
 | 1355 |  | 
 
 
 
 
 | 1356 | #ifdef __cplusplus | 
 
 
 
 
 | 1357 | } | 
 
 
 
 
 | 1358 | #endif | 
 
 
 
 
 | 1359 |  | 
 
 
 
 
 | 1360 |  | 
 
 
 
 
 | 1361 | /* -------- TYPES TABLE (BEGIN) -------- */ | 
 
 
 
 
 | 1362 |  | 
 
 
 
 
 | 1363 | #define SWIGTYPE_p_char swig_types[0] | 
 
 
 
 
 | 1364 | #define SWIGTYPE_p_p_char swig_types[1] | 
 
 
 
 
 | 1365 | #define SWIGTYPE_p_unsigned_int swig_types[2] | 
 
 
 
 
 | 1366 | #define SWIGTYPE_ptrdiff_t swig_types[3] | 
 
 
 
 
 | 1367 | #define SWIGTYPE_size_t swig_types[4] | 
 
 
 
 
 | 1368 | static swig_type_info *swig_types[5]; | 
 
 
 
 
 | 1369 | static swig_module_info swig_module = {swig_types, 5, 0, 0, 0, 0}; | 
 
 
 
 
 | 1370 | #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) | 
 
 
 
 
 | 1371 | #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) | 
 
 
 
 
 | 1372 |  | 
 
 
 
 
 | 1373 | /* -------- TYPES TABLE (END) -------- */ | 
 
 
 
 
 | 1374 |  | 
 
 
 
 
 | 1375 |  | 
 
 
 
 
 | 1376 | /*----------------------------------------------- | 
 
 
 
 
 | 1377 | @(target):= _xdelta3.so | 
 
 
 
 
 | 1378 | ------------------------------------------------*/ | 
 
 
 
 
 | 1379 | #define SWIG_init    init_xdelta3 | 
 
 
 
 
 | 1380 |  | 
 
 
 
 
 | 1381 | #define SWIG_name    "_xdelta3" | 
 
 
 
 
 | 1382 |  | 
 
 
 
 
 | 1383 | #include "xdelta3.h" | 
 
 
 
 
 | 1384 |  | 
 
 
 
 
 | 1385 | int xd3_main_cmdline (int ARGC, char **ARGV); | 
 
 
 
 
 | 1386 |  | 
 
 
 
 
 | 1387 | #undef SWIG_init | 
 
 
 
 
 | 1388 | #undef SWIG_name | 
 
 
 
 
 | 1389 |  | 
 
 
 
 
 | 1390 | #define SWIG_init    initxdelta3 | 
 
 
 
 
 | 1391 | #define SWIG_name    "xdelta3" | 
 
 
 
 
 | 1392 |  | 
 
 
 
 
 | 1393 |  | 
 
 
 
 
 | 1394 |  | 
 
 
 
 
 | 1395 | /* returns SWIG_OLDOBJ if the input is a raw char*, SWIG_PYSTR if is a PyString */ | 
 
 
 
 
 | 1396 | SWIGINTERN int | 
 
 
 
 
 | 1397 | SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize) | 
 
 
 
 
 | 1398 | { | 
 
 
 
 
 | 1399 | static swig_type_info* pchar_info = 0; | 
 
 
 
 
 | 1400 | char* vptr = 0; | 
 
 
 
 
 | 1401 | if (!pchar_info) pchar_info = SWIG_TypeQuery("char *"); | 
 
 
 
 
 | 1402 | if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_info, 0) != -1) { | 
 
 
 
 
 | 1403 | if (cptr) *cptr = vptr; | 
 
 
 
 
 | 1404 | if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0; | 
 
 
 
 
 | 1405 | return SWIG_OLDOBJ; | 
 
 
 
 
 | 1406 | } else { | 
 
 
 
 
 | 1407 | PyErr_Clear(); | 
 
 
 
 
 | 1408 | if (PyString_Check(obj)) { | 
 
 
 
 
 | 1409 | if (cptr) { | 
 
 
 
 
 | 1410 | *cptr = PyString_AS_STRING(obj); | 
 
 
 
 
 | 1411 | if (psize) { | 
 
 
 
 
 | 1412 | *psize = PyString_GET_SIZE(obj) + 1; | 
 
 
 
 
 | 1413 | } | 
 
 
 
 
 | 1414 | } | 
 
 
 
 
 | 1415 | return SWIG_PYSTR; | 
 
 
 
 
 | 1416 | } | 
 
 
 
 
 | 1417 | } | 
 
 
 
 
 | 1418 | if (cptr) { | 
 
 
 
 
 | 1419 | SWIG_type_error("char *", obj); | 
 
 
 
 
 | 1420 | } | 
 
 
 
 
 | 1421 | return 0; | 
 
 
 
 
 | 1422 | } | 
 
 
 
 
 | 1423 |  | 
 
 
 
 
 | 1424 |  | 
 
 
 
 
 | 1425 | #include <limits.h> | 
 
 
 
 
 | 1426 |  | 
 
 
 
 
 | 1427 |  | 
 
 
 
 
 | 1428 | SWIGINTERN int | 
 
 
 
 
 | 1429 | SWIG_CheckLongInRange(long value, long min_value, long max_value, | 
 
 
 
 
 | 1430 | const char *errmsg) | 
 
 
 
 
 | 1431 | { | 
 
 
 
 
 | 1432 | if (value < min_value) { | 
 
 
 
 
 | 1433 | if (errmsg) { | 
 
 
 
 
 | 1434 | PyErr_Format(PyExc_OverflowError, | 
 
 
 
 
 | 1435 | "value %ld is less than '%s' minimum %ld", | 
 
 
 
 
 | 1436 | value, errmsg, min_value); | 
 
 
 
 
 | 1437 | } | 
 
 
 
 
 | 1438 | return 0; | 
 
 
 
 
 | 1439 | } else if (value > max_value) { | 
 
 
 
 
 | 1440 | if (errmsg) { | 
 
 
 
 
 | 1441 | PyErr_Format(PyExc_OverflowError, | 
 
 
 
 
 | 1442 | "value %ld is greater than '%s' maximum %ld", | 
 
 
 
 
 | 1443 | value, errmsg, max_value); | 
 
 
 
 
 | 1444 | } | 
 
 
 
 
 | 1445 | return 0; | 
 
 
 
 
 | 1446 | } | 
 
 
 
 
 | 1447 | return 1; | 
 
 
 
 
 | 1448 | } | 
 
 
 
 
 | 1449 |  | 
 
 
 
 
 | 1450 |  | 
 
 
 
 
 | 1451 | SWIGINTERN int | 
 
 
 
 
 | 1452 | SWIG_AsVal_long(PyObject * obj, long* val) | 
 
 
 
 
 | 1453 | { | 
 
 
 
 
 | 1454 | if (PyInt_Check(obj)) { | 
 
 
 
 
 | 1455 | if (val) *val = PyInt_AS_LONG(obj); | 
 
 
 
 
 | 1456 | return 1; | 
 
 
 
 
 | 1457 | } | 
 
 
 
 
 | 1458 | if (PyLong_Check(obj)) { | 
 
 
 
 
 | 1459 | long v = PyLong_AsLong(obj); | 
 
 
 
 
 | 1460 | if (!PyErr_Occurred()) { | 
 
 
 
 
 | 1461 | if (val) *val = v; | 
 
 
 
 
 | 1462 | return 1; | 
 
 
 
 
 | 1463 | } else { | 
 
 
 
 
 | 1464 | if (!val) PyErr_Clear(); | 
 
 
 
 
 | 1465 | return 0; | 
 
 
 
 
 | 1466 | } | 
 
 
 
 
 | 1467 | } | 
 
 
 
 
 | 1468 | if (val) { | 
 
 
 
 
 | 1469 | SWIG_type_error("long", obj); | 
 
 
 
 
 | 1470 | } | 
 
 
 
 
 | 1471 | return 0; | 
 
 
 
 
 | 1472 | } | 
 
 
 
 
 | 1473 |  | 
 
 
 
 
 | 1474 |  | 
 
 
 
 
 | 1475 | #if INT_MAX != LONG_MAX | 
 
 
 
 
 | 1476 | SWIGINTERN int | 
 
 
 
 
 | 1477 | SWIG_AsVal_int(PyObject *obj, int *val) | 
 
 
 
 
 | 1478 | { | 
 
 
 
 
 | 1479 | const char* errmsg = val ? "int" : (char*)0; | 
 
 
 
 
 | 1480 | long v; | 
 
 
 
 
 | 1481 | if (SWIG_AsVal_long(obj, &v)) { | 
 
 
 
 
 | 1482 | if (SWIG_CheckLongInRange(v, INT_MIN,INT_MAX, errmsg)) { | 
 
 
 
 
 | 1483 | if (val) *val = (int)(v); | 
 
 
 
 
 | 1484 | return 1; | 
 
 
 
 
 | 1485 | } else { | 
 
 
 
 
 | 1486 | return 0; | 
 
 
 
 
 | 1487 | } | 
 
 
 
 
 | 1488 | } else { | 
 
 
 
 
 | 1489 | PyErr_Clear(); | 
 
 
 
 
 | 1490 | } | 
 
 
 
 
 | 1491 | if (val) { | 
 
 
 
 
 | 1492 | SWIG_type_error(errmsg, obj); | 
 
 
 
 
 | 1493 | } | 
 
 
 
 
 | 1494 | return 0; | 
 
 
 
 
 | 1495 | } | 
 
 
 
 
 | 1496 | #else | 
 
 
 
 
 | 1497 | SWIGINTERNINLINE int | 
 
 
 
 
 | 1498 | SWIG_AsVal_int(PyObject *obj, int *val) | 
 
 
 
 
 | 1499 | { | 
 
 
 
 
 | 1500 | return SWIG_AsVal_long(obj,(long*)val); | 
 
 
 
 
 | 1501 | } | 
 
 
 
 
 | 1502 | #endif | 
 
 
 
 
 | 1503 |  | 
 
 
 
 
 | 1504 |  | 
 
 
 
 
 | 1505 | SWIGINTERNINLINE int | 
 
 
 
 
 | 1506 | SWIG_As_int(PyObject* obj) | 
 
 
 
 
 | 1507 | { | 
 
 
 
 
 | 1508 | int v; | 
 
 
 
 
 | 1509 | if (!SWIG_AsVal_int(obj, &v)) { | 
 
 
 
 
 | 1510 | /* | 
 
 
 
 
 | 1511 | this is needed to make valgrind/purify happier. | 
 
 
 
 
 | 1512 | */ | 
 
 
 
 
 | 1513 | memset((void*)&v, 0, sizeof(int)); | 
 
 
 
 
 | 1514 | } | 
 
 
 
 
 | 1515 | return v; | 
 
 
 
 
 | 1516 | } | 
 
 
 
 
 | 1517 |  | 
 
 
 
 
 | 1518 |  | 
 
 
 
 
 | 1519 | SWIGINTERNINLINE int | 
 
 
 
 
 | 1520 | SWIG_AsCharPtr(PyObject *obj, char **val) | 
 
 
 
 
 | 1521 | { | 
 
 
 
 
 | 1522 | if (SWIG_AsCharPtrAndSize(obj, val, (size_t*)(0))) { | 
 
 
 
 
 | 1523 | return 1; | 
 
 
 
 
 | 1524 | } | 
 
 
 
 
 | 1525 | if (val) { | 
 
 
 
 
 | 1526 | PyErr_Clear(); | 
 
 
 
 
 | 1527 | SWIG_type_error("char *", obj); | 
 
 
 
 
 | 1528 | } | 
 
 
 
 
 | 1529 | return 0; | 
 
 
 
 
 | 1530 | } | 
 
 
 
 
 | 1531 |  | 
 
 
 
 
 | 1532 |  | 
 
 
 
 
 | 1533 | SWIGINTERNINLINE int | 
 
 
 
 
 | 1534 | SWIG_CheckUnsignedLongInRange(unsigned long value, | 
 
 
 
 
 | 1535 | unsigned long max_value, | 
 
 
 
 
 | 1536 | const char *errmsg) | 
 
 
 
 
 | 1537 | { | 
 
 
 
 
 | 1538 | if (value > max_value) { | 
 
 
 
 
 | 1539 | if (errmsg) { | 
 
 
 
 
 | 1540 | PyErr_Format(PyExc_OverflowError, | 
 
 
 
 
 | 1541 | "value %lu is greater than '%s' minimum %lu", | 
 
 
 
 
 | 1542 | value, errmsg, max_value); | 
 
 
 
 
 | 1543 | } | 
 
 
 
 
 | 1544 | return 0; | 
 
 
 
 
 | 1545 | } | 
 
 
 
 
 | 1546 | return 1; | 
 
 
 
 
 | 1547 | } | 
 
 
 
 
 | 1548 |  | 
 
 
 
 
 | 1549 |  | 
 
 
 
 
 | 1550 | SWIGINTERN int | 
 
 
 
 
 | 1551 | SWIG_AsVal_unsigned_SS_long(PyObject *obj, unsigned long *val) | 
 
 
 
 
 | 1552 | { | 
 
 
 
 
 | 1553 | if (PyInt_Check(obj)) { | 
 
 
 
 
 | 1554 | long v = PyInt_AS_LONG(obj); | 
 
 
 
 
 | 1555 | if (v >= 0) { | 
 
 
 
 
 | 1556 | if (val) *val = v; | 
 
 
 
 
 | 1557 | return 1; | 
 
 
 
 
 | 1558 | } | 
 
 
 
 
 | 1559 | } | 
 
 
 
 
 | 1560 | if (PyLong_Check(obj)) { | 
 
 
 
 
 | 1561 | unsigned long v = PyLong_AsUnsignedLong(obj); | 
 
 
 
 
 | 1562 | if (!PyErr_Occurred()) { | 
 
 
 
 
 | 1563 | if (val) *val = v; | 
 
 
 
 
 | 1564 | return 1; | 
 
 
 
 
 | 1565 | } else { | 
 
 
 
 
 | 1566 | if (!val) PyErr_Clear(); | 
 
 
 
 
 | 1567 | return 0; | 
 
 
 
 
 | 1568 | } | 
 
 
 
 
 | 1569 | } | 
 
 
 
 
 | 1570 | if (val) { | 
 
 
 
 
 | 1571 | SWIG_type_error("unsigned long", obj); | 
 
 
 
 
 | 1572 | } | 
 
 
 
 
 | 1573 | return 0; | 
 
 
 
 
 | 1574 | } | 
 
 
 
 
 | 1575 |  | 
 
 
 
 
 | 1576 |  | 
 
 
 
 
 | 1577 | #if UINT_MAX != ULONG_MAX | 
 
 
 
 
 | 1578 | SWIGINTERN int | 
 
 
 
 
 | 1579 | SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val) | 
 
 
 
 
 | 1580 | { | 
 
 
 
 
 | 1581 | const char* errmsg = val ? "unsigned int" : (char*)0; | 
 
 
 
 
 | 1582 | unsigned long v; | 
 
 
 
 
 | 1583 | if (SWIG_AsVal_unsigned_SS_long(obj, &v)) { | 
 
 
 
 
 | 1584 | if (SWIG_CheckUnsignedLongInRange(v, INT_MAX, errmsg)) { | 
 
 
 
 
 | 1585 | if (val) *val = (unsigned int)(v); | 
 
 
 
 
 | 1586 | return 1; | 
 
 
 
 
 | 1587 | } | 
 
 
 
 
 | 1588 | } else { | 
 
 
 
 
 | 1589 | PyErr_Clear(); | 
 
 
 
 
 | 1590 | } | 
 
 
 
 
 | 1591 | if (val) { | 
 
 
 
 
 | 1592 | SWIG_type_error(errmsg, obj); | 
 
 
 
 
 | 1593 | } | 
 
 
 
 
 | 1594 | return 0; | 
 
 
 
 
 | 1595 | } | 
 
 
 
 
 | 1596 | #else | 
 
 
 
 
 | 1597 | SWIGINTERNINLINE unsigned int | 
 
 
 
 
 | 1598 | SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val) | 
 
 
 
 
 | 1599 | { | 
 
 
 
 
 | 1600 | return SWIG_AsVal_unsigned_SS_long(obj,(unsigned long *)val); | 
 
 
 
 
 | 1601 | } | 
 
 
 
 
 | 1602 | #endif | 
 
 
 
 
 | 1603 |  | 
 
 
 
 
 | 1604 |  | 
 
 
 
 
 | 1605 | SWIGINTERNINLINE int | 
 
 
 
 
 | 1606 | SWIG_Check_unsigned_SS_int(PyObject* obj) | 
 
 
 
 
 | 1607 | { | 
 
 
 
 
 | 1608 | return SWIG_AsVal_unsigned_SS_int(obj, (unsigned int*)0); | 
 
 
 
 
 | 1609 | } | 
 
 
 
 
 | 1610 |  | 
 
 
 
 
 | 1611 |  | 
 
 
 
 
 | 1612 | SWIGINTERNINLINE int | 
 
 
 
 
 | 1613 | SWIG_Check_int(PyObject* obj) | 
 
 
 
 
 | 1614 | { | 
 
 
 
 
 | 1615 | return SWIG_AsVal_int(obj, (int*)0); | 
 
 
 
 
 | 1616 | } | 
 
 
 
 
 | 1617 |  | 
 
 
 
 
 | 1618 |  | 
 
 
 
 
 | 1619 | SWIGINTERN PyObject* | 
 
 
 
 
 | 1620 | t_output_helper(PyObject* target, PyObject* o) { | 
 
 
 
 
 | 1621 | if (!target) { | 
 
 
 
 
 | 1622 | target = o; | 
 
 
 
 
 | 1623 | } else if (target == Py_None) { | 
 
 
 
 
 | 1624 | Py_DECREF(target); | 
 
 
 
 
 | 1625 | target = o; | 
 
 
 
 
 | 1626 | } else { | 
 
 
 
 
 | 1627 | if (!PyList_Check(target)) { | 
 
 
 
 
 | 1628 | PyObject *o2 = target; | 
 
 
 
 
 | 1629 | target = PyList_New(1); | 
 
 
 
 
 | 1630 | PyList_SetItem(target, 0, o2); | 
 
 
 
 
 | 1631 | } | 
 
 
 
 
 | 1632 | PyList_Append(target,o); | 
 
 
 
 
 | 1633 | Py_DECREF(o); | 
 
 
 
 
 | 1634 | } | 
 
 
 
 
 | 1635 | return target; | 
 
 
 
 
 | 1636 | } | 
 
 
 
 
 | 1637 |  | 
 
 
 
 
 | 1638 |  | 
 
 
 
 
 | 1639 | /*@/usr/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/ | 
 
 
 
 
 | 1640 | #define SWIG_From_int PyInt_FromLong | 
 
 
 
 
 | 1641 | /*@@*/ | 
 
 
 
 
 | 1642 |  | 
 
 
 
 
 | 1643 |  | 
 
 
 
 
 | 1644 | SWIGINTERN char** | 
 
 
 
 
 | 1645 | SWIG_AsArgcArgv(PyObject* input, | 
 
 
 
 
 | 1646 | swig_type_info* ppchar_info, | 
 
 
 
 
 | 1647 | size_t* argc, int* owner) | 
 
 
 
 
 | 1648 | { | 
 
 
 
 
 | 1649 | char **argv = 0; | 
 
 
 
 
 | 1650 | size_t i = 0; | 
 
 
 
 
 | 1651 | if (SWIG_ConvertPtr(input, (void **)&argv, ppchar_info, 0) == -1) { | 
 
 
 
 
 | 1652 | PyErr_Clear(); | 
 
 
 
 
 | 1653 | int list = PyList_Check(input); | 
 
 
 
 
 | 1654 | if (list || PyTuple_Check(input)) { | 
 
 
 
 
 | 1655 | *argc = list ? PyList_Size(input) : PyTuple_Size(input); | 
 
 
 
 
 | 1656 | argv = ((char**) malloc((*argc + 1)*sizeof(char*))); | 
 
 
 
 
 | 1657 | *owner = 1; | 
 
 
 
 
 | 1658 | for (; i < *argc; ++i) { | 
 
 
 
 
 | 1659 | PyObject *obj = list ? PyList_GetItem(input,i) : PyTuple_GetItem(input,i); | 
 
 
 
 
 | 1660 | if (!SWIG_AsCharPtr(obj, &(argv[i]))) { | 
 
 
 
 
 | 1661 | PyErr_Clear(); | 
 
 
 
 
 | 1662 | PyErr_SetString(PyExc_TypeError,"list or tuple must contain strings only"); | 
 
 
 
 
 | 1663 | } | 
 
 
 
 
 | 1664 | } | 
 
 
 
 
 | 1665 | argv[i] = 0; | 
 
 
 
 
 | 1666 | return argv; | 
 
 
 
 
 | 1667 | } else { | 
 
 
 
 
 | 1668 | *argc = 0; | 
 
 
 
 
 | 1669 | PyErr_SetString(PyExc_TypeError,"a list or tuple is expected"); | 
 
 
 
 
 | 1670 | return 0; | 
 
 
 
 
 | 1671 | } | 
 
 
 
 
 | 1672 | } else { | 
 
 
 
 
 | 1673 | /* seems dangerous, but the user asked for it... */ | 
 
 
 
 
 | 1674 | while (argv[i] != 0) ++i; | 
 
 
 
 
 | 1675 | *argc = i; | 
 
 
 
 
 | 1676 | owner = 0; | 
 
 
 
 
 | 1677 | return argv; | 
 
 
 
 
 | 1678 | } | 
 
 
 
 
 | 1679 | } | 
 
 
 
 
 | 1680 |  | 
 
 
 
 
 | 1681 | #ifdef __cplusplus | 
 
 
 
 
 | 1682 | extern "C" { | 
 
 
 
 
 | 1683 | #endif | 
 
 
 
 
 | 1684 | static PyObject *_wrap_xd3_encode_memory(PyObject *self, PyObject *args) { | 
 
 
 
 
 | 1685 | PyObject *resultobj = NULL; | 
 
 
 
 
 | 1686 | char *arg1 = (char *) 0 ; | 
 
 
 
 
 | 1687 | unsigned int arg2 ; | 
 
 
 
 
 | 1688 | char *arg3 = (char *) 0 ; | 
 
 
 
 
 | 1689 | unsigned int arg4 ; | 
 
 
 
 
 | 1690 | char *arg5 = (char *) 0 ; | 
 
 
 
 
 | 1691 | unsigned int *arg6 = (unsigned int *) 0 ; | 
 
 
 
 
 | 1692 | unsigned int arg7 ; | 
 
 
 
 
 | 1693 | int arg8 ; | 
 
 
 
 
 | 1694 | int result; | 
 
 
 
 
 | 1695 | char *buf1 ; | 
 
 
 
 
 | 1696 | size_t size1 ; | 
 
 
 
 
 | 1697 | char *buf3 ; | 
 
 
 
 
 | 1698 | size_t size3 ; | 
 
 
 
 
 | 1699 | unsigned int alloc_size7 ; | 
 
 
 
 
 | 1700 | PyObject * obj0 = 0 ; | 
 
 
 
 
 | 1701 | PyObject * obj1 = 0 ; | 
 
 
 
 
 | 1702 | PyObject * obj2 = 0 ; | 
 
 
 
 
 | 1703 | PyObject * obj3 = 0 ; | 
 
 
 
 
 | 1704 |  | 
 
 
 
 
 | 1705 | { | 
 
 
 
 
 | 1706 | arg8 = 0; | 
 
 
 
 
 | 1707 | } | 
 
 
 
 
 | 1708 | { | 
 
 
 
 
 | 1709 |  | 
 
 
 
 
 | 1710 | } | 
 
 
 
 
 | 1711 | if(!PyArg_ParseTuple(args,(char *)"OOO|O:xd3_encode_memory",&obj0,&obj1,&obj2,&obj3)) goto fail; | 
 
 
 
 
 | 1712 | { | 
 
 
 
 
 | 1713 | int res = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1); | 
 
 
 
 
 | 1714 | if (!res) { | 
 
 
 
 
 | 1715 | SWIG_arg_fail(1);SWIG_fail; | 
 
 
 
 
 | 1716 | } | 
 
 
 
 
 | 1717 | arg1 = (char *) buf1; | 
 
 
 
 
 | 1718 | arg2 = (unsigned int) size1 - 1; | 
 
 
 
 
 | 1719 | } | 
 
 
 
 
 | 1720 | { | 
 
 
 
 
 | 1721 | int res = SWIG_AsCharPtrAndSize(obj1, &buf3, &size3); | 
 
 
 
 
 | 1722 | if (!res) { | 
 
 
 
 
 | 1723 | SWIG_arg_fail(3);SWIG_fail; | 
 
 
 
 
 | 1724 | } | 
 
 
 
 
 | 1725 | arg3 = (char *) buf3; | 
 
 
 
 
 | 1726 | arg4 = (unsigned int) size3 - 1; | 
 
 
 
 
 | 1727 | } | 
 
 
 
 
 | 1728 | { | 
 
 
 
 
 | 1729 | arg7 = alloc_size7 = PyInt_AsLong(obj2); | 
 
 
 
 
 | 1730 | } | 
 
 
 
 
 | 1731 | if (obj3) { | 
 
 
 
 
 | 1732 | { | 
 
 
 
 
 | 1733 | arg8 = (int)(SWIG_As_int(obj3)); | 
 
 
 
 
 | 1734 | if (SWIG_arg_fail(8)) SWIG_fail; | 
 
 
 
 
 | 1735 | } | 
 
 
 
 
 | 1736 | } | 
 
 
 
 
 | 1737 | { | 
 
 
 
 
 | 1738 | // alloc_size input is #7th position in xd3_xxcode_memory() | 
 
 
 
 
 | 1739 | arg5 = malloc(alloc_size7); | 
 
 
 
 
 | 1740 | arg6 = &alloc_size7; | 
 
 
 
 
 | 1741 | } | 
 
 
 
 
 | 1742 | result = (int)xd3_encode_memory((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8); | 
 
 
 
 
 | 1743 |  | 
 
 
 
 
 | 1744 | { | 
 
 
 
 
 | 1745 | resultobj = SWIG_From_int((int)(result)); | 
 
 
 
 
 | 1746 | } | 
 
 
 
 
 | 1747 | { | 
 
 
 
 
 | 1748 | if (result == 0) { | 
 
 
 
 
 | 1749 | PyObject *o; | 
 
 
 
 
 | 1750 | // alloc_size7 now carries actual size | 
 
 
 
 
 | 1751 | o = PyString_FromStringAndSize(arg5,alloc_size7); | 
 
 
 
 
 | 1752 | resultobj = t_output_helper(resultobj,o); | 
 
 
 
 
 | 1753 | } else { | 
 
 
 
 
 | 1754 | resultobj = t_output_helper(resultobj,Py_None); | 
 
 
 
 
 | 1755 | } | 
 
 
 
 
 | 1756 | free(arg5); | 
 
 
 
 
 | 1757 | } | 
 
 
 
 
 | 1758 | return resultobj; | 
 
 
 
 
 | 1759 | fail: | 
 
 
 
 
 | 1760 | return NULL; | 
 
 
 
 
 | 1761 | } | 
 
 
 
 
 | 1762 |  | 
 
 
 
 
 | 1763 |  | 
 
 
 
 
 | 1764 | static PyObject *_wrap_xd3_decode_memory(PyObject *self, PyObject *args) { | 
 
 
 
 
 | 1765 | PyObject *resultobj = NULL; | 
 
 
 
 
 | 1766 | char *arg1 = (char *) 0 ; | 
 
 
 
 
 | 1767 | unsigned int arg2 ; | 
 
 
 
 
 | 1768 | char *arg3 = (char *) 0 ; | 
 
 
 
 
 | 1769 | unsigned int arg4 ; | 
 
 
 
 
 | 1770 | char *arg5 = (char *) 0 ; | 
 
 
 
 
 | 1771 | unsigned int *arg6 = (unsigned int *) 0 ; | 
 
 
 
 
 | 1772 | unsigned int arg7 ; | 
 
 
 
 
 | 1773 | int arg8 ; | 
 
 
 
 
 | 1774 | int result; | 
 
 
 
 
 | 1775 | char *buf1 ; | 
 
 
 
 
 | 1776 | size_t size1 ; | 
 
 
 
 
 | 1777 | char *buf3 ; | 
 
 
 
 
 | 1778 | size_t size3 ; | 
 
 
 
 
 | 1779 | unsigned int alloc_size7 ; | 
 
 
 
 
 | 1780 | PyObject * obj0 = 0 ; | 
 
 
 
 
 | 1781 | PyObject * obj1 = 0 ; | 
 
 
 
 
 | 1782 | PyObject * obj2 = 0 ; | 
 
 
 
 
 | 1783 | PyObject * obj3 = 0 ; | 
 
 
 
 
 | 1784 |  | 
 
 
 
 
 | 1785 | { | 
 
 
 
 
 | 1786 | arg8 = 0; | 
 
 
 
 
 | 1787 | } | 
 
 
 
 
 | 1788 | { | 
 
 
 
 
 | 1789 |  | 
 
 
 
 
 | 1790 | } | 
 
 
 
 
 | 1791 | if(!PyArg_ParseTuple(args,(char *)"OOO|O:xd3_decode_memory",&obj0,&obj1,&obj2,&obj3)) goto fail; | 
 
 
 
 
 | 1792 | { | 
 
 
 
 
 | 1793 | int res = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1); | 
 
 
 
 
 | 1794 | if (!res) { | 
 
 
 
 
 | 1795 | SWIG_arg_fail(1);SWIG_fail; | 
 
 
 
 
 | 1796 | } | 
 
 
 
 
 | 1797 | arg1 = (char *) buf1; | 
 
 
 
 
 | 1798 | arg2 = (unsigned int) size1 - 1; | 
 
 
 
 
 | 1799 | } | 
 
 
 
 
 | 1800 | { | 
 
 
 
 
 | 1801 | int res = SWIG_AsCharPtrAndSize(obj1, &buf3, &size3); | 
 
 
 
 
 | 1802 | if (!res) { | 
 
 
 
 
 | 1803 | SWIG_arg_fail(3);SWIG_fail; | 
 
 
 
 
 | 1804 | } | 
 
 
 
 
 | 1805 | arg3 = (char *) buf3; | 
 
 
 
 
 | 1806 | arg4 = (unsigned int) size3 - 1; | 
 
 
 
 
 | 1807 | } | 
 
 
 
 
 | 1808 | { | 
 
 
 
 
 | 1809 | arg7 = alloc_size7 = PyInt_AsLong(obj2); | 
 
 
 
 
 | 1810 | } | 
 
 
 
 
 | 1811 | if (obj3) { | 
 
 
 
 
 | 1812 | { | 
 
 
 
 
 | 1813 | arg8 = (int)(SWIG_As_int(obj3)); | 
 
 
 
 
 | 1814 | if (SWIG_arg_fail(8)) SWIG_fail; | 
 
 
 
 
 | 1815 | } | 
 
 
 
 
 | 1816 | } | 
 
 
 
 
 | 1817 | { | 
 
 
 
 
 | 1818 | // alloc_size input is #7th position in xd3_xxcode_memory() | 
 
 
 
 
 | 1819 | arg5 = malloc(alloc_size7); | 
 
 
 
 
 | 1820 | arg6 = &alloc_size7; | 
 
 
 
 
 | 1821 | } | 
 
 
 
 
 | 1822 | result = (int)xd3_decode_memory((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8); | 
 
 
 
 
 | 1823 |  | 
 
 
 
 
 | 1824 | { | 
 
 
 
 
 | 1825 | resultobj = SWIG_From_int((int)(result)); | 
 
 
 
 
 | 1826 | } | 
 
 
 
 
 | 1827 | { | 
 
 
 
 
 | 1828 | if (result == 0) { | 
 
 
 
 
 | 1829 | PyObject *o; | 
 
 
 
 
 | 1830 | // alloc_size7 now carries actual size | 
 
 
 
 
 | 1831 | o = PyString_FromStringAndSize(arg5,alloc_size7); | 
 
 
 
 
 | 1832 | resultobj = t_output_helper(resultobj,o); | 
 
 
 
 
 | 1833 | } else { | 
 
 
 
 
 | 1834 | resultobj = t_output_helper(resultobj,Py_None); | 
 
 
 
 
 | 1835 | } | 
 
 
 
 
 | 1836 | free(arg5); | 
 
 
 
 
 | 1837 | } | 
 
 
 
 
 | 1838 | return resultobj; | 
 
 
 
 
 | 1839 | fail: | 
 
 
 
 
 | 1840 | return NULL; | 
 
 
 
 
 | 1841 | } | 
 
 
 
 
 | 1842 |  | 
 
 
 
 
 | 1843 |  | 
 
 
 
 
 | 1844 | static PyObject *_wrap_xd3_main_cmdline(PyObject *self, PyObject *args) { | 
 
 
 
 
 | 1845 | PyObject *resultobj = NULL; | 
 
 
 
 
 | 1846 | int arg1 ; | 
 
 
 
 
 | 1847 | char **arg2 = (char **) 0 ; | 
 
 
 
 
 | 1848 | int result; | 
 
 
 
 
 | 1849 | int owner1 ; | 
 
 
 
 
 | 1850 | PyObject * obj0 = 0 ; | 
 
 
 
 
 | 1851 |  | 
 
 
 
 
 | 1852 | if(!PyArg_ParseTuple(args,(char *)"O:xd3_main_cmdline",&obj0)) goto fail; | 
 
 
 
 
 | 1853 | { | 
 
 
 
 
 | 1854 | size_t argc = 0; | 
 
 
 
 
 | 1855 | char **argv = SWIG_AsArgcArgv(obj0, SWIGTYPE_p_p_char, &argc, &owner1); | 
 
 
 
 
 | 1856 | if (PyErr_Occurred()) { | 
 
 
 
 
 | 1857 | arg1 = 0; arg2 = 0; | 
 
 
 
 
 | 1858 | if (SWIG_arg_fail(1)) SWIG_fail; | 
 
 
 
 
 | 1859 | } else { | 
 
 
 
 
 | 1860 | arg1 = (int) argc; | 
 
 
 
 
 | 1861 | arg2 = (char **) argv; | 
 
 
 
 
 | 1862 | } | 
 
 
 
 
 | 1863 | } | 
 
 
 
 
 | 1864 | result = (int)xd3_main_cmdline(arg1,arg2); | 
 
 
 
 
 | 1865 |  | 
 
 
 
 
 | 1866 | { | 
 
 
 
 
 | 1867 | resultobj = SWIG_From_int((int)(result)); | 
 
 
 
 
 | 1868 | } | 
 
 
 
 
 | 1869 | { | 
 
 
 
 
 | 1870 | if (owner1) free((char*)arg2); | 
 
 
 
 
 | 1871 | } | 
 
 
 
 
 | 1872 | return resultobj; | 
 
 
 
 
 | 1873 | fail: | 
 
 
 
 
 | 1874 | { | 
 
 
 
 
 | 1875 | if (owner1) free((char*)arg2); | 
 
 
 
 
 | 1876 | } | 
 
 
 
 
 | 1877 | return NULL; | 
 
 
 
 
 | 1878 | } | 
 
 
 
 
 | 1879 |  | 
 
 
 
 
 | 1880 |  | 
 
 
 
 
 | 1881 | static PyMethodDef SwigMethods[] = { | 
 
 
 
 
 | 1882 | { (char *)"xd3_encode_memory", _wrap_xd3_encode_memory, METH_VARARGS, NULL}, | 
 
 
 
 
 | 1883 | { (char *)"xd3_decode_memory", _wrap_xd3_decode_memory, METH_VARARGS, NULL}, | 
 
 
 
 
 | 1884 | { (char *)"xd3_main_cmdline", _wrap_xd3_main_cmdline, METH_VARARGS, NULL}, | 
 
 
 
 
 | 1885 | { NULL, NULL, 0, NULL } | 
 
 
 
 
 | 1886 | }; | 
 
 
 
 
 | 1887 |  | 
 
 
 
 
 | 1888 |  | 
 
 
 
 
 | 1889 | /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ | 
 
 
 
 
 | 1890 |  | 
 
 
 
 
 | 1891 | static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, 0}; | 
 
 
 
 
 | 1892 | static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, 0}; | 
 
 
 
 
 | 1893 | static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, 0}; | 
 
 
 
 
 | 1894 | static swig_type_info _swigt__ptrdiff_t = {"_ptrdiff_t", "ptrdiff_t", 0, 0, 0}; | 
 
 
 
 
 | 1895 | static swig_type_info _swigt__size_t = {"_size_t", "size_t", 0, 0, 0}; | 
 
 
 
 
 | 1896 |  | 
 
 
 
 
 | 1897 | static swig_type_info *swig_type_initial[] = { | 
 
 
 
 
 | 1898 | &_swigt__p_char, | 
 
 
 
 
 | 1899 | &_swigt__p_p_char, | 
 
 
 
 
 | 1900 | &_swigt__p_unsigned_int, | 
 
 
 
 
 | 1901 | &_swigt__ptrdiff_t, | 
 
 
 
 
 | 1902 | &_swigt__size_t, | 
 
 
 
 
 | 1903 | }; | 
 
 
 
 
 | 1904 |  | 
 
 
 
 
 | 1905 | static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; | 
 
 
 
 
 | 1906 | static swig_cast_info _swigc__p_p_char[] = {  {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}}; | 
 
 
 
 
 | 1907 | static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}}; | 
 
 
 
 
 | 1908 | static swig_cast_info _swigc__ptrdiff_t[] = {  {&_swigt__ptrdiff_t, 0, 0, 0},{0, 0, 0, 0}}; | 
 
 
 
 
 | 1909 | static swig_cast_info _swigc__size_t[] = {  {&_swigt__size_t, 0, 0, 0},{0, 0, 0, 0}}; | 
 
 
 
 
 | 1910 |  | 
 
 
 
 
 | 1911 | static swig_cast_info *swig_cast_initial[] = { | 
 
 
 
 
 | 1912 | _swigc__p_char, | 
 
 
 
 
 | 1913 | _swigc__p_p_char, | 
 
 
 
 
 | 1914 | _swigc__p_unsigned_int, | 
 
 
 
 
 | 1915 | _swigc__ptrdiff_t, | 
 
 
 
 
 | 1916 | _swigc__size_t, | 
 
 
 
 
 | 1917 | }; | 
 
 
 
 
 | 1918 |  | 
 
 
 
 
 | 1919 |  | 
 
 
 
 
 | 1920 | /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ | 
 
 
 
 
 | 1921 |  | 
 
 
 
 
 | 1922 | static swig_const_info swig_const_table[] = { | 
 
 
 
 
 | 1923 | {0, 0, 0, 0.0, 0, 0}}; | 
 
 
 
 
 | 1924 |  | 
 
 
 
 
 | 1925 | #ifdef __cplusplus | 
 
 
 
 
 | 1926 | } | 
 
 
 
 
 | 1927 | #endif | 
 
 
 
 
 | 1928 | /************************************************************************* | 
 
 
 
 
 | 1929 | * Type initialization: | 
 
 
 
 
 | 1930 | * This problem is tough by the requirement that no dynamic | 
 
 
 
 
 | 1931 | * memory is used. Also, since swig_type_info structures store pointers to | 
 
 
 
 
 | 1932 | * swig_cast_info structures and swig_cast_info structures store pointers back | 
 
 
 
 
 | 1933 | * to swig_type_info structures, we need some lookup code at initialization. | 
 
 
 
 
 | 1934 | * The idea is that swig generates all the structures that are needed. | 
 
 
 
 
 | 1935 | * The runtime then collects these partially filled structures. | 
 
 
 
 
 | 1936 | * The SWIG_InitializeModule function takes these initial arrays out of | 
 
 
 
 
 | 1937 | * swig_module, and does all the lookup, filling in the swig_module.types | 
 
 
 
 
 | 1938 | * array with the correct data and linking the correct swig_cast_info | 
 
 
 
 
 | 1939 | * structures together. | 
 
 
 
 
 | 1940 |  | 
 
 
 
 
 | 1941 | * The generated swig_type_info structures are assigned staticly to an initial | 
 
 
 
 
 | 1942 | * array. We just loop though that array, and handle each type individually. | 
 
 
 
 
 | 1943 | * First we lookup if this type has been already loaded, and if so, use the | 
 
 
 
 
 | 1944 | * loaded structure instead of the generated one. Then we have to fill in the | 
 
 
 
 
 | 1945 | * cast linked list. The cast data is initially stored in something like a | 
 
 
 
 
 | 1946 | * two-dimensional array. Each row corresponds to a type (there are the same | 
 
 
 
 
 | 1947 | * number of rows as there are in the swig_type_initial array). Each entry in | 
 
 
 
 
 | 1948 | * a column is one of the swig_cast_info structures for that type. | 
 
 
 
 
 | 1949 | * The cast_initial array is actually an array of arrays, because each row has | 
 
 
 
 
 | 1950 | * a variable number of columns. So to actually build the cast linked list, | 
 
 
 
 
 | 1951 | * we find the array of casts associated with the type, and loop through it | 
 
 
 
 
 | 1952 | * adding the casts to the list. The one last trick we need to do is making | 
 
 
 
 
 | 1953 | * sure the type pointer in the swig_cast_info struct is correct. | 
 
 
 
 
 | 1954 |  | 
 
 
 
 
 | 1955 | * First off, we lookup the cast->type name to see if it is already loaded. | 
 
 
 
 
 | 1956 | * There are three cases to handle: | 
 
 
 
 
 | 1957 | *  1) If the cast->type has already been loaded AND the type we are adding | 
 
 
 
 
 | 1958 | *     casting info to has not been loaded (it is in this module), THEN we | 
 
 
 
 
 | 1959 | *     replace the cast->type pointer with the type pointer that has already | 
 
 
 
 
 | 1960 | *     been loaded. | 
 
 
 
 
 | 1961 | *  2) If BOTH types (the one we are adding casting info to, and the | 
 
 
 
 
 | 1962 | *     cast->type) are loaded, THEN the cast info has already been loaded by | 
 
 
 
 
 | 1963 | *     the previous module so we just ignore it. | 
 
 
 
 
 | 1964 | *  3) Finally, if cast->type has not already been loaded, then we add that | 
 
 
 
 
 | 1965 | *     swig_cast_info to the linked list (because the cast->type) pointer will | 
 
 
 
 
 | 1966 | *     be correct. | 
 
 
 
 
 | 1967 | **/ | 
 
 
 
 
 | 1968 |  | 
 
 
 
 
 | 1969 | #ifdef __cplusplus | 
 
 
 
 
 | 1970 | extern "C" { | 
 
 
 
 
 | 1971 | #endif | 
 
 
 
 
 | 1972 |  | 
 
 
 
 
 | 1973 | SWIGRUNTIME void | 
 
 
 
 
 | 1974 | SWIG_InitializeModule(void *clientdata) { | 
 
 
 
 
 | 1975 | swig_type_info *type, *ret; | 
 
 
 
 
 | 1976 | swig_cast_info *cast; | 
 
 
 
 
 | 1977 | size_t i; | 
 
 
 
 
 | 1978 | swig_module_info *module_head; | 
 
 
 
 
 | 1979 | static int init_run = 0; | 
 
 
 
 
 | 1980 |  | 
 
 
 
 
 | 1981 | clientdata = clientdata; | 
 
 
 
 
 | 1982 |  | 
 
 
 
 
 | 1983 | if (init_run) return; | 
 
 
 
 
 | 1984 | init_run = 1; | 
 
 
 
 
 | 1985 |  | 
 
 
 
 
 | 1986 | /* Initialize the swig_module */ | 
 
 
 
 
 | 1987 | swig_module.type_initial = swig_type_initial; | 
 
 
 
 
 | 1988 | swig_module.cast_initial = swig_cast_initial; | 
 
 
 
 
 | 1989 |  | 
 
 
 
 
 | 1990 | /* Try and load any already created modules */ | 
 
 
 
 
 | 1991 | module_head = SWIG_GetModule(clientdata); | 
 
 
 
 
 | 1992 | if (module_head) { | 
 
 
 
 
 | 1993 | swig_module.next = module_head->next; | 
 
 
 
 
 | 1994 | module_head->next = &swig_module; | 
 
 
 
 
 | 1995 | } else { | 
 
 
 
 
 | 1996 | /* This is the first module loaded */ | 
 
 
 
 
 | 1997 | swig_module.next = &swig_module; | 
 
 
 
 
 | 1998 | SWIG_SetModule(clientdata, &swig_module); | 
 
 
 
 
 | 1999 | } | 
 
 
 
 
 | 2000 |  | 
 
 
 
 
 | 2001 | /* Now work on filling in swig_module.types */ | 
 
 
 
 
 | 2002 | for (i = 0; i < swig_module.size; ++i) { | 
 
 
 
 
 | 2003 | type = 0; | 
 
 
 
 
 | 2004 |  | 
 
 
 
 
 | 2005 | /* if there is another module already loaded */ | 
 
 
 
 
 | 2006 | if (swig_module.next != &swig_module) { | 
 
 
 
 
 | 2007 | type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); | 
 
 
 
 
 | 2008 | } | 
 
 
 
 
 | 2009 | if (type) { | 
 
 
 
 
 | 2010 | /* Overwrite clientdata field */ | 
 
 
 
 
 | 2011 | if (swig_module.type_initial[i]->clientdata) type->clientdata = swig_module.type_initial[i]->clientdata; | 
 
 
 
 
 | 2012 | } else { | 
 
 
 
 
 | 2013 | type = swig_module.type_initial[i]; | 
 
 
 
 
 | 2014 | } | 
 
 
 
 
 | 2015 |  | 
 
 
 
 
 | 2016 | /* Insert casting types */ | 
 
 
 
 
 | 2017 | cast = swig_module.cast_initial[i]; | 
 
 
 
 
 | 2018 | while (cast->type) { | 
 
 
 
 
 | 2019 | /* Don't need to add information already in the list */ | 
 
 
 
 
 | 2020 | ret = 0; | 
 
 
 
 
 | 2021 | if (swig_module.next != &swig_module) { | 
 
 
 
 
 | 2022 | ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); | 
 
 
 
 
 | 2023 | } | 
 
 
 
 
 | 2024 | if (ret && type == swig_module.type_initial[i]) { | 
 
 
 
 
 | 2025 | cast->type = ret; | 
 
 
 
 
 | 2026 | ret = 0; | 
 
 
 
 
 | 2027 | } | 
 
 
 
 
 | 2028 |  | 
 
 
 
 
 | 2029 | if (!ret) { | 
 
 
 
 
 | 2030 | if (type->cast) { | 
 
 
 
 
 | 2031 | type->cast->prev = cast; | 
 
 
 
 
 | 2032 | cast->next = type->cast; | 
 
 
 
 
 | 2033 | } | 
 
 
 
 
 | 2034 | type->cast = cast; | 
 
 
 
 
 | 2035 | } | 
 
 
 
 
 | 2036 |  | 
 
 
 
 
 | 2037 | cast++; | 
 
 
 
 
 | 2038 | } | 
 
 
 
 
 | 2039 |  | 
 
 
 
 
 | 2040 | /* Set entry in modules->types array equal to the type */ | 
 
 
 
 
 | 2041 | swig_module.types[i] = type; | 
 
 
 
 
 | 2042 | } | 
 
 
 
 
 | 2043 | } | 
 
 
 
 
 | 2044 |  | 
 
 
 
 
 | 2045 | /* This function will propagate the clientdata field of type to | 
 
 
 
 
 | 2046 | * any new swig_type_info structures that have been added into the list | 
 
 
 
 
 | 2047 | * of equivalent types.  It is like calling | 
 
 
 
 
 | 2048 | * SWIG_TypeClientData(type, clientdata) a second time. | 
 
 
 
 
 | 2049 | */ | 
 
 
 
 
 | 2050 | SWIGRUNTIME void | 
 
 
 
 
 | 2051 | SWIG_PropagateClientData(void) { | 
 
 
 
 
 | 2052 | size_t i; | 
 
 
 
 
 | 2053 | swig_cast_info *equiv; | 
 
 
 
 
 | 2054 | static int init_run = 0; | 
 
 
 
 
 | 2055 |  | 
 
 
 
 
 | 2056 | if (init_run) return; | 
 
 
 
 
 | 2057 | init_run = 1; | 
 
 
 
 
 | 2058 |  | 
 
 
 
 
 | 2059 | for (i = 0; i < swig_module.size; i++) { | 
 
 
 
 
 | 2060 | if (swig_module.types[i]->clientdata) { | 
 
 
 
 
 | 2061 | equiv = swig_module.types[i]->cast; | 
 
 
 
 
 | 2062 | while (equiv) { | 
 
 
 
 
 | 2063 | if (!equiv->converter) { | 
 
 
 
 
 | 2064 | if (equiv->type && !equiv->type->clientdata) | 
 
 
 
 
 | 2065 | SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); | 
 
 
 
 
 | 2066 | } | 
 
 
 
 
 | 2067 | equiv = equiv->next; | 
 
 
 
 
 | 2068 | } | 
 
 
 
 
 | 2069 | } | 
 
 
 
 
 | 2070 | } | 
 
 
 
 
 | 2071 | } | 
 
 
 
 
 | 2072 |  | 
 
 
 
 
 | 2073 | #ifdef __cplusplus | 
 
 
 
 
 | 2074 | } | 
 
 
 
 
 | 2075 | #endif | 
 
 
 
 
 | 2076 |  | 
 
 
 
 
 | 2077 |  | 
 
 
 
 
 | 2078 |  | 
 
 
 
 
 | 2079 | #ifdef __cplusplus | 
 
 
 
 
 | 2080 | extern "C" { | 
 
 
 
 
 | 2081 | #endif | 
 
 
 
 
 | 2082 |  | 
 
 
 
 
 | 2083 | /* Python-specific SWIG API */ | 
 
 
 
 
 | 2084 | #define SWIG_newvarlink()                             SWIG_Python_newvarlink() | 
 
 
 
 
 | 2085 | #define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr) | 
 
 
 
 
 | 2086 | #define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants) | 
 
 
 
 
 | 2087 |  | 
 
 
 
 
 | 2088 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 2089 | * global variable support code. | 
 
 
 
 
 | 2090 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 2091 |  | 
 
 
 
 
 | 2092 | typedef struct swig_globalvar { | 
 
 
 
 
 | 2093 | char       *name;                  /* Name of global variable */ | 
 
 
 
 
 | 2094 | PyObject *(*get_attr)(void);       /* Return the current value */ | 
 
 
 
 
 | 2095 | int       (*set_attr)(PyObject *); /* Set the value */ | 
 
 
 
 
 | 2096 | struct swig_globalvar *next; | 
 
 
 
 
 | 2097 | } swig_globalvar; | 
 
 
 
 
 | 2098 |  | 
 
 
 
 
 | 2099 | typedef struct swig_varlinkobject { | 
 
 
 
 
 | 2100 | PyObject_HEAD | 
 
 
 
 
 | 2101 | swig_globalvar *vars; | 
 
 
 
 
 | 2102 | } swig_varlinkobject; | 
 
 
 
 
 | 2103 |  | 
 
 
 
 
 | 2104 | SWIGINTERN PyObject * | 
 
 
 
 
 | 2105 | swig_varlink_repr(swig_varlinkobject *v) { | 
 
 
 
 
 | 2106 | v = v; | 
 
 
 
 
 | 2107 | return PyString_FromString("<Swig global variables>"); | 
 
 
 
 
 | 2108 | } | 
 
 
 
 
 | 2109 |  | 
 
 
 
 
 | 2110 | SWIGINTERN int | 
 
 
 
 
 | 2111 | swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) { | 
 
 
 
 
 | 2112 | swig_globalvar  *var; | 
 
 
 
 
 | 2113 | flags = flags; | 
 
 
 
 
 | 2114 | fprintf(fp,"Swig global variables { "); | 
 
 
 
 
 | 2115 | for (var = v->vars; var; var=var->next) { | 
 
 
 
 
 | 2116 | fprintf(fp,"%s", var->name); | 
 
 
 
 
 | 2117 | if (var->next) fprintf(fp,", "); | 
 
 
 
 
 | 2118 | } | 
 
 
 
 
 | 2119 | fprintf(fp," }\n"); | 
 
 
 
 
 | 2120 | return 0; | 
 
 
 
 
 | 2121 | } | 
 
 
 
 
 | 2122 |  | 
 
 
 
 
 | 2123 | SWIGINTERN PyObject * | 
 
 
 
 
 | 2124 | swig_varlink_getattr(swig_varlinkobject *v, char *n) { | 
 
 
 
 
 | 2125 | swig_globalvar *var = v->vars; | 
 
 
 
 
 | 2126 | while (var) { | 
 
 
 
 
 | 2127 | if (strcmp(var->name,n) == 0) { | 
 
 
 
 
 | 2128 | return (*var->get_attr)(); | 
 
 
 
 
 | 2129 | } | 
 
 
 
 
 | 2130 | var = var->next; | 
 
 
 
 
 | 2131 | } | 
 
 
 
 
 | 2132 | PyErr_SetString(PyExc_NameError,"Unknown C global variable"); | 
 
 
 
 
 | 2133 | return NULL; | 
 
 
 
 
 | 2134 | } | 
 
 
 
 
 | 2135 |  | 
 
 
 
 
 | 2136 | SWIGINTERN int | 
 
 
 
 
 | 2137 | swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { | 
 
 
 
 
 | 2138 | swig_globalvar *var = v->vars; | 
 
 
 
 
 | 2139 | while (var) { | 
 
 
 
 
 | 2140 | if (strcmp(var->name,n) == 0) { | 
 
 
 
 
 | 2141 | return (*var->set_attr)(p); | 
 
 
 
 
 | 2142 | } | 
 
 
 
 
 | 2143 | var = var->next; | 
 
 
 
 
 | 2144 | } | 
 
 
 
 
 | 2145 | PyErr_SetString(PyExc_NameError,"Unknown C global variable"); | 
 
 
 
 
 | 2146 | return 1; | 
 
 
 
 
 | 2147 | } | 
 
 
 
 
 | 2148 |  | 
 
 
 
 
 | 2149 | SWIGINTERN PyTypeObject* | 
 
 
 
 
 | 2150 | swig_varlink_type(void) { | 
 
 
 
 
 | 2151 | static char varlink__doc__[] = "Swig var link object"; | 
 
 
 
 
 | 2152 | static PyTypeObject varlink_type | 
 
 
 
 
 | 2153 | #if !defined(__cplusplus) | 
 
 
 
 
 | 2154 | ; | 
 
 
 
 
 | 2155 | static int type_init = 0; | 
 
 
 
 
 | 2156 | if (!type_init) { | 
 
 
 
 
 | 2157 | PyTypeObject tmp | 
 
 
 
 
 | 2158 | #endif | 
 
 
 
 
 | 2159 | = { | 
 
 
 
 
 | 2160 | PyObject_HEAD_INIT(&PyType_Type) | 
 
 
 
 
 | 2161 | 0,                                  /* Number of items in variable part (ob_size) */ | 
 
 
 
 
 | 2162 | (char *)"swigvarlink",              /* Type name (tp_name) */ | 
 
 
 
 
 | 2163 | sizeof(swig_varlinkobject),         /* Basic size (tp_basicsize) */ | 
 
 
 
 
 | 2164 | 0,                                  /* Itemsize (tp_itemsize) */ | 
 
 
 
 
 | 2165 | 0,                                  /* Deallocator (tp_dealloc) */ | 
 
 
 
 
 | 2166 | (printfunc) swig_varlink_print,     /* Print (tp_print) */ | 
 
 
 
 
 | 2167 | (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */ | 
 
 
 
 
 | 2168 | (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */ | 
 
 
 
 
 | 2169 | 0,                                  /* tp_compare */ | 
 
 
 
 
 | 2170 | (reprfunc) swig_varlink_repr,       /* tp_repr */ | 
 
 
 
 
 | 2171 | 0,                                  /* tp_as_number */ | 
 
 
 
 
 | 2172 | 0,                                  /* tp_as_sequence */ | 
 
 
 
 
 | 2173 | 0,                                  /* tp_as_mapping */ | 
 
 
 
 
 | 2174 | 0,                                  /* tp_hash */ | 
 
 
 
 
 | 2175 | 0,                                  /* tp_call */ | 
 
 
 
 
 | 2176 | 0,                                  /* tp_str */ | 
 
 
 
 
 | 2177 | 0,                                  /* tp_getattro */ | 
 
 
 
 
 | 2178 | 0,                                  /* tp_setattro */ | 
 
 
 
 
 | 2179 | 0,                                  /* tp_as_buffer */ | 
 
 
 
 
 | 2180 | 0,                                  /* tp_flags */ | 
 
 
 
 
 | 2181 | varlink__doc__,                     /* tp_doc */ | 
 
 
 
 
 | 2182 | #if PY_VERSION_HEX >= 0x02000000 | 
 
 
 
 
 | 2183 | 0,                                  /* tp_traverse */ | 
 
 
 
 
 | 2184 | 0,                                  /* tp_clear */ | 
 
 
 
 
 | 2185 | #endif | 
 
 
 
 
 | 2186 | #if PY_VERSION_HEX >= 0x02010000 | 
 
 
 
 
 | 2187 | 0,                                  /* tp_richcompare */ | 
 
 
 
 
 | 2188 | 0,                                  /* tp_weaklistoffset */ | 
 
 
 
 
 | 2189 | #endif | 
 
 
 
 
 | 2190 | #if PY_VERSION_HEX >= 0x02020000 | 
 
 
 
 
 | 2191 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ | 
 
 
 
 
 | 2192 | #endif | 
 
 
 
 
 | 2193 | #if PY_VERSION_HEX >= 0x02030000 | 
 
 
 
 
 | 2194 | 0,                                  /* tp_del */ | 
 
 
 
 
 | 2195 | #endif | 
 
 
 
 
 | 2196 | #ifdef COUNT_ALLOCS | 
 
 
 
 
 | 2197 | 0,0,0,0                             /* tp_alloc -> tp_next */ | 
 
 
 
 
 | 2198 | #endif | 
 
 
 
 
 | 2199 | }; | 
 
 
 
 
 | 2200 | #if !defined(__cplusplus) | 
 
 
 
 
 | 2201 | varlink_type = tmp; | 
 
 
 
 
 | 2202 | type_init = 1; | 
 
 
 
 
 | 2203 | } | 
 
 
 
 
 | 2204 | #endif | 
 
 
 
 
 | 2205 | return &varlink_type; | 
 
 
 
 
 | 2206 | } | 
 
 
 
 
 | 2207 |  | 
 
 
 
 
 | 2208 | /* Create a variable linking object for use later */ | 
 
 
 
 
 | 2209 | SWIGINTERN PyObject * | 
 
 
 
 
 | 2210 | SWIG_Python_newvarlink(void) { | 
 
 
 
 
 | 2211 | swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type()); | 
 
 
 
 
 | 2212 | if (result) { | 
 
 
 
 
 | 2213 | result->vars = 0; | 
 
 
 
 
 | 2214 | } | 
 
 
 
 
 | 2215 | return ((PyObject*) result); | 
 
 
 
 
 | 2216 | } | 
 
 
 
 
 | 2217 |  | 
 
 
 
 
 | 2218 | SWIGINTERN void | 
 
 
 
 
 | 2219 | SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { | 
 
 
 
 
 | 2220 | swig_varlinkobject *v = (swig_varlinkobject *) p; | 
 
 
 
 
 | 2221 | swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); | 
 
 
 
 
 | 2222 | if (gv) { | 
 
 
 
 
 | 2223 | size_t size = strlen(name)+1; | 
 
 
 
 
 | 2224 | gv->name = (char *)malloc(size); | 
 
 
 
 
 | 2225 | if (gv->name) { | 
 
 
 
 
 | 2226 | strncpy(gv->name,name,size); | 
 
 
 
 
 | 2227 | gv->get_attr = get_attr; | 
 
 
 
 
 | 2228 | gv->set_attr = set_attr; | 
 
 
 
 
 | 2229 | gv->next = v->vars; | 
 
 
 
 
 | 2230 | } | 
 
 
 
 
 | 2231 | } | 
 
 
 
 
 | 2232 | v->vars = gv; | 
 
 
 
 
 | 2233 | } | 
 
 
 
 
 | 2234 |  | 
 
 
 
 
 | 2235 | /* ----------------------------------------------------------------------------- | 
 
 
 
 
 | 2236 | * constants/methods manipulation | 
 
 
 
 
 | 2237 | * ----------------------------------------------------------------------------- */ | 
 
 
 
 
 | 2238 |  | 
 
 
 
 
 | 2239 | /* Install Constants */ | 
 
 
 
 
 | 2240 | SWIGINTERN void | 
 
 
 
 
 | 2241 | SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { | 
 
 
 
 
 | 2242 | PyObject *obj = 0; | 
 
 
 
 
 | 2243 | size_t i; | 
 
 
 
 
 | 2244 | for (i = 0; constants[i].type; ++i) { | 
 
 
 
 
 | 2245 | switch(constants[i].type) { | 
 
 
 
 
 | 2246 | case SWIG_PY_INT: | 
 
 
 
 
 | 2247 | obj = PyInt_FromLong(constants[i].lvalue); | 
 
 
 
 
 | 2248 | break; | 
 
 
 
 
 | 2249 | case SWIG_PY_FLOAT: | 
 
 
 
 
 | 2250 | obj = PyFloat_FromDouble(constants[i].dvalue); | 
 
 
 
 
 | 2251 | break; | 
 
 
 
 
 | 2252 | case SWIG_PY_STRING: | 
 
 
 
 
 | 2253 | if (constants[i].pvalue) { | 
 
 
 
 
 | 2254 | obj = PyString_FromString((char *) constants[i].pvalue); | 
 
 
 
 
 | 2255 | } else { | 
 
 
 
 
 | 2256 | Py_INCREF(Py_None); | 
 
 
 
 
 | 2257 | obj = Py_None; | 
 
 
 
 
 | 2258 | } | 
 
 
 
 
 | 2259 | break; | 
 
 
 
 
 | 2260 | case SWIG_PY_POINTER: | 
 
 
 
 
 | 2261 | obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); | 
 
 
 
 
 | 2262 | break; | 
 
 
 
 
 | 2263 | case SWIG_PY_BINARY: | 
 
 
 
 
 | 2264 | obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); | 
 
 
 
 
 | 2265 | break; | 
 
 
 
 
 | 2266 | default: | 
 
 
 
 
 | 2267 | obj = 0; | 
 
 
 
 
 | 2268 | break; | 
 
 
 
 
 | 2269 | } | 
 
 
 
 
 | 2270 | if (obj) { | 
 
 
 
 
 | 2271 | PyDict_SetItemString(d,constants[i].name,obj); | 
 
 
 
 
 | 2272 | Py_DECREF(obj); | 
 
 
 
 
 | 2273 | } | 
 
 
 
 
 | 2274 | } | 
 
 
 
 
 | 2275 | } | 
 
 
 
 
 | 2276 |  | 
 
 
 
 
 | 2277 | /* -----------------------------------------------------------------------------*/ | 
 
 
 
 
 | 2278 | /* Fix SwigMethods to carry the callback ptrs when needed */ | 
 
 
 
 
 | 2279 | /* -----------------------------------------------------------------------------*/ | 
 
 
 
 
 | 2280 |  | 
 
 
 
 
 | 2281 | SWIGINTERN void | 
 
 
 
 
 | 2282 | SWIG_Python_FixMethods(PyMethodDef *methods, | 
 
 
 
 
 | 2283 | swig_const_info *const_table, | 
 
 
 
 
 | 2284 | swig_type_info **types, | 
 
 
 
 
 | 2285 | swig_type_info **types_initial) { | 
 
 
 
 
 | 2286 | size_t i; | 
 
 
 
 
 | 2287 | for (i = 0; methods[i].ml_name; ++i) { | 
 
 
 
 
 | 2288 | char *c = methods[i].ml_doc; | 
 
 
 
 
 | 2289 | if (c && (c = strstr(c, "swig_ptr: "))) { | 
 
 
 
 
 | 2290 | int j; | 
 
 
 
 
 | 2291 | swig_const_info *ci = 0; | 
 
 
 
 
 | 2292 | char *name = c + 10; | 
 
 
 
 
 | 2293 | for (j = 0; const_table[j].type; ++j) { | 
 
 
 
 
 | 2294 | if (strncmp(const_table[j].name, name, | 
 
 
 
 
 | 2295 | strlen(const_table[j].name)) == 0) { | 
 
 
 
 
 | 2296 | ci = &(const_table[j]); | 
 
 
 
 
 | 2297 | break; | 
 
 
 
 
 | 2298 | } | 
 
 
 
 
 | 2299 | } | 
 
 
 
 
 | 2300 | if (ci) { | 
 
 
 
 
 | 2301 | size_t shift = (ci->ptype) - types; | 
 
 
 
 
 | 2302 | swig_type_info *ty = types_initial[shift]; | 
 
 
 
 
 | 2303 | size_t ldoc = (c - methods[i].ml_doc); | 
 
 
 
 
 | 2304 | size_t lptr = strlen(ty->name)+2*sizeof(void*)+2; | 
 
 
 
 
 | 2305 | char *ndoc = (char*)malloc(ldoc + lptr + 10); | 
 
 
 
 
 | 2306 | if (ndoc) { | 
 
 
 
 
 | 2307 | char *buff = ndoc; | 
 
 
 
 
 | 2308 | void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0; | 
 
 
 
 
 | 2309 | if (ptr) { | 
 
 
 
 
 | 2310 | strncpy(buff, methods[i].ml_doc, ldoc); | 
 
 
 
 
 | 2311 | buff += ldoc; | 
 
 
 
 
 | 2312 | strncpy(buff, "swig_ptr: ", 10); | 
 
 
 
 
 | 2313 | buff += 10; | 
 
 
 
 
 | 2314 | SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); | 
 
 
 
 
 | 2315 | methods[i].ml_doc = ndoc; | 
 
 
 
 
 | 2316 | } | 
 
 
 
 
 | 2317 | } | 
 
 
 
 
 | 2318 | } | 
 
 
 
 
 | 2319 | } | 
 
 
 
 
 | 2320 | } | 
 
 
 
 
 | 2321 | } | 
 
 
 
 
 | 2322 |  | 
 
 
 
 
 | 2323 | /* -----------------------------------------------------------------------------* | 
 
 
 
 
 | 2324 | *  Initialize type list | 
 
 
 
 
 | 2325 | * -----------------------------------------------------------------------------*/ | 
 
 
 
 
 | 2326 |  | 
 
 
 
 
 | 2327 | #if PY_MAJOR_VERSION < 2 | 
 
 
 
 
 | 2328 | /* PyModule_AddObject function was introduced in Python 2.0.  The following function | 
 
 
 
 
 | 2329 | is copied out of Python/modsupport.c in python version 2.3.4 */ | 
 
 
 
 
 | 2330 | SWIGINTERN int | 
 
 
 
 
 | 2331 | PyModule_AddObject(PyObject *m, char *name, PyObject *o) | 
 
 
 
 
 | 2332 | { | 
 
 
 
 
 | 2333 | PyObject *dict; | 
 
 
 
 
 | 2334 | if (!PyModule_Check(m)) { | 
 
 
 
 
 | 2335 | PyErr_SetString(PyExc_TypeError, | 
 
 
 
 
 | 2336 | "PyModule_AddObject() needs module as first arg"); | 
 
 
 
 
 | 2337 | return -1; | 
 
 
 
 
 | 2338 | } | 
 
 
 
 
 | 2339 | if (!o) { | 
 
 
 
 
 | 2340 | PyErr_SetString(PyExc_TypeError, | 
 
 
 
 
 | 2341 | "PyModule_AddObject() needs non-NULL value"); | 
 
 
 
 
 | 2342 | return -1; | 
 
 
 
 
 | 2343 | } | 
 
 
 
 
 | 2344 |  | 
 
 
 
 
 | 2345 | dict = PyModule_GetDict(m); | 
 
 
 
 
 | 2346 | if (dict == NULL) { | 
 
 
 
 
 | 2347 | /* Internal error -- modules must have a dict! */ | 
 
 
 
 
 | 2348 | PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__", | 
 
 
 
 
 | 2349 | PyModule_GetName(m)); | 
 
 
 
 
 | 2350 | return -1; | 
 
 
 
 
 | 2351 | } | 
 
 
 
 
 | 2352 | if (PyDict_SetItemString(dict, name, o)) | 
 
 
 
 
 | 2353 | return -1; | 
 
 
 
 
 | 2354 | Py_DECREF(o); | 
 
 
 
 
 | 2355 | return 0; | 
 
 
 
 
 | 2356 | } | 
 
 
 
 
 | 2357 | #endif | 
 
 
 
 
 | 2358 |  | 
 
 
 
 
 | 2359 | #ifdef __cplusplus | 
 
 
 
 
 | 2360 | } | 
 
 
 
 
 | 2361 | #endif | 
 
 
 
 
 | 2362 |  | 
 
 
 
 
 | 2363 | /* -----------------------------------------------------------------------------* | 
 
 
 
 
 | 2364 | *  Partial Init method | 
 
 
 
 
 | 2365 | * -----------------------------------------------------------------------------*/ | 
 
 
 
 
 | 2366 |  | 
 
 
 
 
 | 2367 | #ifdef __cplusplus | 
 
 
 
 
 | 2368 | extern "C" | 
 
 
 
 
 | 2369 | #endif | 
 
 
 
 
 | 2370 | SWIGEXPORT void SWIG_init(void) { | 
 
 
 
 
 | 2371 | static PyObject *SWIG_globals = 0; | 
 
 
 
 
 | 2372 | PyObject *m, *d; | 
 
 
 
 
 | 2373 | if (!SWIG_globals) SWIG_globals = SWIG_newvarlink(); | 
 
 
 
 
 | 2374 |  | 
 
 
 
 
 | 2375 | /* Fix SwigMethods to carry the callback ptrs when needed */ | 
 
 
 
 
 | 2376 | SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial); | 
 
 
 
 
 | 2377 |  | 
 
 
 
 
 | 2378 | m = Py_InitModule((char *) SWIG_name, SwigMethods); | 
 
 
 
 
 | 2379 | d = PyModule_GetDict(m); | 
 
 
 
 
 | 2380 |  | 
 
 
 
 
 | 2381 | SWIG_InitializeModule(0); | 
 
 
 
 
 | 2382 | SWIG_InstallConstants(d,swig_const_table); | 
 
 
 
 
 | 2383 |  | 
 
 
 
 
 | 2384 | { | 
 
 
 
 
 | 2385 | PyDict_SetItemString(d,"XD3_SEC_DJW", SWIG_From_int((int)(XD3_SEC_DJW))); | 
 
 
 
 
 | 2386 | } | 
 
 
 
 
 | 2387 | { | 
 
 
 
 
 | 2388 | PyDict_SetItemString(d,"XD3_SEC_FGK", SWIG_From_int((int)(XD3_SEC_FGK))); | 
 
 
 
 
 | 2389 | } | 
 
 
 
 
 | 2390 | { | 
 
 
 
 
 | 2391 | PyDict_SetItemString(d,"XD3_SEC_NODATA", SWIG_From_int((int)(XD3_SEC_NODATA))); | 
 
 
 
 
 | 2392 | } | 
 
 
 
 
 | 2393 | { | 
 
 
 
 
 | 2394 | PyDict_SetItemString(d,"XD3_SEC_NOINST", SWIG_From_int((int)(XD3_SEC_NOINST))); | 
 
 
 
 
 | 2395 | } | 
 
 
 
 
 | 2396 | { | 
 
 
 
 
 | 2397 | PyDict_SetItemString(d,"XD3_SEC_NOADDR", SWIG_From_int((int)(XD3_SEC_NOADDR))); | 
 
 
 
 
 | 2398 | } | 
 
 
 
 
 | 2399 | { | 
 
 
 
 
 | 2400 | PyDict_SetItemString(d,"XD3_ADLER32", SWIG_From_int((int)(XD3_ADLER32))); | 
 
 
 
 
 | 2401 | } | 
 
 
 
 
 | 2402 | { | 
 
 
 
 
 | 2403 | PyDict_SetItemString(d,"XD3_ADLER32_NOVER", SWIG_From_int((int)(XD3_ADLER32_NOVER))); | 
 
 
 
 
 | 2404 | } | 
 
 
 
 
 | 2405 | { | 
 
 
 
 
 | 2406 | PyDict_SetItemString(d,"XD3_ALT_CODE_TABLE", SWIG_From_int((int)(XD3_ALT_CODE_TABLE))); | 
 
 
 
 
 | 2407 | } | 
 
 
 
 
 | 2408 | { | 
 
 
 
 
 | 2409 | PyDict_SetItemString(d,"XD3_NOCOMPRESS", SWIG_From_int((int)(XD3_NOCOMPRESS))); | 
 
 
 
 
 | 2410 | } | 
 
 
 
 
 | 2411 | { | 
 
 
 
 
 | 2412 | PyDict_SetItemString(d,"XD3_BEGREEDY", SWIG_From_int((int)(XD3_BEGREEDY))); | 
 
 
 
 
 | 2413 | } | 
 
 
 
 
 | 2414 | { | 
 
 
 
 
 | 2415 | PyDict_SetItemString(d,"XD3_COMPLEVEL_SHIFT", SWIG_From_int((int)(XD3_COMPLEVEL_SHIFT))); | 
 
 
 
 
 | 2416 | } | 
 
 
 
 
 | 2417 | { | 
 
 
 
 
 | 2418 | PyDict_SetItemString(d,"XD3_COMPLEVEL_MASK", SWIG_From_int((int)(XD3_COMPLEVEL_MASK))); | 
 
 
 
 
 | 2419 | } | 
 
 
 
 
 | 2420 | { | 
 
 
 
 
 | 2421 | PyDict_SetItemString(d,"XD3_COMPLEVEL_1", SWIG_From_int((int)(XD3_COMPLEVEL_1))); | 
 
 
 
 
 | 2422 | } | 
 
 
 
 
 | 2423 | { | 
 
 
 
 
 | 2424 | PyDict_SetItemString(d,"XD3_COMPLEVEL_3", SWIG_From_int((int)(XD3_COMPLEVEL_3))); | 
 
 
 
 
 | 2425 | } | 
 
 
 
 
 | 2426 | { | 
 
 
 
 
 | 2427 | PyDict_SetItemString(d,"XD3_COMPLEVEL_6", SWIG_From_int((int)(XD3_COMPLEVEL_6))); | 
 
 
 
 
 | 2428 | } | 
 
 
 
 
 | 2429 | { | 
 
 
 
 
 | 2430 | PyDict_SetItemString(d,"XD3_COMPLEVEL_9", SWIG_From_int((int)(XD3_COMPLEVEL_9))); | 
 
 
 
 
 | 2431 | } | 
 
 
 
 
 | 2432 | } | 
 
 
 
 
 | 2433 |  |