~ubuntu-branches/ubuntu/edgy/swig1.3/edgy

« back to all changes in this revision

Viewing changes to Lib/pike/pikerun.swg

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-12-05 01:16:04 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051205011604-ygx904it6413k3go
Tags: 1.3.27-1ubuntu1
Resynchronise with Debian again, for the new subversion packages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
/* Stores information about a wrapped object */
21
21
typedef struct swig_object_wrapper {
22
22
    void *self;
 
23
    swig_type_info *type;
23
24
} swig_object_wrapper;
24
25
 
25
26
#ifdef THIS
29
30
 
30
31
#define SWIG_ConvertPtr SWIG_Pike_ConvertPtr
31
32
#define SWIG_NewPointerObj SWIG_Pike_NewPointerObj
 
33
#define SWIG_GetModule(clientdata) SWIG_Pike_GetModule()
 
34
#define SWIG_SetModule(clientdata, pointer) SWIG_Pike_SetModule(pointer)
 
35
 
 
36
/* These need to be filled in before type sharing between modules will work */
 
37
static swig_module_info *SWIG_Pike_GetModule() {
 
38
  return 0;
 
39
}
 
40
 
 
41
static void SWIG_Pike_SetModule(swig_module_info *pointer) {
 
42
 
 
43
}
32
44
 
33
45
/* Convert a pointer value */
34
46
static int
35
47
SWIG_Pike_ConvertPtr(struct object *obj, void **ptr, swig_type_info *ty, int flags) {
36
 
    char *storage;
37
48
    struct program *pr;
 
49
    swig_cast_info *tc;
 
50
    swig_object_wrapper *obj_wrapper;
 
51
    
38
52
    if (ty) {
39
53
        pr = (struct program *) ty->clientdata;
40
 
        storage = get_storage(obj, pr);
41
 
        if (storage) {
42
 
            *ptr = ((swig_object_wrapper *) storage)->self;
43
 
            return 0;
 
54
        obj_wrapper = (swig_object_wrapper *) get_storage(obj, pr);
 
55
        if (obj_wrapper && obj_wrapper->type) {
 
56
            tc = SWIG_TypeCheckStruct(obj_wrapper->type, ty);
 
57
            if (tc) {
 
58
                *ptr = SWIG_TypeCast(tc, obj_wrapper->self);
 
59
                return 0;
 
60
            }
44
61
        }
45
62
    }
46
63
    return -1;