The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
CORBA::MICO
===========

Perl Interface to MICO (Mico Is COrba).
CORBA Control Center, see subdirectory ccc for more information.


Status
======

Allmost all base 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
 - less frequently use ORB functions
 - ValueBase operations, Policy object and so on
 - IR object directly from ORB not from InterfaceRepository
 - ... :-)

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.3.5
or better installed. Information about MICO is availaible from:

   http://www.mico.org/

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.6.1, and perl5.005_03)

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:

----------
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 CORBA Control Center
===============================

After installation simple run:
ccc


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.


=================

URLs   : http://corba-mico.sourceforge.net
Authors: Owen Taylor (original author) and Nikolay Logvinov (current maintainer)
Contact: Nikolay Logvinov <logvinon@users.sourceforge.net>

=================

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.