[ Home Page ]
[ Eiffel Archive ]
[ Eiffel Classes and Clusters]
 |
ORBit-Eiffel: An Eiffel Language Binding for ORBit
|
Written by Brian Wallis.
Version 0.2.1
- SmallEiffel 0.77.1(beta) or 0.78
- 08 August 1999.
- GNU GENERAL PUBLIC LICENSE.
ORBit-Eiffel-0_2_1.tar.gz (187,000 bytes) - source code
bwallis@acm.org Brian Wallis (maintainer) mail address.
Introduction
Contained herein is an adaption of the ORBit idl compiler to generate
Eiffel classes plus some partially implemented ORB classes in Eiffel.
The Corba language binding used is from the document "An Eiffel Language
Mapping for CORBA IDL" version 1.1 dated 29th March 1998. An online copy
might still be found at
http://www.melvaig.co.uk/icl/IDLtoEiffel.html.
This mapping was proposed to the OMG for inclusion in the Corba standards
but was not accepted at the time, the proposal seems to have stagnated
since.
There is enough implemented to build and run a simple client in
Eiffel. (see directories test and examples)
There has been little testing, this is really *really* alpha stuff. I build
and run on a pretty stock standard Redhat 6.0 i386 Linux system
Requirements
- Kernel - 2.2.5
- glibc- 2.1.1
- SmallEiffel 0.77.1(beta) or 0.78
- glib - 1.2.1
- gtk - 1.2.1 (if used)
- eGTK - 0.3.2 (if used)
- ORBit - from the cvs repository (see
http://www.labs.redhat.com/orbit/)
Reason being that the module loading code was not quite right until recently (may
be correct in latest ORBit release). Second, running a
backend with out installing the backend library is not
currently supported in orbit-idl (you can just do a "make
install" in the src directory to get around this)
See the TODO file for some idea of what is missing, in particular nothing
is implemented yet to do CORBA servers.
Todo (as of 0.2.1)
- implement other types in structs, unions and exceptions (currently only
basic types and strings are allowed)
- Fill out the features for the CORBA_OBJECT, CORBA_ORB, and all the other
CORBA_... objects. Currently it is very sparsely implemented.
- Do server side stuff. Not sure exactly what I need to do here yet, I
suspect it is not too large a job. Need the compiler to generate
skeletons and need access to conversion functions where necessary to
convert the structs and the like. Need to register object implementations
and de-mux incoming invocations from the C function/object to the Eiffel
object/feature.
- Fix up and extend regression tests. Need to get them to run when "make
test" is used and to automatically check the results of the tests.
- Add some useful examples, A nameservice browser and a trading service
browser using eGTK comes to mind...
Changes last Release to Release 0.2.1
Changes from last release. (see ChangeLog for more detail)
- Code and directories rearranged
- use of automake and configure added (this was copied from ORBit and
hacked up to make it sort of work. If anyone experienced with automake
could look this over and suggest how I might do the
ORBit/SmallEiffel/etc.. detection better I'd be grateful. I'd really like
to check the versions of these as well as their presence)
- Sequence and Arrays are implemented and tested (at least for simple types
and strings.
- Test cases added in the test directory. Tests for simple types and
strings as well as sequences of simple types and strings.
- Examples added including one using eGTK the eiffel version of the gtk
toolkit (see the examples directory)
Acknowledgements
- The ORBit team for providing a very usable and small ORB
- http://www.labs.redhat.com/orbit/
- The SmallEiffel team for providing the eiffel compiler.
- Trevor Nash, Robert Howard and Bertrand Meyer for the Eiffel to CORBA
mapping definition. It may not be accepted yet, but without it I'd
have nothing to work from.
Brian Wallis: bwallis@acm.org
Homepage: http://www.alphalink.com.au/~tabbycat/ORBit-Eiffel/
8th August 1999 (Added to Eiffel Forum Archive: 23 December 1999)
[ Home Page ]
[ Eiffel Archive ]
[ Eiffel Classes and Clusters]