On 7/2/07, varun_shrivastava <[EMAIL PROTECTED]> wrote:

hi Felix

  i mean to say, i have a class which registers certain signals using
g_signal_new
and i have to use g_signal_connect to register a callback function.

Now i am generating python bindings for this class, but  i m not sure about
how to register callback functions that will be written in python.

should i provide a wrapper function which will take python object as
argument and will
internally register a dummy signal callback function using g_signal_connect.
this dummy function will than provide a mechanism to call python code from C
code.

ie to say
from python i will call a function as

defs p:
...
...

demo.register_callback(p)

this will call wrapper function register_callback which looks like

static PyObject *
_wrap_register_callback(........)
{
        .......
        PyArg_ParseTuple(); //----> conversion from python to C

       g_signal_connect(..,..,GCALLBACK(dummy),....)

     .....
}


and in dummy function i will write the code to call python function "p"

will this be OK or is there any other method



Maybe you can send the pointer to the python callback as user_data,
wich will be recieved by the C callback, without need of that dummy
variable.

--
Lauro Moura ("lmoura" on Freenode)
http://lauro.wordpress.com
_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to