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