CORBA::ORBit 0.4.3
CORBA::ORBit is a Perl binding for ORBit. It is based on code from my earlier module CORBA::MICO, which was a binding for MICO.
Status
Most things work in this release. You can write clients and servers using a large fraction of the ORBit types. Some things don't - WChar and WString types are not yet implemented; and the POA implementation is not complete.
The interface-repository interface needs some work. First, the ORBit interface repository needs to be finished.
Finally, it would be nice to be able to do same-address-space communication with a C ORBit interface. To do this requires some trickery and rewriting in ORBit so that you can marshal to a buffer then demarshal in the same process.
Installation
To compile and run this package, you'll need to have ORBit, version 0.5.0 or better installed. (CORBA::ORBit triggers bug in the support for typecodes in earlier versions of orbit.) Information about ORBit is available from:
http://www.labs.redhat.com/orbit/
The latest version of ORBit is available from:
ftp://ftp.gnome.org/pub/GNOME/sources/ORBit/
RPM's for redhat 6.0 and 6.1 are available from:
ftp://ftp.gnome.org/pub/GNOME/gnome-1.0.53/redhat/
You'll also need Graham Barr's Error module - available from CPAN in the directory:
http://www.perl.com/CPAN/authors/id/GBARR/
And a reasonable recent version of Perl. (This has been tested with perl5.004_04, and perl5.005_03. perl5.005_02 had a problem where uncaught exceptions didn't get properly stringified.)
Once you have ORBit installed, to build this package, simply type:
perl Makefile.PL
make
The package then can be installed by executing the command:
make install
Trying it Out
Run the Perl server program in the background:
perl -Mblib server &
And then run the client program:
perl -Mblib client
You should see output that looks something like:
Using /home/otaylor/work/orbit-perl/blib Oops. I don't have that much money
(I need +99083.35 more)
Balance is +916.65
Favorite color is chartreuse
Lottery numbers are 1 2 3 4
Nickname is Grumpy
/****\
; ;
[ O O ]
l \ l
; -- ;
;;;;
Favorite color is now chartreuse
As an any: favorite color is now chartreuse
As an any: nickname is now Grumpy
2 * 1,000,000,000,0000 pennies = 20000000000000 pennies
Withdrawing $100,000
1 2 3 4 5 6 7 8 9 10
Caught Exception: CORBA::OBJECT_NOT_EXIST ('IDL:omg.org/CORBA/OBJECT_NOT_EXIST:1.0')
(0, COMPLETED_NO)
Non-existent object, delete reference
, while counting with a destroyed counter
Successful completion
Trying the GTK Demo
To use this demo you must have GTK installed on your system and the Kenneth Albanowski's Gtk module for perl (version 0.5 or later). Both are available from ftp://ftp.gimp.org/pub/gtk
Run two copies of the 'tictactoe' program
perl -Mblib tictactoe &
perl -Mblib tictactoe &
Documentation
General information about a mapping of CORBA onto Perl is in the available in the file 'ORBit/mapping.pod'. This POD document can be viewed on the screen using the 'perldoc' program:
perldoc ORBit/mapping.pod
or converted to a variety of formats, for example:
pod2html ORBit/mapping.pod > ORBit/mapping.html
They will also be installed as manual pages.
The HTML form can also be found at:
http://people.redhat.com/otaylor/corba/mapping.html
License
This work is Copyright Owen Taylor, 1998-1999, and licensed under the terms of the GNU Library General Public License (LGPL) See the included file LICENSE-LGPL for details.
The contents of the file constsub.c are from the Perl distribution and licensed accordingly.
