// File: orb.idl // From CORBA 3.0 #ifndef _ORB_IDL_ #define _ORB_IDL_ #ifdef _PRE_3_0_COMPILER_ #pragma prefix "omg.org" #else typeprefix CORBA "omg.org" #endif #ifdef _PRE_3_0_COMPILER_ #ifdef _NO_LOCAL_ #define local #endif #endif // This module brings together many files defining the CORBA module // (It really ought to be called CORBA.idl, but that's history.) // This file includes only the "real" interfaces that are included // in the "orb.idl" interface supplied by every ORB and that can be // brought into an IDL compilation by "import ::CORBA" // or in pre-3.0 IDL compilers by the include directive // "#include ". module CORBA { // The following forward references list *all* the interfaces and valuetypes // defined in the CORBA module. This serves two purposes: documentation // and compilability. Documentation is nice: since some of the interfaces // must be declared as forward references, it is more consistent to // declare them all. // // As far as compilability, it might be possible to avoid having to declare // many of the forward reference by rearranging the order of the interface // declarations, but there's no reason to do bother doing that. After all, // that's the reason for the design of forward references. Doing a forward // reference allows the definition order to be relatively logical.In // particular, it allows the "include"s to be done in chapter order // (almost), the only exception being the InterfaceRepository (Chapter 10). // It contains some data definitions needed by Chapter 4 interfaces. // The other reason not to try to rearrange the order is that it's hard. // Forward references, alphabetically # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) interface ConstructionPolicy; // Chapter 4, CORBA_DomainManager.idl # endif local interface Current; // Chapter 4, CORBA_Current.idl # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) interface DomainManager; // Chapter 4, CORBA_DomainManager.idl # endif interface Policy; // Chapter 4, CORBA_Policy.idl # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) local interface PollableSet; // Chapter 7, CORBA_Pollable.idl abstract valuetype CustomMarshal; // Chapter 5, CORBA_valuetype.idl abstract valuetype DataInputStream; // Chapter 5, CORBA_Stream.idl abstract valuetype DataOutputStream; // Chapter 5, CORBA_Stream.idl # endif # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) // Forward references to Chapter 10, CORBA_InterfaceRepository.idl interface AbstractInterfaceDef; interface AliasDef; interface ArrayDef; interface AttributeDef; interface ConstantDef; interface Contained; interface Container; interface EnumDef; interface ExceptionDef; interface ExtInterfaceDef; interface ExtValueDef; interface ExtAbstractInterfaceDef; interface ExtLocalInterfaceDef; interface FixedDef; interface IDLType; interface InterfaceDef; interface IRObject; interface LocalInterfaceDef; interface ModuleDef; interface NativeDef; interface OperationDef; interface PrimitiveDef; interface Repository; interface SequenceDef; interface StringDef; interface StructDef; # endif # if ! defined (CORBA_E_MICRO) interface TypeCode; # endif # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) interface TypedefDef; interface UnionDef; interface ValueDef; interface ValueBoxDef; interface ValueMemberDef; interface WstringDef; # endif typedef string Identifier; // Chapter 3: IDL Syntax and Semantics #include // Chapter 4: ORB Interface #include #include #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) # include #endif #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) // Chapter 7: Pollable # include #endif #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) // Chapter 10: The Interface Repository # include #endif // more Chapter 4: ORB Interface // CORBA_TypeCode.idl depends on CORBA_InterfaceRepository.idl #if ! defined (CORBA_E_MICRO) # include #endif // Chapter 5: Value Type Semantics #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) #include #include #endif }; #endif // _ORB_IDL_