[omniORB] CORBA::Current interface missing?

Steve Waterbury steve.waterbury@gsfc.nasa.gov
Thu, 01 Nov 2001 13:18:47 -0500


This is a multi-part message in MIME format.
--------------8EAFB518C99F30A8623C0AD9
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Carl Thompson wrote:

> I think what you are looking for is PortableServer::Current.  I don't
> think there is a CORBA::Current.  (Maybe an older version of the CORBA
> spec had it in the CORBA namespace?)

Actually, there is, but it's mainly a forward declaration that's 
only fleshed out in the interfaces that subclass it (the 
transaction and security interfaces, mainly).  I've attached the 
"official" OMG orb.idl as exhibit A ... ;^)

BTW, when I substitute this orb.idl for the one that ships with 
omniORB, the IDL that I was trying to compile compiles.

Cheers,
-- Steve.
                                           oo _\o
                                            \/\ \
                                              /
____________________________________________ oo _________________
"Sometimes you're the windshield; sometimes you're the bug."
- Knopfler

Stephen C. Waterbury                          Code 562, NASA/GSFC
Phone: 301-286-7557                           Greenbelt, MD 20771
WWW:          http://misspiggy.gsfc.nasa.gov/people/waterbug.html
--------------8EAFB518C99F30A8623C0AD9
Content-Type: text/plain; charset=us-ascii;
 name="orb.idl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="orb.idl"

// File: orb.idl
// From CORBA 2.3
#ifndef _ORB_IDL_
#define _ORB_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 "#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
    interface Current;                   // Chapter  4, CORBA_Current.idl
    interface DomainManager;             // Chapter  4, CORBA_DomainManager.idl
    interface Policy;                    // Chapter  4, CORBA_Policy.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 AliasDef;
    interface ArrayDef;
    interface AttributeDef;
    interface ConstantDef;
    interface Contained;
    interface Container;
    interface EnumDef;
    interface ExceptionDef;
    interface FixedDef;
    interface IDLType;
    interface InterfaceDef;
    interface IRObject;
    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 10: The Interface Repository
#include <CORBA_InterfaceRepository.idl>

// Chapter 5: Value Type Semantics
#include <CORBA_CustomMarshal.idl>
#include <CORBA_Stream.idl>

};

#endif // _ORB_IDL_


--------------8EAFB518C99F30A8623C0AD9--