Previous | Table of Contents | Next |
An interface declaration containing the keyword local in its header, declares a local interface. An interface declaration
not containing the keyword local is referred to as an unconstrained interface. An object implementing a local interfaces is
referred to as a local object. The following special rules apply to local interfaces:
• A local interface may inherit from other local or unconstrained interfaces.
• An unconstrained interface may not inherit from a local interface. An interface derived from a local interface must be explicitly declared local.
• A valuetype may support a local interface.
• Any IDL type, including an unconstrained interface, may appear as a parameter, attribute, return type, or exception declaration of a local interface.
• A local interface is a local type, as is any non-interface type declaration constructed using a local interface or other local type. For example, a struct, union, or exception with a member that is a local interface is also itself a local type.
• A local type may be used as a parameter, attribute, return type, or exception declaration of a local interface or of a valuetype.
• A local type may not appear as a parameter, attribute, return type, or exception declaration of an unconstrained interface or as a state member of a valuetype.
For a complete summary of allowable inheritance and supporting relationships among
interfaces and valuetypes see Table 3-10 on page 3-32.
See Section 4.3.14, “LocalObject Operations,? on page 4-23 for CORBA
implementation semantics associated with local objects.