Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   SWIG -- Passing python proxy class instance to python callback (http://www.velocityreviews.com/forums/t344454-swig-passing-python-proxy-class-instance-to-python-callback.html)

Jeff 05-02-2005 02:55 PM

SWIG -- Passing python proxy class instance to python callback
 
I'm trying to pass a proxy class instance (SWIG generated) of CClass,
to a python callback function from C++. The proxy class instance of
CClass is created from a pointer to the C++ class CClass.

Using the code below, I receive the error message:

"AttributeError: 'PySwigObject' object has no attribute 'GetName'"


The python callback function is being passed in through the clientdata
pointer, and the CClass *class pointer is what's being converted to an
instance of the SWIG proxy class and passed to the python callback
function as an argument.

static void PythonCallBack(CClass *class,void *clientdata)
{
PyObject *func, *arglist,*obj;
PyObject *result;

func = (PyObject *) clientdata; // Get Python function
obj = SWIG_NewPointerObj((void*) cmd, SWIGTYPE_p_CSCSICommand, 1);
//create instance of python proxy class from c++ pointer

arglist=Py_BuildValue("(O)",*obj); //convert to tuple
result = PyEval_CallObject(func,arglist); // Call Python

Py_XDECREF(result);
return;
}

Any input would greatly appreciated. Thanks,
Jeff



All times are GMT. The time now is 03:56 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.