Panda3D
|
00001 // Filename: dtool_super_base.cxx 00002 // Created by: drose (04Jul05) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 #include "py_panda.h" 00016 00017 #ifdef HAVE_PYTHON 00018 00019 class EmptyClass 00020 { 00021 }; 00022 Define_Module_Class_Private(dtoolconfig,DTOOL_SUPPER_BASE,EmptyClass,DTOOL_SUPPER_BASE111); 00023 00024 static PyObject * GetSupperBase(PyObject * self) 00025 { 00026 Py_INCREF(&(Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject())); // order is important .. this is used for static functions 00027 return (PyObject *)&Dtool_DTOOL_SUPPER_BASE; 00028 }; 00029 00030 00031 PyMethodDef Dtool_Methods_DTOOL_SUPPER_BASE[]= { 00032 { "DtoolGetSupperBase",(PyCFunction ) &GetSupperBase, METH_NOARGS,"Will Return SUPPERbase Class"}, 00033 { NULL, NULL } 00034 }; 00035 00036 static long DTool_HashKey_Methods_DTOOL_SUPPER_BASE(PyObject * self) 00037 { 00038 void * local_this =DTOOL_Call_GetPointerThis(self); 00039 if(local_this == NULL) 00040 { 00041 return -1; 00042 }; 00043 return (long)local_this; 00044 }; 00045 00046 00047 inline void Dtool_PyModuleClassInit_DTOOL_SUPPER_BASE(PyObject *module) 00048 { 00049 static bool initdone = false; 00050 if(!initdone) 00051 { 00052 00053 initdone = true; 00054 Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject().tp_dict = PyDict_New(); 00055 PyDict_SetItemString(Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject().tp_dict,"DtoolClassDict",Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject().tp_dict); 00056 00057 // __hash__ 00058 Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject().tp_hash = &DTool_HashKey_Methods_DTOOL_SUPPER_BASE; 00059 Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject().tp_compare = &DTOOL_PyObject_Compare; 00060 00061 if(PyType_Ready(&Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject()) < 0) 00062 { 00063 PyErr_SetString(PyExc_TypeError, "PyType_Ready(Dtool_DTOOL_SUPPER_BASE)"); 00064 return; 00065 } 00066 Py_INCREF(&Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject()); 00067 00068 PyDict_SetItemString(Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject().tp_dict,"DtoolGetSupperBase",PyCFunction_New(&Dtool_Methods_DTOOL_SUPPER_BASE[0],&Dtool_DTOOL_SUPPER_BASE.As_PyObject())); 00069 00070 } 00071 00072 if(module != NULL) 00073 { 00074 Py_INCREF(&Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject()); 00075 PyModule_AddObject(module, "DTOOL_SUPPER_BASE",(PyObject *)&Dtool_DTOOL_SUPPER_BASE.As_PyTypeObject()); 00076 } 00077 } 00078 00079 inline void * Dtool_DowncastInterface_DTOOL_SUPPER_BASE(void *from_this, Dtool_PyTypedObject *from_type) 00080 { 00081 return (void *) NULL; 00082 } 00083 00084 inline void * Dtool_UpcastInterface_DTOOL_SUPPER_BASE(PyObject *self, Dtool_PyTypedObject *requested_type) 00085 { 00086 return NULL; 00087 } 00088 00089 int Dtool_Init_DTOOL_SUPPER_BASE(PyObject *self, PyObject *args, PyObject *kwds) 00090 { 00091 PyErr_SetString(PyExc_TypeError, "Error Can Not Init SUPPER BASE"); 00092 return -1; 00093 } 00094 00095 #endif // HAVE_PYTHON