/***********************************************************************
* This file contains the runtime support for Pike modules
* and includes code for managing global variables and pointer
* Author : Lyle Johnson (lyle@users.sourceforge.net)
************************************************************************/
/* Stores information about a wrapped object */
typedef struct swig_object_wrapper {
#define THIS (((swig_object_wrapper *) Pike_fp->current_storage)->self)
#define SWIG_ConvertPtr SWIG_Pike_ConvertPtr
#define SWIG_NewPointerObj SWIG_Pike_NewPointerObj
#define SWIG_GetModule(clientdata) SWIG_Pike_GetModule()
#define SWIG_SetModule(clientdata, pointer) SWIG_Pike_SetModule(pointer)
/* These need to be filled in before type sharing between modules will work */
static swig_module_info *SWIG_Pike_GetModule() {
static void SWIG_Pike_SetModule(swig_module_info *pointer) {
/* Convert a pointer value */
SWIG_Pike_ConvertPtr(struct object *obj, void **ptr, swig_type_info *ty, int flags) {
swig_object_wrapper *obj_wrapper;
pr = (struct program *) ty->clientdata;
obj_wrapper = (swig_object_wrapper *) get_storage(obj, pr);
if (obj_wrapper && obj_wrapper->type) {
tc = SWIG_TypeCheckStruct(obj_wrapper->type, ty);
*ptr = SWIG_TypeCast(tc, obj_wrapper->self);
/* Create a new pointer object */
SWIG_Pike_NewPointerObj(void *ptr, swig_type_info *type, int own) {