[omniORB] Python/C++ bridge

Renzo Tomaselli renzo.tomaselli@tecnotp.it
Thu, 11 May 2000 16:26:40 +0200


Hi,
    being not a Python expert, I'm trying to integrate some Python
client-side code with an existing C++ architecture based on OmniORB 2.8.
This is primarily for writing quick and small test procedures, while
implementation side is always plain C++, already developed and working.
I have a boot point which is a CORBA service dynamic loader exporting a
single entry point returning a Loader_ptr instance (something like
Loader_ptr TheLoader(int argc, char **argv)); from this point on all is
normal CORBA coding, since the loader itself owns an IDL module. Once a
client achieves this ptr, it can load other services (dll/shlibs) and
proceed with other interfaces.
The question is: how can I wrap this boot point so that the Python part of
the client can achieve a loader-equivalent Python object and proceed ? This
issue should be much the same as achieving the root naming context object,
but in that case the ORB itself does the trick. I would much prefer to wrap
the existing C++ implementation of this loader, instead of writing a new
implementation in Phyton. There is also a linking reason: the loader is an
implicitely linked dll/shlib while all other modules can be loaded/unloaded
on demand. Furthermore it provides a safe place where all implementation
threads can die, thus avoiding termination races with dll unloading. And it
starts/stops ORB and BOA as well.
Thanks for any suggestion or example,

                                             Renzo Tomaselli
---------------------------------------------------------------------------
TecnoTP s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi Valsugana,  Trento TN  ITALY
Tel. +39 0461 773164      Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it
---------------------------------------------------------------------------