All pastes #734011 Raw Edit

Anonymous

public c v1 · immutable
·published 2007-10-12 09:08 UTC
rendered paste body
#include "noddy.h"void Noddy_dealloc(NoddyObject* self){    self->ob_type->tp_free((PyObject*)self);}PyObject *Noddy_new(PyTypeObject *type, PyObject *args, PyObject *kwds){    NoddyObject *self;    self = (NoddyObject *)type->tp_alloc(type, 0);    return (PyObject *)self;}int Noddy_init(NoddyObject *self, PyObject *args, PyObject *kwds){    return 0;}PyObject *Noddy_testNoddy(NoddyObject *self, PyObject *args, PyObject *kwds){    int ok;    PyObject *object;    ok = PyArg_ParseTuple(args, "O!", &NoddyType, &object);    if (ok) {        ok = PyObject_TypeCheck(object, &NoddyType);        printf("object is NoddyType? %d\n", ok);    } else {        printf("This was not a noddy type\n");    }    Py_INCREF(Py_None);    return Py_None;}void Other_dealloc(OtherObject* self){    self->ob_type->tp_free((PyObject*) self);}PyObject *Other_new(PyTypeObject *type, PyObject *args, PyObject *kwds){    OtherObject *self;    self = (OtherObject *)type->tp_alloc(type, 0);    return (PyObject *)self;}int Other_init(OtherObject *self, PyObject *args, PyObject *kwds){    return 0;}PyMODINIT_FUNC initnoddy(void) {    PyObject* m;    if (PyType_Ready(&NoddyType) < 0)        return;    if (PyType_Ready(&OtherType) < 0)        return;    m = Py_InitModule3("noddy", module_methods,                       "Example module that creates an extension type.");    if (m == NULL)      return;    Py_INCREF(&NoddyType);    PyModule_AddObject(m, "Noddy", (PyObject *)&NoddyType);    Py_INCREF(&OtherType);    PyModule_AddObject(m, "Other", (PyObject *)&OtherType);}