CORBA::MICO-0.6.0
=================
Perl Interface to MICO (Mico Is COrba) version 0.6.0
Status
======
Basic client and server functionality is currently working.
Quite a few things are left to be done. A few of them are:
- wchar and wstring types
None of these are particularly hard to do given what works
now - they just haven't been done yet.
Documentation
=============
General information about a mapping of CORBA onto Perl is in
the available in the file 'MICO/mapping.pod' while specifics
about MICO are in 'MICO.pm'. Information about the internals
of the module is in 'MICO/internals.pod' These POD documents
can be viewed on the screen using the 'perldoc' program:
perldoc MICO/mapping.pod
or converted to a variety of formats, for example:
pod2html MICO/mapping.pod > MICO/mapping.html
They will also be installed as manual pages.
The file MICO/internals.ps is a diagram that may be useful
for figuring out MICO/internals.pod.
Installation
============
To compile and run this package, you'll need to have MICO v2.2.7
or better installed. Information about MICO is availaible from:
http://diamant-atm.vsb.cs.uni-frankfurt.de/~mico/
IMPORTANT NOTE:
mico-2.2.7 has a bug in the handling of extraction
from Anys. To get CORBA::MICO to work with mico-2.2.7 you
must apply the patch mico-2.2.7-checker.patch
included in this distribution.
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.)
For the demo programs you'll may want the Data::Dumper
module from CPAN:
http://www.perl.com/CPAN/modules/by-module/Data
Once you have MICO 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
=============
To start the interface repository, load in the Account.idl
interface file, and create an appropriate .micorc, run
the script
./start-servers.sh
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 /usr/home/owen/tmp/CORBA-MICO-0.4.8/blib
Balance is +500.00
Favorite color is taupe
Lottery numbers are 21 63 83 96
Nickname is Dopey
/****\
; ;
[ 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
Oops. I don't have that much money
(I need +99500.00 more)
created counter!
1 2 3 4 5 6 7 8 9 10
destroyed counter!
created 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
Then, start up the servers with
./start-servers.sh
and run two copies of the 'tictactoe' program
perl -Mblib tictactoe &
perl -Mblib tictactoe &
Trying the micod example
------------------------
[ This demo is not currently working with the new POA-ized
code ]
Warning: I had major problems trying to get this to work using
egcs-1.0.2 and mico-2.0.5. The micod daemon core-dumped
until I recompiled it as static. This seems to have gone away
with mico-2.0.6.
./start-servers.sh
perl -Mblib client-activate
The client will automatically start up the server (as registered
in 'start-servers.sh'). Halfway through the server process,
it writes its state to disk and exits. Then is automatically
restarted, and restored from disk by micod.
--------------
Balance is +250.00
Favorite color is taupe
Lottery numbers are 21 63 83 96
Nickname is Dopey
Closing server...
Trying to reactivate...
Favorite color is now chartreuse
As an any: favorite color is now chartreuse
As an any: nickname is now Grumpy
Withdrawing $100,000
Oops. I don't have that much money
(I need +99750.00 more)
1 2 3 4 5 6 7 8 9 10
Successful completion
---------------
Trying the shlib example
------------------------
cd shlib
./hello
Note on the start-servers.sh
============================
In actual operation, you probably wouldn't want to keep killing
and restarting the servers (ird and micod) as this script does.
But doing so when testing things out makes it a lot easier
to make sure that the current test isn't being affected by
previous test failures.
=================
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.