|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
AidaObjectI | |
AidaObjectIOperations |
Class Summary | |
---|---|
_AidaObjectIStub | |
AidaObjectIHelper | |
AidaObjectIHolder | |
AidaObjectIPOA | |
AidaObjectRef | |
AidaObjectRefHelper | |
AidaObjectRefHolder |
Defines the abstract data types that define the callable interfaces of the peers in an Aida network (most importantly the Data Provider peers).
AidaObjectI
is the abstract interface which defines the API of
an Aida Data Provider. Specifically, each data provider is no more than an
implementation of an
AidaObjectI. Recall, in the Aida naming convention, the I sufix denotes
an interface, either implemented by CORBA (as in this case), or a Java
"interface".
However, the mechanism in which this comes about is quite tricky:
AidaObjectI
is defined, using CORBA, as an IDL
interface in /idl/aidaObject.idl
. The output of the jidl compile of
that file, is used in two
ways:
makefileAida.sun4
to build a
given Data Provider, it runs
jidl on aidaObject.idl
. That idl file contains a
module
definition named "dp", and interface "aidaObjectI". jidl
creates the CORBA support files for the interface so defined, and the
template _impl file of a template data provider, calling it aidaObjectI_*
(constructing a template aidaObjectI_impl
in particular). The next
part of this build sequence, as implemented in the rules in the Makefile.sun4 of
Data Provider, is to literally sed
the output of jidl and change
all instances of aidaObjectI
to dataprovdiernameI
. See, for instance, /dp/dpCa/Makefile.sun4
. The "dp" is
changed to the given Data Provider's package name, and the interface to the
Data Provider's name (these two may be the same). The output of the jidl is left
in this directory (util.dp
), whereas the output from teh subsequent
sed is left in the Data Provider's package directory.
DaObject
and DaReference
,
through which DaServer or an application programs calls Data Providers,
actually understand each
peer through private member data defined as aidaObjectI
and
aidaObjectRef
. In this way, the DaServer and client programs can
call a Data Provider peer without actually having instantiated an instance
of the interface object for that Data Provider by name. For instance, they can
call methods of Data Provider dpCa
without having to construct a
an object of dpCaI
by just calling methods on an
aidaObjectI
.
AidaObjectRef
is used by the Aida API object
DaReference
, to hold the run-time information about the
Data Providers needed to satisfy a query. Specifically, it contains the
infomation relating to servers, such as IORs and necessary output ordering, for
the compiled query encapsulated in a
DaReference
.
lib/dp
itself.
|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |