The ORBLink ORB


The global special variable CORBA:ORB is always set to the singleton instance of the ORBLink ORB.

The ORBLink ORB is encapsulated in the pseudointerface:

  pseudo interface ORB : CORBA::ORB {
    Object _narrow(in Object obj, in Symbol class_name);
    void HandleJunctionError (in Junction j, in Condition c);
    void HandleJunctionClose (in Junction j);

    readonly attribute ServerJunctionList ServerJunctions;
    readonly attribute ClientJunctionList ClientJunctions;
    readonly attribute PassiveJunctionList PassiveJunctions;
    enum ServerJunctionErrorPolicyType {continue, debug, handle};
    attribute ServerJunctionErrorPolicyType ServerJunctionErrorPolicy;
    attribute boolean HandleJunctionClosePolicy;
 
    enum break_policy_type {return,break};
    attribute break_policy_type break_policy;
    enum thread_policy_type {singly_threaded, thread_per_request}
    enum verbose_level_type {low, high};
    attribute verbose_level_type verbose_level;
    attribute thread_policy_type thread_policy;
    attribute boolean tracing;
    attribute unsigned long port;
    attribute string  domain ;
    attribute string host;
    readonly attribute string version; 
 };

Most of these attributes and operations are defined in other sections, hyperlinked to their name.

The version attribute is bound to a string that denotes the current ORB.

Simply printing the value of corba:orb will give version, host, and other useful information.

Stringification

Note that the CORBA pseudo-interface itself defines certain functions on the ORB. By far the most important of these are object_to_string and string_to_object. See the section on naming for more information on these.