| 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 |
|