Previous Table of Contents Next


10.5.1 Supporting Type Definitions


   Several types are used throughout the IR interface definitions.

   module CORBA {

typedef string Identifier;
typedef string ScopedName;
typedef string RepositoryId;
enum DefinitionKind {
dk_none, dk_all,

   dk_Attribute, dk_Constant, dk_Exception, dk_Interface,dk_Module, dk_Operation, dk_Typedef,dk_Alias, dk_Struct, dk_Union, dk_Enum,dk_Primitive, dk_String, dk_Sequence, dk_Array,dk_Repository,dk_Wstring, dk_Fixed,dk_Value, dk_ValueBox, dk_ValueMember,dk_Native,dk_AbstractInterface,dk_LocalInterfacedk_Component, dk_Home,dk_Factory, dk_Finder,dk_Emits, dk_Publishes, dk_Consumes,dk_Provides, dk_Uses,dk_Event

   }; };

   Identifiers are the simple names that identify modules, interfaces, components, homes, value and event types, value members, value boxes, constants, typedefs, exceptions, attributes, operations, ports, and native types. They correspond exactly to OMG IDL identifiers. An Identifier is not necessarily unique within an entire Interface Repository; it is unique only within a particular Repository, ModuleDef, InterfaceDef, ComponentDef, HomeDef, ValueDef , EventDef, OperationDef FactoryDef, or FinderDef.

   A ScopedName is a name made up of one or more Identifiers separated by the characters “::?. They correspond to OMG IDL scoped names.

   An absolute ScopedName is one that begins with “::? and unambiguously identifies a definition in a Repository. An absolute ScopedName in a Repository corresponds to a global name in an OMG IDL file. A relative ScopedName does not begin with “::? and must be resolved relative to some context.

   A RepositoryId is an identifier used to uniquely and globally identify a module, interface, component, home, value type, event type, value member, value box, native type, constant, typedef, exception, attribute or operation. As RepositoryIds are defined as strings, they can be manipulated (e.g., copied and compared) using a language binding’s string manipulation routines.

   A DefinitionKind identifies the type of an IR object.