CORBA::Object - The base class for all object references
use lib "$ENV{OPALORB_ROOT}";
use CORBA;
use CORBA::Exception;
my $status = 0;
try {
my $orb = CORBA::ORB_init(\@ARGV);
my $obj = $orb->string_to_object($ior);
my $req;
my $ret = new CORBA::NamedValue();
$obj->_create_request(undef, 'test', [], \$ret, \$req);
...
}
catch CORBA::Exception with {
my $ex = shift;
...
}
catch Error::Simple with {
my $ex = shift;
...
};
The CORBA::Object is the base class for all interfaces and provides a few interesting methods.
_id - Returns the repository id (IDL:omg.org/CORBA/Object:1.0) of
CORBA::Object.
_is_a - Takes a repository id as the only parameter and compares it to
the repository id of itself.
_is_equivalent - A simple minded equivalence test for object
references. It only compares the repository id's and the number of
profiles in each object reference.
_non_existent - Returns true if called on a narrowed object reference
and the remote invocation fails.
_repository_id - Returns the repository id of the object reference
which may be different from the repository id returned by _id.
_get_orb - Returns the ORB associated with this object reference.
_create_request - Provide the context reference (or undef), the
operation name string, the CORBA::NamedValue array reference,
the CORBA::NamedValue result reference, and the scalar reference in which
the new CORBA::Request object will be placed.