blob: 4750cd0ddb6298e12b608ba040bb14940b9dff75 [file] [log] [blame]
// 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_