CORBA::ORBit 0.4.5
==================

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/stable/sources/ORBit/

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/devel/orbit-perl/blib
Balance is +1099.98
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,000 pennies = 2,000,000,000,000 pennies
Withdrawing $100,000
Oops. I don't have that much money
    (I need +98900.02 more)
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.
