Simple question: How to pass a C++ class reference to a callback?

Harri Pesonen Harri.Pesonen at wicom.com
Tue Sep 2 08:23:11 EDT 2003


How do I pass the calling C++ class reference (or anything) to a callback?
My code is:

static PyObject*
emb_Set(PyObject *self, PyObject *args)
{
    char *key, *value;
    if(!PyArg_ParseTuple(args, "ss", &key, &value))
        return NULL;
    // do something with the C++ class here
    // how the get the class instance pointer?
    Py_INCREF(Py_None);
    return Py_None;
}

static PyMethodDef EmbMethods[] = {
    {"Set", emb_Set, METH_VARARGS, "Sets the given variable."},
    {NULL, NULL, 0, NULL}
};

in C++ class:

    Py_Initialize();
    Py_InitModule("test", EmbMethods);
    PyRun_SimpleString(script);
    Py_Finalize();

Harri




More information about the Python-list mailing list