- ...code
- The stub code
is the C++ code that provides the object mapping as defined in the CORBA 2.0
specification.
- ...defined
- In omniORB2, all object
reference variable types are instantiated from the template type
_CORBA_ObjRef_Var.
- ...castings
- However, the implementation of the type conversion operator()
between Echo_var and Echo_ptr varies slightly among different C++
compilers, you may need to do an explicit casting when the compiler
complains about the conversion being ambiguous.
- ...Adaptor
- The interface of a BOA is described in chapter 8 of the
CORBA specification.
- ...)
- A conversion operator() of CORBA::String_var converts a
CORBA::String_var to a char*.
- ...string
- Please refer to the CORBA
specification 16.7 for the details of the String_var mapping. Other T_var
types are also covered in chapter 16.
- ...argument
- The 1st argument is a pointer to the
implementation definition and is always ignored by omniORB2.
- ...argument
- The CORBA specification does not specify
when impl_is_ready should return. Many ORB vendors choose to
implement impl_is_ready as blocking until a certain time-out value
is exceeded. In a single threaded implementation this is necessary to give
the ORB the time to serve incoming requests.
- ...reference
- Object references held by clients in other address
spaces will not prevent the object implementation from being disposed
of. If these clients invoke on the object after it is disposed, the system
exception INV_OBJREF is raised.
- ...space
- Notice that the
object key is not globally unique across address spaces.
- ...condition
- If a system
exception is not caught, the C++ runtime will call the terminate
function. This function is defaulted to abort the whole process and on some
system will cause a core file to be produced.
- ...RTTI
- Run Time
Type Identification
- ...RTTI
- A noticeable exception is the GNU C++
compiler (version 2.7.2). It doesn't support RTTI unless the
compilation flag -frtti is specified. The omniORB2 runtime is not compiled
with the -frtti flag. It is said that RTTI will be properly supported in
the upcoming version 2.8.
- ...Echo''
- A pathname, or in the Naming Service's
terminology- a compound name, is a sequence of textual names. Each
name component except the last one is bound to a naming context. A naming
context is analogous to a directory in a filing system, it can contain
names of object references or other naming contexts. The last name
component is bound to an object reference. Note: '/' is purely a notation
to separate two components in the pathname. It does not appear in the
compound name that is registered with the Naming Service.
- ...``omniORB''
- omniORB is a class name if the
C++ compiler does not support the namespace keyword.