On Mon, 2004-07-12 at 19:49 -0700, Nagappan wrote:
> Hi all,
>     I'm new to PyGTK / Perl-GTK / Java-GTK and also to GTK+. I'm doing
> an initial study, to write a generic test automation tool, which will
> completely test the GNOME based applications.
> 
> I have written a GTK module in C (gtk_module_init). PyGTK, PerlGTK,
> JavaGTK, GuileGTK, TCL-GTK are already available. What I thought is, why
> can't we integrate the different languages like Python, Perl, Java into
> our module (Which I have already written it). So that people who knows
> Python / Perl / Java can write an external plug-in. Which will be called
> at run-time. This may be integrated by using signals (This is only my
> assumption). 
> 
> Steps that I have assumed:
> Create new signal inside C module, then emit the signal when required.
> The Python / Perl / Java application can connect to the signal and
> register a call back. By, the way I also need to pass GObject type to
> the call back, which has been passed actually from C module.
> 
> Will my assumption work ? First of all my assumption is correct ? Is
> there anyway to achieve this goal  (Maybe using some IPC mechanism) ?
> 

You would have to write glue code between C and the scripting languages.
Most of that is already done but since GObjects are not fully
introspective you will have to pass data using known base object or
create an interface that you can speak to your test modules with.  The
other option is to use DBus or Corba to do IPC and use their data types
to pass info.  DBus seems perfect for this however there are currently
no Perl bindings that I know of and I think the Java bindings are a bit
under maintained.  Corba is implemented for many different languages but
is harder to use.

-- 
John (J5) Palmieri
Associate Software Engineer
Desktop Group
Red Hat, Inc.
Blog: http://martianrock.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