Torb: an interface between Tcl and CORBA

This an ALPHA release of the software, viz. demonstration of concept and not advised for use in a real project. There are known to be many omissions; interfaces are almost guaranteed to change between versions; there's very little documentation, and what there is may be wrong.

All I can say is it worked for two trivial examples on my machine (GNU/linux-i386).

Intro

The idea is to allow you to invoke CORBA operations from within a Tcl environment. I'm assuming you have some familiarity with CORBA here.

For example, look at echo.idl from the ORBit source distribution:

// IDL
interface Echo {
	Echo echoString(in string astring, out long anum);
};

Suppose you've started the echo-server and got its IOR. Then in Tcl you can do:

% load torb.so Torb
%
% set ior IOR:01f2ffbf13000...
% # Initialise the ORB
% torb init
% 
% # Convert the IOR to an object reference
% set echo [torb string_to_object $ior]
torb_obj1
%
% # Note torb_obj1 is the object reference within Tcl.  It's also been
% # defined as a command, though currently the only marginally useful
% # thing you can do with the command at the moment is:
% $echo _hash 1000000
294819
%
% # That was exciting wasn't it?
% # Right, let's do the echoString call using the DII interface.
% # We tell it the types of in and out arguments, i.e. one string
% # input, outputs are an Object and a long.
% torb dii $echo echoString {0} {O l} "wibble"
torb_obj2 65
%
% # Note it's returned a list: first element is another object
% # reference, second is a long value.

Requirements

tcl 8.0 or later
ORBit (I have 0.4.3)
C compiler (I have gcc)

Download

The source is GPL'ed and available here.
Version 0.1 (7 June 1999)
Gzipped tarfile torb-0.1.tar.gz (27K)
torb@pythontech.co.uk