...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.