.Corba(.server, .methodName, ..., .wait=T, .deferred=character(1), .send=T)
.server
| CORBA object identifier (IOR or CORBA name) identifying the server whose method will be invoked. |
.methodName
| Name of the server's method to be invoked. |
...
| R arguments to the CORBA call, converted using the default converters. |
.wait
|
with .deferred, controls whether the call should
be blocking, one-way or deferred.
|
.deferred
| If specified, provides the name of a grouping in which one or more background requests will be stored. These can then be queried later. |
.send
|
if FALSE, the template request is stored
for dispatch in the future. Useful for constructing a collection
of calls when arguments are available and deferring their calls
until a future time.
|
.methodName identifies
The available methods can be dynamically discovered using
the function idlInterface.CorbaMethodEval. In this way, R arguments can become
CORBA servers. These function calls will take place in the calling frame
of the .Corba.
If any of the arguments are IDL `out' arguments, they can be omitted provided all of the other arguments are named with the same names as used in the IDL. A simple argument matching is performed.
If the call is performed as a background invocation and not one-way,
then the .deferred object identifies a table or list in which
the request will be stored. The functions getRequestStatus()
and getRequestValue can be used to poll the status of
the outstanding calls and obtain the result when it has finished.
.Corba calls.
If an exception occurs, this is
.CorbaServer,
idlInterface,
addCorbaConverter
# Assume there is a CORBA server with the name
# R/Server and that it has a plot method
# that takes a CORBA matrix.
server <- namedCorbaObject("R","Server")
# Assume that the default and registered converters
# will convert an R matrix to a CORBA matrix
.Corba(server,"plot", matrix(rnorm(3*100),100,3))