[omniORB] Omniidl backends

Pfeiffer Daniel Daniel.Pfeiffer@Start.de
Fri Sep 20 17:14:01 2002


On Sun, 15 Sep 2002 18:52:03 -0400, "Karl Waclawek" <karl@waclawek.net>
wrote:
> Duncan wrote:
>> Karl wrote:
>> > How can the Dlls, like for instance OmniOrb400_rt.dll,
>> > be accessed. Only from C++? Or do they have a C-style interface.
>> > That might make it possible to access them from other
>> > languages without writing an extra binding in C++.

>> I recommend you look at omniORBpy, which is the version of omniORB for
>> Python. It does exactly what you are suggesting -- it has a back-end
>> for omniidl that outputs Python code, and a module written in C++ that
>> provides a Python interface to the facilities of the C++ ORB library.
>> As you'll see, there's quite a lot to it.

I'd also looked at it (version 3.0.4) for generating wrappers for a
proprietary mainframe language.  I was quite disheartened at the complexity.
I wonder if this could't have been done in a simpler fashion.  But I didn't
spend too much thought on it as yet.

>> What language are you wanting to use?

> Delphi/Object Pascal.
> ...

> A second approach might work if *everything*
> in the OmniORB Dlls was exposed as abstract (pure virtual)
> classes. Since the VMT layout of most C++ compilers
> for such classes (at least on Windows) is pretty much
> identical (for reasons of COM compatibility), that
> would again have been a possibility, because Delphi
> can access such VMTs (but it's not really easy to do).

Bear in mind that Delphi is also available for Linux (already in Version 3).
So making a windows-specific solution would be a hack.

best regards
Daniel