// 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 | |
// Additions to the original spec from OMG | |
#include <modifications.idl> | |
// 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 <orb.idl>". | |
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 | |
interface ConstructionPolicy; // Chapter 4, CORBA_DomainManager.idl | |
local interface Current; // Chapter 4, CORBA_Current.idl | |
interface DomainManager; // Chapter 4, CORBA_DomainManager.idl | |
interface Policy; // Chapter 4, CORBA_Policy.idl | |
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 | |
// 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; | |
interface TypeCode; | |
interface TypedefDef; | |
interface UnionDef; | |
interface ValueDef; | |
interface ValueBoxDef; | |
interface ValueMemberDef; | |
interface WstringDef; | |
typedef string Identifier; | |
// Chapter 3: IDL Syntax and Semantics | |
#include <CORBA_StandardExceptions.idl> | |
// Chapter 4: ORB Interface | |
#include <CORBA_Current.idl> | |
#include <CORBA_Policy.idl> | |
#include <CORBA_DomainManager.idl> | |
// Chapter 7: Pollable | |
#include <CORBA_Pollable.idl> | |
// Chapter 10: The Interface Repository | |
#include <CORBA_InterfaceRepository.idl> | |
// more Chapter 4: ORB Interface | |
// CORBA_TypeCode.idl depends on CORBA_InterfaceRepository.idl | |
#include <CORBA_TypeCode.idl> | |
// Chapter 5: Value Type Semantics | |
#include <CORBA_CustomMarshal.idl> | |
#include <CORBA_Stream.idl> | |
}; | |
#endif // _ORB_IDL_ | |