[prev in list] [next in list] [prev in thread] [next in thread]
List: gnome-components
Subject: Re: DII/DSI
From: Owen Taylor <otaylor () redhat ! com>
Date: 2000-03-14 16:05:42
[Download RAW message or body]
Jon K Hellan <hellan@acm.org> writes:
> Hi,
>
> Michael Meeks asked me to share this with the list:
>
> > Yes, the perl bindings are a quick hack. The 'right way'TM is to
> > use the DSI / DII interface but it is a lot more code. I see no point in
> > writing ORBit wrappers for python if the omniorb ones are already writte,
> > better and prolly use DII / DSI already :-)
Let me just quickly mention that rewriting the ORBit Perl bindings to
use DSI / DII would NOT be an improvement.
It would be slower, more code, and would offer no conceivable advantage
other than portability to a different C-based ORB (and their aren't
really any.)
Basically, the C binding for the DII/DSI is pretty painful - you
need to construct the C structures in memory. The process would look
like:
- ORBit-Perl walks the typecode and a translates the Perl data types
into C data types using non-portable knowledge of C structure alignment,
etc.
- ORBit walks the typecode and translates the C data types into wire
format, using non-portable knowledge of C structure alignment,
etc.
As compared to the way it works now which is:
- ORBit-Perl walks the typecode and a translates the Perl data types
into wire format.
Using the C++ DII/DSI is a bit cleaner, but is still doing the
double typecode walk internally.
(There are some things about the interface to marshalling/demarshalling
in ORBit which are less than perfectly clean, but that doesn't mean
that using DII/DSI is the right way to go.)
Regards,
Owen
--
FAQ: Frequently-Asked Questions at http://www.gnome.org/gnomefaq
To unsubscribe: mail gnome-components-list-request@gnome.org with
"unsubscribe" as the Subject.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic