You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ad...@apache.org on 2005/11/09 22:21:53 UTC

svn commit: r332145 [1/4] - in /geronimo/specs/trunk/geronimo-spec-corba: ./ src/idl/ src/java/ src/main/ src/main/idl/ src/main/java/

Author: adc
Date: Wed Nov  9 13:21:41 2005
New Revision: 332145

URL: http://svn.apache.org/viewcvs?rev=332145&view=rev
Log:
Using new idlj plugin and have incorporated TriFork IDL files.

GERONIMO-1111

Added:
    geronimo/specs/trunk/geronimo-spec-corba/pom.xml
    geronimo/specs/trunk/geronimo-spec-corba/src/main/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/
      - copied from r331651, geronimo/specs/trunk/geronimo-spec-corba/src/idl/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/BiDirPolicy.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CONV_FRAME.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Corba.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosLifeCycle.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSCurrent.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Current.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Dynamic.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/DynamicAny.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IOP_N.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/InterfaceRepository.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/LifeCycleService.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Messaging.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/NRService.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/PortableInterceptor.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SecIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SecurityAdmin.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SecurityLevel1.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SecurityLevel2.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SecurityReplaceable.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SendingContext.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/_orb.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/orb.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/java/
      - copied from r331651, geronimo/specs/trunk/geronimo-spec-corba/src/java/
Removed:
    geronimo/specs/trunk/geronimo-spec-corba/src/idl/
    geronimo/specs/trunk/geronimo-spec-corba/src/java/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSInteroperation.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Readme.txt
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/geronimo-orb.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/org-apache-geronimo-interop-rmi-iiop.idl
Modified:
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTransactions.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GSSUP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SSLIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Security.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/TimeBase.idl

Added: geronimo/specs/trunk/geronimo-spec-corba/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/pom.xml?rev=332145&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/pom.xml (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/pom.xml Wed Nov  9 13:21:41 2005
@@ -0,0 +1,147 @@
+<project>
+  <parent>
+    <groupId>org.apache.geronimo.specs</groupId>
+    <artifactId>specs</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>geronimo-spec-corba</artifactId>
+  <name>CORBA</name>
+  <version>2.3-rc4</version>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>idlj-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <packagePrefixes>
+            <packagePrefix>
+              <type>IIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>GIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosNaming</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CSI</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>GSSUP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CSIIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>TimeBase</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>Security</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SSLIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosTransactions</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosTSInteroperation</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosTSPortability</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityLevel1</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityLevel2</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CONV_FRAME</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>IOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SECIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>BiDirPolicy</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosLifeCycle</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>Dynamic</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>DynamicAny</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>IOP_N</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>LifeCycleService</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>Messaging</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>NRService</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>PortableInterceptor</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>PortableServer</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityAdmin</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityReplaceable</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+          </packagePrefixes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/BiDirPolicy.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/BiDirPolicy.idl?rev=332145&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/BiDirPolicy.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/BiDirPolicy.idl Wed Nov  9 13:21:41 2005
@@ -0,0 +1,26 @@
+/* This file contains OMG IDL from  CORBA V2.3.1
+ * $Id: BiDirPolicy.idl,v 1.2 2001/09/22 14:51:13 jso Exp $	
+ */ 
+
+#ifndef __BiDirPolicy_IDL
+#define __BiDirPolicy_IDL
+
+#include <orb.idl>
+
+#pragma prefix "omg.org"
+
+// Self contained module for Bi-directional GIOP policy
+
+module BiDirPolicy {
+
+  typedef unsigned short BidirectionalPolicyValue;
+
+  const BidirectionalPolicyValue NORMAL = 0;
+  const BidirectionalPolicyValue BOTH = 1;
+
+  const CORBA::PolicyType BIDIRECTIONAL_POLICY_TYPE = 37;
+
+  interface BidirectionalPolicy : CORBA::Policy {
+    readonly attribute BidirectionalPolicyValue value;
+  };
+};

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CONV_FRAME.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CONV_FRAME.idl?rev=332145&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CONV_FRAME.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CONV_FRAME.idl Wed Nov  9 13:21:41 2005
@@ -0,0 +1,36 @@
+/* This file contains OMG IDL from  CORBA V2.0, July 1995.
+*/
+
+
+#ifndef __CONV_FRAME_IDL
+#define __CONV_FRAME_IDL
+
+#pragma prefix "omg.org"
+
+module CONV_FRAME 
+{
+        // CodeSet Component of IOR Multi-Component Profile:
+
+	typedef unsigned long CodeSetId;
+
+	struct CodeSetComponent 
+	{
+		CodeSetId			native_code_set;
+		sequence<CodeSetId>		conversion_code_sets;
+	};
+
+	struct CodeSetComponentInfo 
+	{
+		CodeSetComponent ForCharData;
+		CodeSetComponent ForWcharData;
+	};
+
+	// GIOP Code Set Service Context:
+
+	struct CodeSetContext {
+		CodeSetId char_data;
+		CodeSetId wchar_data;
+	};
+};
+
+#endif

Modified: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl?rev=332145&r1=331651&r2=332145&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl (original)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl Wed Nov  9 13:21:41 2005
@@ -1,200 +1,155 @@
 #ifndef _CSI_IDL_
 #define _CSI_IDL_
-
 #pragma prefix "omg.org"
 
-module CSI {
-
-	// The OMG VMCID; same value as CORBA::OMGVMCID. Do not change ever.
-	const unsigned long OMGVMCID = 0x4F4D0;
-
-	// An X509CertificateChain contains an ASN.1 BER encoded SEQUENCE
-	// [1..MAX] OF X.509 certificates encapsulated in a sequence of octets. The
-	// subject’s certificate shall come first in the list. Each following
-	// certificate shall directly certify the one preceding it. The ASN.1
-	// representation of Certificate is as defined in [IETF RFC 2459].
-
-	typedef sequence <octet> X509CertificateChain;
-
-	// an X.501 type name or Distinguished Name encapsulated in a sequence of
-	// octets containing the ASN.1 encoding.
-
-	typedef sequence <octet> X501DistinguishedName;
-
-	// UTF-8 Encoding of String
-
-	typedef sequence <octet> UTF8String;
-
-	// ASN.1 Encoding of an OBJECT IDENTIFIER
-
-	typedef sequence <octet> OID;
-
-	typedef sequence <OID> OIDList;
-
-	// A sequence of octets containing a GSStoken. Initial context tokens are
-	// ASN.1 encoded as defined in [IETF RFC 2743] Section 3.1,
-	// "Mechanism-Independent token Format", pp. 81-82. Initial context tokens
-	// contain an ASN.1 tag followed by a token length, a mechanism identifier,
-	// and a mechanism-specific token (i.e. a GSSUP::InitialContextToken). The
-	// encoding of all other GSS tokens (e.g. error tokens and final context
-	// tokens) is mechanism dependent.
-
-	typedef sequence <octet> GSSToken;
-
-	// An encoding of a GSS Mechanism-Independent Exported Name Object as
-	// defined in [IETF RFC 2743] Section 3.2, "GSS Mechanism-Independent
-	// Exported Name Object Format," p. 84.
-
-	typedef sequence <octet> GSS_NT_ExportedName;
-
-	typedef sequence <GSS_NT_ExportedName> GSS_NT_ExportedNameList;
-
-	// The MsgType enumeration defines the complete set of service context
-	// message types used by the CSI context management protocols, including
-	// those message types pertaining only to the stateful application of the
-	// protocols (to insure proper alignment of the identifiers between
-	// stateless and stateful implementations). Specifically, the
-	// MTMessageInContext is not sent by stateless clients (although it may
-	// be received by stateless targets).
-
-	typedef short MsgType;
-
-	const MsgType MTEstablishContext = 0;
-	const MsgType MTCompleteEstablishContext = 1;
-	const MsgType MTContextError = 4;
-	const MsgType MTMessageInContext = 5;
-
-	// The ContextId type is used carry session identifiers. A stateless
-	// application of the service context protocol is indicated by a session
-	// identifier value of 0.
-
-	typedef unsigned long long ContextId;
-
-	// The AuthorizationElementType defines the contents and encoding of
-	// the_element field of the AuthorizationElement.
-	// The high order 20-bits of each AuthorizationElementType constant
-	// shall contain the Vendor Minor Codeset ID (VMCID) of the
-	// organization that defined the element type. The low order 12 bits
-	// shall contain the organization-scoped element type identifier. The
-	// high-order 20 bits of all element types defined by the OMG shall
-	// contain the VMCID allocated to the OMG (that is, 0x4F4D0).
-
-	typedef unsigned long AuthorizationElementType;
-
-	// An AuthorizationElementType of X509AttributeCertChain indicates that
-	// the_element field of the AuthorizationElement contains an ASN.1 BER
-	// SEQUENCE composed of an (X.509) AttributeCertificate followed by a
-	// SEQUENCE OF (X.509) Certificate. The two-part SEQUENCE is encapsulated
-	// in an octet stream. The chain of identity certificates is provided
-	// to certify the attribute certificate. Each certificate in the chain
-	// shall directly certify the one preceding it. The first certificate
-	// in the chain shall certify the attribute certificate. The ASN.1
-	// representation of (X.509) Certificate is as defined in [IETF RFC 2459].
-	// The ASN.1 representation of (X.509) AtributeCertificate is as defined
-	// in [IETF ID PKIXAC].
-
-	const AuthorizationElementType X509AttributeCertChain = OMGVMCID | 1;
-
-	typedef sequence <octet> AuthorizationElementContents;
-
-	// The AuthorizationElement contains one element of an authorization token.
-	// Each element of an authorization token is logically a PAC.
-
-	struct AuthorizationElement {
-		AuthorizationElementType the_type;
-		AuthorizationElementContents the_element;
-	};
-
-	// The AuthorizationToken is made up of a sequence of
-	// AuthorizationElements
-
-	typedef sequence <AuthorizationElement> AuthorizationToken;
-
-	typedef unsigned long IdentityTokenType;
-
-	// Additional standard identity token types shall only be defined by the
-	// OMG. All IdentityTokenType constants shall be a power of 2.
-
-	const IdentityTokenType ITTAbsent = 0;
-	const IdentityTokenType ITTAnonymous = 1;
-	const IdentityTokenType ITTPrincipalName = 2;
-	const IdentityTokenType ITTX509CertChain = 4;
-	const IdentityTokenType ITTDistinguishedName = 8;
-
-	typedef sequence <octet> IdentityExtension;
-
-	union IdentityToken switch ( IdentityTokenType ) {
-		case ITTAbsent: boolean absent;
-		case ITTAnonymous: boolean anonymous;
-		case ITTPrincipalName: GSS_NT_ExportedName principal_name;
-		case ITTX509CertChain: X509CertificateChain certificate_chain;
-		case ITTDistinguishedName: X501DistinguishedName dn;
-		default: IdentityExtension id;
-	};
-
-	struct EstablishContext {
-		ContextId client_context_id;
-		AuthorizationToken authorization_token;
-		IdentityToken identity_token;
-		GSSToken client_authentication_token;
-	};
-
-	struct CompleteEstablishContext {
-		ContextId client_context_id;
-		boolean context_stateful;
-		GSSToken final_context_token;
-	};
-
-	struct ContextError {
-		ContextId client_context_id;
-		long major_status;
-		long minor_status;
-		GSSToken error_token;
-	};
-
-	// Not sent by stateless clients. If received by a stateless server, a
-	// ContextError message should be returned, indicating the session does
-	// not exist.
-
-	struct MessageInContext {
-		ContextId client_context_id;
-		boolean discard_context;
-	};
-
-	union SASContextBody switch ( MsgType ) {
-		case MTEstablishContext: EstablishContext establish_msg;
-		case MTCompleteEstablishContext: CompleteEstablishContext complete_msg;
-		case MTContextError: ContextError error_msg;
-		case MTMessageInContext: MessageInContext in_context_msg;
-	};
-
-	// The following type represents the string representation of an ASN.1
-	// OBJECT IDENTIFIER (OID). OIDs are represented by the string "oid:"
-	// followed by the integer base 10 representation of the OID separated
-	// by dots. For example, the OID corresponding to the OMG is represented
-	// as: "oid:2.23.130"
-
-	typedef string StringOID;
-
-	// The GSS Object Identifier for the KRB5 mechanism is:
-	// { iso(1) member-body(2) United States(840) mit(113554) infosys(1)
-	// gssapi(2) krb5(2) }
-
-	const StringOID KRB5MechOID = "oid:1.2.840.113554.1.2.2";
-
-	// The GSS Object Identifier for name objects of the Mechanism-independent
-	// Exported Name Object type is:
-	// { iso(1) org(3) dod(6) internet(1) security(5) nametypes(6)
-	// gss-api-exported-name(4) }
-
-	const StringOID GSS_NT_Export_Name_OID = "oid:1.3.6.1.5.6.4";
-
-	// The GSS Object Identifier for the scoped-username name form is:
-	// { iso-itu-t (2) international-organization (23) omg (130) security (1)
-	// naming (2) scoped-username(1) }
-
-	const StringOID GSS_NT_Scoped_Username_OID = "oid:2.23.130.1.2.1";
+#include <IOP.idl>
+module IOP {
+    const ServiceId SecurityAttributeService = 15;    
+};
 
+module CSI {
+    // The OMG VMCID; same value as CORBA::OMGVMCID. Do not change ever.
+    const unsigned long OMGVMCID = 0x4F4D0;
+    // An X509CertificateChain contains an ASN.1 BER encoded SEQUENCE
+    // [1..MAX] OF X.509 certificates encapsulated in a sequence of octets. The
+    // subject's certificate shall come first in the list. Each following
+    // certificate shall directly certify the one preceding it. The ASN.1
+    // representation of Certificate is as defined in [IETF RFC 2459].
+    typedef sequence <octet> X509CertificateChain;
+    // an X.501 type name or Distinguished Name encapsulated in a sequence of
+    // octets containing the ASN.1 encoding.
+    typedef sequence <octet> X501DistinguishedName;
+    // UTF-8 Encoding of String
+    typedef sequence <octet> UTF8String;
+    // ASN.1 Encoding of an OBJECT IDENTIFIER
+    typedef sequence <octet> OID;
+    typedef sequence <OID> OIDList;
+    // A sequence of octets containing a GSStoken. Initial context tokens are
+    // ASN.1 encoded as defined in [IETF RFC 2743] Section 3.1,
+    // "Mechanism-Independent token Format", pp. 81-82. Initial context tokens
+    // contain an ASN.1 tag followed by a token length, a mechanism identifier,
+    // and a mechanism-specific token (i.e. a GSSUP::InitialContextToken). The
+    // encoding of all other GSS tokens (e.g. error tokens and final context
+    // tokens) is mechanism dependent.
+    typedef sequence <octet> GSSToken;
+    // An encoding of a GSS Mechanism-Independent Exported Name Object as
+    // defined in [IETF RFC 2743] Section 3.2, "GSS Mechanism-Independent
+    // Exported Name Object Format," p. 84.
+    typedef sequence <octet> GSS_NT_ExportedName;
+    typedef sequence <GSS_NT_ExportedName> GSS_NT_ExportedNameList;
+    // The MsgType enumeration defines the complete set of service context
+    // message types used by the CSI context management protocols, including
+    // those message types pertaining only to the stateful application of the
+    // protocols (to insure proper alignment of the identifiers between
+    // stateless and stateful implementations). Specifically, the
+    // MTMessageInContext is not sent by stateless clients (although it may
+    // be received by stateless targets).
+    typedef short MsgType;
+    const MsgType MTEstablishContext = 0;
+    const MsgType MTCompleteEstablishContext = 1;
+    const MsgType MTContextError = 4;
+    const MsgType MTMessageInContext = 5;
+    // The ContextId type is used carry session identifiers. A stateless
+    // application of the service context protocol is indicated by a session
+    // identifier value of 0.
+    typedef unsigned long long ContextId;
+    // The AuthorizationElementType defines the contents and encoding of
+    // the_element field of the AuthorizationElement.
+    // The high order 20-bits of each AuthorizationElementType constant
+    // shall contain the Vendor Minor Codeset ID (VMCID) of the
+    // organization that defined the element type. The low order 12 bits
+    // shall contain the organization-scoped element type identifier. The
+    // high-order 20 bits of all element types defined by the OMG shall
+    // contain the VMCID allocated to the OMG (that is, 0x4F4D0).
+    typedef unsigned long AuthorizationElementType;
+    // An AuthorizationElementType of X509AttributeCertChain indicates that
+    // the_element field of the AuthorizationElement contains an ASN.1 BER
+    // SEQUENCE composed of an (X.509) AttributeCertificate followed by a
+    // SEQUENCE OF (X.509) Certificate. The two-part SEQUENCE is encapsulated
+    // in an octet stream. The chain of identity certificates is provided
+    // to certify the attribute certificate. Each certificate in the chain
+    // shall directly certify the one preceding it. The first certificate
+    // in the chain shall certify the attribute certificate. The ASN.1
+    // representation of (X.509) Certificate is as defined in [IETF RFC 2459].
+    // The ASN.1 representation of (X.509) AtributeCertificate is as defined
+    // in [IETF ID PKIXAC].
+    const AuthorizationElementType X509AttributeCertChain = OMGVMCID | 1;
+    typedef sequence <octet> AuthorizationElementContents;
+    // The AuthorizationElement contains one element of an authorization token.
+    // Each element of an authorization token is logically a PAC.
+    struct AuthorizationElement {
+        AuthorizationElementType the_type;
+        AuthorizationElementContents the_element;
+    };
+    // The AuthorizationToken is made up of a sequence of
+    // AuthorizationElements
+    typedef sequence <AuthorizationElement> AuthorizationToken;
+    typedef unsigned long IdentityTokenType;
+    // Additional standard identity token types shall only be defined by the
+    // OMG. All IdentityTokenType constants shall be a power of 2.
+    const IdentityTokenType ITTAbsent = 0;
+    const IdentityTokenType ITTAnonymous = 1;
+    const IdentityTokenType ITTPrincipalName = 2;
+    const IdentityTokenType ITTX509CertChain = 4;
+    const IdentityTokenType ITTDistinguishedName = 8;
+    typedef sequence <octet> IdentityExtension;
+    union IdentityToken switch ( IdentityTokenType ) {
+    case ITTAbsent: boolean absent;
+    case ITTAnonymous: boolean anonymous;
+    case ITTPrincipalName: GSS_NT_ExportedName principal_name;
+    case ITTX509CertChain: X509CertificateChain certificate_chain;
+    case ITTDistinguishedName: X501DistinguishedName dn;
+    default: IdentityExtension id;
+    };
+    struct EstablishContext {
+        ContextId client_context_id;
+        AuthorizationToken authorization_token;
+        IdentityToken identity_token;
+        GSSToken client_authentication_token;
+    };
+    struct CompleteEstablishContext {
+        ContextId client_context_id;
+        boolean context_stateful;
+        GSSToken final_context_token;
+    };
+    struct ContextError {
+        ContextId client_context_id;
+        long major_status;
+        long minor_status;
+        GSSToken error_token;
+    };
+    // Not sent by stateless clients. If received by a stateless server, a
+    // ContextError message should be returned, indicating the session does
+    // not exist.
+    struct MessageInContext {
+        ContextId client_context_id;
+        boolean discard_context;
+    };
+    union SASContextBody switch ( MsgType ) {
+    case MTEstablishContext: EstablishContext establish_msg;
+    case MTCompleteEstablishContext: CompleteEstablishContext
+                                         complete_msg;
+    case MTContextError: ContextError error_msg;
+    case MTMessageInContext: MessageInContext in_context_msg;
+    };
+    // The following type represents the string representation of an ASN.1
+    // OBJECT IDENTIFIER (OID). OIDs are represented by the string "oid:"
+    // followed by the integer base 10 representation of the OID separated
+    // by dots. For example, the OID corresponding to the OMG is represented
+    // as: "oid:2.23.130"
+    typedef string StringOID;
+    // The GSS Object Identifier for the KRB5 mechanism is:
+    // { iso(1) member-body(2) United States(840) mit(113554) infosys(1)
+    // gssapi(2) krb5(2) }
+    const StringOID KRB5MechOID = "oid:1.2.840.113554.1.2.2";
+    // The GSS Object Identifier for name objects of the Mechanism-independent
+    // Exported Name Object type is:
+    // { iso(1) org(3) dod(6) internet(1) security(5) nametypes(6)
+    // gss-api-exported-name(4) }
+    const StringOID GSS_NT_Export_Name_OID = "oid:1.3.6.1.5.6.4";
+    // The GSS Object Identifier for the scoped-username name form is:
+    // { iso-itu-t (2) international-organization (23) omg (130) security (1)
+    // naming (2) scoped-username(1) }
+    const StringOID GSS_NT_Scoped_Username_OID = "oid:2.23.130.1.2.1";
 }; // CSI
-
 #endif

Modified: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl?rev=332145&r1=331651&r2=332145&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl (original)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl Wed Nov  9 13:21:41 2005
@@ -2,133 +2,101 @@
 #define _CSIIOP_IDL_
 #include <IOP.idl>
 #include <CSI.idl>
-
 #pragma prefix "omg.org"
-
 module CSIIOP {
-
-	const IOP::ComponentId TAG_NULL_TAG = 34;
-	const IOP::ComponentId TAG_CSI_SEC_MECH_LIST = 33;
-
-	// Association options
-
-	typedef unsigned short AssociationOptions;
-
-	const AssociationOptions NoProtection = 1;
-	const AssociationOptions Integrity = 2;
-	const AssociationOptions Confidentiality = 4;
-	const AssociationOptions DetectReplay = 8;
-	const AssociationOptions DetectMisordering = 16;
-	const AssociationOptions EstablishTrustInTarget = 32;
-	const AssociationOptions EstablishTrustInClient = 64;
-	const AssociationOptions NoDelegation = 128;
-	const AssociationOptions SimpleDelegation = 256;
-	const AssociationOptions CompositeDelegation = 512;
-	const AssociationOptions IdentityAssertion = 1024;
-	const AssociationOptions DelegationByClient = 2048;
-
-	// The high order 20-bits of each ServiceConfigurationSyntax constant
-	// shall contain the Vendor Minor Codeset ID (VMCID) of the
-	// organization that defined the syntax. The low order 12 bits shall
-	// contain the organization-scoped syntax identifier. The high-order 20
-	// bits of all syntaxes defined by the OMG shall contain the VMCID
-	// allocated to the OMG (that is, 0x4F4D0).
-
-	typedef unsigned long ServiceConfigurationSyntax;
-
-	const ServiceConfigurationSyntax SCS_GeneralNames = CSI::OMGVMCID | 0;
-	const ServiceConfigurationSyntax SCS_GSSExportedName = CSI::OMGVMCID | 1;
-
-	typedef sequence <octet> ServiceSpecificName;
-
-	// The name field of the ServiceConfiguration structure identifies a
-	// privilege authority in the format identified in the syntax field. If the
-	// syntax is SCS_GeneralNames, the name field contains an ASN.1 (BER)
-	// SEQUENCE [1..MAX] OF GeneralName, as defined by the type GeneralNames in
-	// [IETF RFC 2459]. If the syntax is SCS_GSSExportedName, the name field
-	// contains a GSS exported name encoded according to the rules in
-	// [IETF RFC 2743] Section 3.2, "Mechanism-Independent Exported Name
-	// Object Format," p. 84.
-
-	struct ServiceConfiguration {
-		ServiceConfigurationSyntax syntax;
-		ServiceSpecificName name;
-	};
-
-	typedef sequence <ServiceConfiguration> ServiceConfigurationList;
-
-	// The body of the TAG_NULL_TAG component is a sequence of octets of
-	// length 0.
-	// type used to define AS layer functionality within a compound mechanism
-	// definition
-
-	struct AS_ContextSec {
-		AssociationOptions target_supports;
-		AssociationOptions target_requires;
-		CSI::OID client_authentication_mech;
-		CSI::GSS_NT_ExportedName target_name;
-	};
-
-	// type used to define SAS layer functionality within a compound mechanism
-	// definition
-
-	struct SAS_ContextSec {
-		AssociationOptions target_supports;
-		AssociationOptions target_requires;
-		ServiceConfigurationList privilege_authorities;
-		CSI::OIDList supported_naming_mechanisms;
-		CSI::IdentityTokenType supported_identity_types;
-	};
-
-	// type used in the body of a TAG_CSI_SEC_MECH_LIST component to
-	// describe a compound mechanism
-
-	struct CompoundSecMech {
-		AssociationOptions target_requires;
-		IOP::TaggedComponent transport_mech;
-		AS_ContextSec as_context_mech;
-		SAS_ContextSec sas_context_mech;
-	};
-
-	typedef sequence <CompoundSecMech> CompoundSecMechanisms;
-
-	// type corresponding to the body of a TAG_CSI_SEC_MECH_LIST
-	// component
-
-	struct CompoundSecMechList {
-		boolean stateful;
-		CompoundSecMechanisms mechanism_list;
-	};
-
-	struct TransportAddress {
-		string host_name;
-		unsigned short port;
-	};
-
-	typedef sequence <TransportAddress> TransportAddressList;
-
-	// Tagged component for configuring SECIOP as a CSIv2 transport mechanism
-
-	const IOP::ComponentId TAG_SECIOP_SEC_TRANS = 35;
-
-	struct SECIOP_SEC_TRANS {
-		AssociationOptions target_supports;
-		AssociationOptions target_requires;
-		CSI::OID mech_oid;
-		CSI::GSS_NT_ExportedName target_name;
-		TransportAddressList addresses;
-	};
-
-	// tagged component for configuring TLS/SSL as a CSIv2 transport mechanism
-
-	const IOP::ComponentId TAG_TLS_SEC_TRANS = 36;
-
-	struct TLS_SEC_TRANS {
-		AssociationOptions target_supports;
-		AssociationOptions target_requires;
-		TransportAddressList addresses;
-	};
-
+    const IOP::ComponentId TAG_NULL_TAG = 34;
+    const IOP::ComponentId TAG_CSI_SEC_MECH_LIST = 33;
+    // Association options
+    typedef unsigned short AssociationOptions;
+    const AssociationOptions NoProtection = 1;
+    const AssociationOptions Integrity = 2;
+    const AssociationOptions Confidentiality = 4;
+    const AssociationOptions DetectReplay = 8;
+    const AssociationOptions DetectMisordering = 16;
+    const AssociationOptions EstablishTrustInTarget = 32;
+    const AssociationOptions EstablishTrustInClient = 64;
+    const AssociationOptions NoDelegation = 128;
+    const AssociationOptions SimpleDelegation = 256;
+    const AssociationOptions CompositeDelegation = 512;
+    const AssociationOptions IdentityAssertion = 1024;
+    const AssociationOptions DelegationByClient = 2048;
+    // The high order 20-bits of each ServiceConfigurationSyntax constant
+    // shall contain the Vendor Minor Codeset ID (VMCID) of the
+    // organization that defined the syntax. The low order 12 bits shall
+    // contain the organization-scoped syntax identifier. The high-order 20
+    // bits of all syntaxes defined by the OMG shall contain the VMCID
+    // allocated to the OMG (that is, 0x4F4D0).
+    typedef unsigned long ServiceConfigurationSyntax;
+    const ServiceConfigurationSyntax SCS_GeneralNames = CSI::OMGVMCID | 0;
+    const ServiceConfigurationSyntax SCS_GSSExportedName = CSI::OMGVMCID | 1;
+    typedef sequence <octet> ServiceSpecificName;
+    // The name field of the ServiceConfiguration structure identifies a
+    // privilege authority in the format identified in the syntax field. If the
+    // syntax is SCS_GeneralNames, the name field contains an ASN.1 (BER)
+    // SEQUENCE [1..MAX] OF GeneralName, as defined by the type GeneralNames in
+    // [IETF RFC 2459]. If the syntax is SCS_GSSExportedName, the name field
+    // contains a GSS exported name encoded according to the rules in
+    // [IETF RFC 2743] Section 3.2, "Mechanism-Independent Exported Name
+    // Object Format," p. 84.
+    struct ServiceConfiguration {
+        ServiceConfigurationSyntax syntax;
+        ServiceSpecificName name;
+    };
+    typedef sequence <ServiceConfiguration> ServiceConfigurationList;
+    // The body of the TAG_NULL_TAG component is a sequence of octets of
+    // length 0.
+    // type used to define AS layer functionality within a compound mechanism
+    // definition
+    struct AS_ContextSec {
+        AssociationOptions target_supports;
+        AssociationOptions target_requires;
+        CSI::OID client_authentication_mech;
+        CSI::GSS_NT_ExportedName target_name;
+    };
+    // type used to define SAS layer functionality within a compound mechanism
+    // definition
+    struct SAS_ContextSec {
+        AssociationOptions target_supports;
+        AssociationOptions target_requires;
+        ServiceConfigurationList privilege_authorities;
+        CSI::OIDList supported_naming_mechanisms;
+        CSI::IdentityTokenType supported_identity_types;
+    };
+    // type used in the body of a TAG_CSI_SEC_MECH_LIST component to
+    // describe a compound mechanism
+    struct CompoundSecMech {
+        AssociationOptions target_requires;
+        IOP::TaggedComponent transport_mech;
+        AS_ContextSec as_context_mech;
+        SAS_ContextSec sas_context_mech;
+    };
+    typedef sequence <CompoundSecMech> CompoundSecMechanisms;
+    // type corresponding to the body of a TAG_CSI_SEC_MECH_LIST
+    // component
+    struct CompoundSecMechList {
+        boolean stateful;
+        CompoundSecMechanisms mechanism_list;
+    };
+    struct TransportAddress {
+        string host_name;
+        unsigned short port;
+    };
+    typedef sequence <TransportAddress> TransportAddressList;
+    // Tagged component for configuring SECIOP as a CSIv2 transport mechanism
+    const IOP::ComponentId TAG_SECIOP_SEC_TRANS = 35;
+    struct SECIOP_SEC_TRANS {
+        AssociationOptions target_supports;
+        AssociationOptions target_requires;
+        CSI::OID mech_oid;
+        CSI::GSS_NT_ExportedName target_name;
+        TransportAddressList addresses;
+    };
+    // tagged component for configuring TLS/SSL as a CSIv2 transport mechanism
+    const IOP::ComponentId TAG_TLS_SEC_TRANS = 36;
+    struct TLS_SEC_TRANS {
+        AssociationOptions target_supports;
+        AssociationOptions target_requires;
+        TransportAddressList addresses;
+    };
 }; //CSIIOP
-
 #endif

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Corba.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Corba.idl?rev=332145&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Corba.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Corba.idl Wed Nov  9 13:21:41 2005
@@ -0,0 +1,913 @@
+/* This file contains OMG IDL from  CORBA V2.0, July 1995.
+
+  It has been edited in a few places to accomodate
+  the OMG IDL Java language mapping and DynAnys
+
+  $Id: Corba.idl,v 1.2 2001/09/22 14:51:13 jso Exp $	
+
+
+*/
+
+
+#ifndef __CORBA_IDL
+#define __CORBA_IDL
+
+#pragma prefix "omg.org"
+
+module CORBA 
+{
+    typedef unsigned short ServiceType;
+    typedef unsigned short ServiceOption;
+    typedef unsigned short ServiceDetailType;
+
+    const ServiceType Security = 1;
+
+    struct ServiceDetail {
+        ServiceDetailType service_detail_type;
+        sequence <octet> service_detail;
+    };
+
+    struct ServiceInformation {
+        sequence <ServiceOption> service_options;
+        sequence <ServiceDetail> service_details;
+    };
+
+    typedef unsigned long PolicyType;
+
+    interface Policy
+    {
+        readonly attribute PolicyType policy_type;
+        Policy copy();
+        void destroy();
+    };
+
+    typedef sequence <Policy> PolicyList;
+
+    typedef short PolicyErrorCode;
+    const PolicyErrorCode BAD_POLICY = 0;
+    // ... to be continued
+
+    exception PolicyError
+    {
+	PolicyErrorCode reason;
+    };
+
+    typedef string Identifier;
+    typedef string ScopedName;
+    typedef string RepositoryId;
+
+    // for PortableInterceptors
+    typedef sequence<string> StringSeq;
+    typedef sequence<wstring> WStringSeq;
+    typedef sequence<octet> OctetSeq;
+
+    enum exception_type  {NO_EXCEPTION,USER_EXCEPTION,SYSTEM_EXCEPTION} ;
+
+    // Note: this used to be 'completion_status' but was renamed to
+    // CompletionStatus in the Java mapping
+
+    enum CompletionStatus {COMPLETED_YES, COMPLETED_NO, COMPLETED_MAYBE } ;
+
+
+    interface ImplementationDef {};
+
+
+    /* this is the original PIDL from the lang. mapping, 
+       but we do not use it! Instead...
+
+    interface Principal
+    { 
+	attribute sequence<octet> name;
+    };
+    */
+
+    /* ... we use this little hack. It saves us fiddling with 
+       the generated code that uses  Principals. Actually, we 
+       should not be doing this....
+    */
+
+    typedef sequence<octet> Principal;
+
+    interface Environment {};
+	
+    typedef unsigned long Flags;
+	
+    interface TypeCode; // forward declaration
+	
+    // NamedValues are defined with a Java ORB in mind
+    // and follow the standard Java language mapping
+	
+    const Flags ARG_IN = 1;
+    const Flags ARG_OUT = 2;
+    const Flags ARG_INOUT = 3;
+    const Flags CTX_RESTRICT_SCOPE = 15;
+
+    exception Bounds {};
+
+    interface ExceptionList { // PIDL mapped according to Java mapping, not listed here
+    }; 
+
+
+    interface ContextList { // PIDL mapped according to Java mapping, not listed here
+    }; 
+
+
+    interface NamedValue // PIDL mapped according to Java mapping, not listed here
+	{
+	};
+
+    interface NVList // PIDL, mapped according to Java mapping, not listed here
+	{
+	};
+	
+    // interface Object;
+
+    interface _Context // PIDL, not listed here
+	{ 
+	};
+
+    interface Request  // PIDL, mapped according to Java mapping, not listed here
+	{ 
+	};
+
+    interface ServerRequest // PIDL, mapped according to Java mapping, not listed here
+	{
+	};
+
+
+
+    // Interface Repository
+
+ 
+    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_ValueVox, dk_ValueMember,
+	dk_native
+    };
+
+
+    interface IRObject {
+	// read interface
+	readonly attribute DefinitionKind def_kind;
+
+	// write interface
+	void destroy ();
+    };
+
+    typedef string VersionSpec;
+
+    interface Contained;
+    interface Repository;
+    interface Container;
+
+    interface Contained : IRObject 
+    {
+	    // read/write interface
+	
+	    attribute RepositoryId id;
+	    attribute Identifier name;
+	    attribute VersionSpec version;
+	
+	    // read interface
+	
+	    readonly attribute Container defined_in;
+	    readonly attribute ScopedName absolute_name;
+	    readonly attribute Repository containing_repository;
+	
+	    struct Description {
+		DefinitionKind kind;
+		any value; 
+	    }; 
+	
+	    Description describe ();
+	
+	    // write interface
+	
+	    void move (
+		       in Container new_container,
+		       in Identifier new_name,
+		       in VersionSpec new_version
+		       );
+	};
+
+    interface ModuleDef;
+    interface ConstantDef;
+    interface IDLType;
+    interface StructDef;
+    interface UnionDef;
+    interface EnumDef;
+    interface AliasDef;
+    interface InterfaceDef;
+    interface ValueDef;
+
+    typedef sequence <InterfaceDef> InterfaceDefSeq;
+    typedef sequence <Contained> ContainedSeq;
+    typedef sequence <ValueDef> ValueDefSeq;
+
+    struct StructMember {
+	Identifier name;
+	TypeCode type;
+	IDLType type_def;
+    };
+
+    typedef short Visibility;
+    const Visibility PRIVATE_MEMBER = 0;
+    const Visibility PUBLIC_MEMBER  = 1;
+    
+    struct ValueMember {
+        Identifier                      name;
+        RepositoryId                    id;
+        RepositoryId                    defined_in;
+        VersionSpec                     version;
+        TypeCode                        type;
+        IDLType                         type_def;
+        Visibility                      access; 
+    };
+
+    typedef sequence <ValueMember> ValueMemberSeq;
+
+    interface ValueMemberDef : Contained {
+        readonly attribute              TypeCode type;
+        attribute IDLType               type_def;
+        attribute Visibility            access;
+    };
+
+
+  
+  
+    typedef sequence <StructMember> StructMemberSeq;
+
+    struct Initializer {
+        #pragma version Initializer 2.3
+        StructMemberSeq members;
+        Identifier name;
+    };
+
+    typedef sequence <Initializer> InitializerSeq;
+
+    struct UnionMember {
+	Identifier name;
+	any label;
+	TypeCode type;
+	IDLType type_def;
+    };
+    typedef sequence <UnionMember> UnionMemberSeq;
+
+    typedef sequence <Identifier> EnumMemberSeq;
+
+    interface Container : IRObject {
+	// read interface
+	
+	Contained lookup ( in ScopedName search_name);
+	
+	ContainedSeq contents (
+			       in DefinitionKind limit_type,
+			       in boolean exclude_inherited
+			       );
+	
+	ContainedSeq lookup_name (
+				  in Identifier search_name, 
+				  in long levels_to_search, 
+				  in DefinitionKind limit_type,
+				  in boolean exclude_inherited
+				  );
+	
+	struct Description {
+	    Contained contained_object; 
+	    DefinitionKind kind;
+	    any value; 
+	};
+	
+	typedef sequence<Description> DescriptionSeq;
+	
+	DescriptionSeq describe_contents (
+					  in DefinitionKind limit_type,
+					  in boolean exclude_inherited,
+					  in long max_returned_objs
+					  );
+	
+	// write interface
+	 
+	ModuleDef create_module (
+				 in RepositoryId id,
+				 in Identifier name,
+				 in VersionSpec version
+				 );
+	 
+	ConstantDef create_constant (
+				     in RepositoryId id,
+				     in Identifier name,
+				     in VersionSpec version,
+				     in IDLType type,
+				     in any value
+				     );
+	 
+	StructDef create_struct (
+				 in RepositoryId id,
+				 in Identifier name,
+				 in VersionSpec version,
+				 in StructMemberSeq members
+				 );
+	 
+	UnionDef create_union (
+			       in RepositoryId id,
+			       in Identifier name,
+			       in VersionSpec version,
+			       in IDLType discriminator_type,
+			       in UnionMemberSeq members
+			       );
+	 
+	EnumDef create_enum (
+			     in RepositoryId id,
+			     in Identifier name,
+			     in VersionSpec version,
+			     in EnumMemberSeq members
+			     );
+	 
+	AliasDef create_alias (
+			       in RepositoryId id,
+			       in Identifier name,
+			       in VersionSpec version,
+			       in IDLType original_type
+			       );
+	 
+	InterfaceDef create_interface (
+				       in RepositoryId id,
+				       in Identifier name,
+				       in VersionSpec version,
+				       in InterfaceDefSeq base_interfaces
+				       );
+    };
+
+
+    interface IDLType : IRObject {
+	readonly attribute TypeCode type;
+    };
+
+
+    interface PrimitiveDef;
+    interface StringDef;
+    interface SequenceDef;
+    interface ArrayDef;
+
+    enum PrimitiveKind {
+	pk_null, pk_void, pk_short, pk_long, pk_ushort, pk_ulong,
+	pk_float, pk_double, pk_boolean, pk_char, pk_octet,
+	pk_any, pk_TypeCode, pk_Principal, pk_string, pk_objref,
+	pk_longlong, pk_ulonglong, pk_longdouble, pk_wchar, pk_wstring,
+	pk_value_base
+    };
+
+    interface Repository : Container {
+	// read interface
+
+	Contained lookup_id (in RepositoryId search_id);
+
+	PrimitiveDef get_primitive (in PrimitiveKind kind);
+
+	// write interface
+
+	StringDef create_string (in unsigned long bound);
+
+	SequenceDef create_sequence (
+				     in unsigned long bound,
+				     in IDLType element_type
+				     );
+
+	ArrayDef create_array (
+			       in unsigned long length,
+			       in IDLType element_type
+			       );
+    };
+
+
+    interface ModuleDef : Container, Contained {
+    };
+
+    struct ModuleDescription {
+	Identifier name; 
+	RepositoryId id; 
+	RepositoryId defined_in;
+	VersionSpec version;
+    };
+
+
+    interface ConstantDef : Contained {
+	readonly attribute TypeCode type;
+	attribute IDLType type_def;
+	attribute any value;
+    };
+
+    struct ConstantDescription {
+	Identifier name; 
+	RepositoryId id; 
+	RepositoryId defined_in; 
+	VersionSpec version;
+	TypeCode type; 
+	any value; 
+    };
+
+
+    interface TypedefDef : Contained, IDLType {
+    };
+
+    struct TypeDescription {
+	Identifier name; 
+	RepositoryId id; 
+	RepositoryId defined_in; 
+	VersionSpec version;
+	TypeCode type; 
+    };
+
+
+    interface StructDef : TypedefDef {
+	attribute StructMemberSeq members;
+    };
+
+
+    interface UnionDef : TypedefDef {
+	readonly attribute TypeCode discriminator_type;
+	attribute IDLType discriminator_type_def;
+	attribute UnionMemberSeq members;
+    };
+
+
+    interface EnumDef : TypedefDef {
+	attribute EnumMemberSeq members;
+    };
+
+
+    interface AliasDef : TypedefDef {
+	attribute IDLType original_type_def;
+    };
+
+    interface NativeDef : TypedefDef {
+    };
+
+
+    interface PrimitiveDef: IDLType {
+	readonly attribute PrimitiveKind kind;
+    };
+
+
+    interface StringDef : IDLType {
+	attribute unsigned long bound;
+    };
+
+    interface WstringDef : IDLType {
+	attribute unsigned long bound;
+    };
+
+    interface FixedDef : IDLType {
+	attribute unsigned short digits;
+	attribute  short scale;
+    };
+
+    interface SequenceDef : IDLType {
+	attribute unsigned long bound;
+	readonly attribute TypeCode element_type;
+	attribute IDLType element_type_def;
+    };
+
+    interface ArrayDef : IDLType {
+	attribute unsigned long length;
+	readonly attribute TypeCode element_type;
+	attribute IDLType element_type_def;
+    };
+
+
+    interface ExceptionDef : Contained {
+	readonly attribute TypeCode type;
+	attribute StructMemberSeq members;
+    };
+
+    struct ExceptionDescription {
+	Identifier name; 
+	RepositoryId id; 
+	RepositoryId defined_in; 
+	VersionSpec version;
+	TypeCode type; 
+    };
+
+    enum AttributeMode {ATTR_NORMAL, ATTR_READONLY};
+
+    interface AttributeDef : Contained {
+	readonly attribute TypeCode type;
+	attribute IDLType type_def;
+	attribute AttributeMode mode;
+    };
+
+    struct AttributeDescription {
+	Identifier name; 
+	RepositoryId id; 
+	RepositoryId defined_in; 
+	VersionSpec version;
+	TypeCode type;
+	AttributeMode mode; 
+    };
+
+    enum OperationMode {OP_NORMAL, OP_ONEWAY};
+
+    enum ParameterMode {PARAM_IN, PARAM_OUT, PARAM_INOUT};
+
+    struct ParameterDescription {
+	Identifier name; 
+	TypeCode type; 
+	IDLType type_def;
+	ParameterMode mode;
+    };
+    typedef sequence <ParameterDescription> ParDescriptionSeq;
+
+    typedef Identifier ContextIdentifier;
+    typedef sequence <ContextIdentifier> ContextIdSeq;
+
+    typedef sequence <ExceptionDef> ExceptionDefSeq;
+    typedef sequence <ExceptionDescription> ExcDescriptionSeq;
+
+    interface OperationDef : Contained { 
+	readonly attribute TypeCode result;
+	attribute IDLType result_def;
+	attribute ParDescriptionSeq params;
+	attribute OperationMode mode; 
+	attribute ContextIdSeq contexts;
+	attribute ExceptionDefSeq exceptions;
+    };
+
+    struct OperationDescription {
+	Identifier name; 
+	RepositoryId id; 
+	RepositoryId defined_in; 
+	VersionSpec version;
+	TypeCode result; 
+	OperationMode mode; 
+	ContextIdSeq contexts; 
+	ParDescriptionSeq parameters;
+	ExcDescriptionSeq exceptions;
+    };
+
+    typedef sequence <RepositoryId> RepositoryIdSeq;
+    typedef sequence <OperationDescription> OpDescriptionSeq;
+    typedef sequence <AttributeDescription> AttrDescriptionSeq;
+
+    interface InterfaceDef : Container, Contained, IDLType 
+    {
+	    // read/write interface
+
+	    attribute InterfaceDefSeq base_interfaces;
+
+	    // read interface
+
+	    boolean is_a (in RepositoryId interface_id);
+
+
+	    struct FullInterfaceDescription {
+		Identifier name;
+		RepositoryId id;
+		RepositoryId defined_in;
+		VersionSpec version;
+		OpDescriptionSeq operations;
+		AttrDescriptionSeq attributes;
+		RepositoryIdSeq base_interfaces;
+		TypeCode type;
+	    };
+
+	    FullInterfaceDescription describe_interface();
+
+	    // write interface
+
+	    AttributeDef create_attribute (in RepositoryId id,
+					   in Identifier name,
+					   in VersionSpec version,
+					   in IDLType type,
+					   in AttributeMode mode
+					   );
+
+	    OperationDef create_operation (in RepositoryId id,
+					   in Identifier name,
+					   in VersionSpec version,
+					   in IDLType result,
+					   in OperationMode mode, 
+					   in ParDescriptionSeq params,
+					   in ExceptionDefSeq exceptions,
+					   in ContextIdSeq contexts
+					   );
+	};
+
+    struct InterfaceDescription 
+    {
+        Identifier name; 
+	RepositoryId id; 
+	RepositoryId defined_in; 
+	VersionSpec version;
+	RepositoryIdSeq base_interfaces;
+    };
+
+    interface ValueDef : Container, Contained, IDLType {
+        // read/write interface
+        attribute InterfaceDefSeq       supported_interfaces;
+        attribute InitializerSeq        initializers;
+        attribute ValueDef              base_value;
+        attribute ValueDefSeq           abstract_base_values;
+        attribute boolean               is_abstract;
+        attribute boolean               is_custom;
+        attribute boolean               is_truncatable;
+        // read interface
+        boolean is_a(in RepositoryId    id);
+
+        struct FullValueDescription {
+            Identifier                  name;
+            RepositoryId                id;
+            boolean                     is_abstract;
+            boolean                     is_custom;
+            RepositoryId                defined_in;
+            VersionSpec                 version;
+            OpDescriptionSeq            operations;
+            AttrDescriptionSeq          attributes;
+            ValueMemberSeq              members;
+            InitializerSeq              initializers;
+            RepositoryIdSeq             supported_interfaces;
+            RepositoryIdSeq             abstract_base_values;
+            boolean                     is_truncatable;
+            RepositoryId                base_value;
+            TypeCode                    type;
+        };
+
+        FullValueDescription describe_value();
+
+        ValueMemberDef create_value_member(
+                                           in RepositoryId             id,
+                                           in Identifier               name,
+                                           in VersionSpec              version,
+                                           in IDLType                  type,
+                                           in Visibility               access
+                                           );
+        AttributeDef create_attribute(
+                                      in RepositoryId             id,
+                                      in Identifier               name,
+                                      in VersionSpec              version,
+                                      in IDLType                  type,
+                                      in AttributeMode            mode
+                                      );
+        OperationDef create_operation (
+                                       in RepositoryId             id,
+                                       in Identifier               name,
+                                       in VersionSpec              version,
+                                       in IDLType                  result,
+                                       in OperationMode            mode,
+                                       in ParDescriptionSeq        params,
+                                       in ExceptionDefSeq          exceptions,
+                                       in ContextIdSeq             contexts
+                                       );
+    };
+
+    struct ValueDescription {
+        Identifier                      name;
+        RepositoryId                    id;
+        boolean                         is_abstract;
+        boolean                         is_custom;
+        RepositoryId                    defined_in;
+        VersionSpec                     version;
+        RepositoryIdSeq                 supported_interfaces;
+        RepositoryIdSeq                 abstract_base_values;
+        boolean                         is_truncatable;
+        RepositoryId                    base_value; 
+    };
+    // CORBA 2.1
+
+    enum TCKind { 
+	tk_null, tk_void, 
+	tk_short, tk_long, tk_ushort, tk_ulong, 
+	tk_float, tk_double, tk_boolean, tk_char, 
+	tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref, 
+	tk_struct, tk_union, tk_enum, tk_string, 
+	tk_sequence, tk_array, tk_alias, tk_except, 
+	tk_longlong, tk_ulonglong, tk_longdouble,
+	tk_wchar, tk_wstring, tk_fixed,
+	tk_value, tk_value_box, 
+	tk_native, tk_abstract_interface
+    };
+
+    typedef short ValueModifier; //PIDL
+
+    const ValueModifier VM_NONE = 0;
+    const ValueModifier VM_CUSTOM = 1;
+    const ValueModifier VM_ABSTRACT = 2;
+    const ValueModifier VM_TRUNCATABLE = 3;
+
+    interface TypeCode { // PIDL
+	exception Bounds {};
+	exception BadKind {};
+	
+	// for all TypeCode kinds
+	boolean equal (in TypeCode tc);
+	TCKind kind ();
+	
+	// for tk_objref, tk_struct, tk_union, tk_enum, 
+	// tk_alias, and tk_except
+	RepositoryId id () raises (BadKind);
+	
+	// for tk_objref, tk_struct, tk_union, tk_enum, 
+	// tk_alias, and tk_except
+	Identifier name () raises (BadKind);
+	
+	// for tk_struct, tk_union, tk_enum, and tk_except
+	unsigned long member_count () raises (BadKind);
+	Identifier member_name (in unsigned long index) 
+	    raises (BadKind, Bounds);
+	
+	// for tk_struct, tk_union, and tk_except
+	TypeCode member_type (in unsigned long index) 
+	    raises (BadKind, Bounds);
+	
+	// for tk_union
+	any member_label (in unsigned long index) 
+	    raises (BadKind, Bounds);
+	TypeCode discriminator_type () raises (BadKind);
+	long default_index () raises (BadKind); 
+	
+	// for tk_string, tk_sequence, and tk_array
+	unsigned long length () raises (BadKind);
+	
+	// for tk_sequence, tk_array, and tk_alias
+	TypeCode content_type () raises (BadKind);
+	
+	unsigned short fixed_scale () raises (BadKind);
+	unsigned short fixed_digits () raises (BadKind);
+    };
+
+
+    // the usual mapping of Object will be 
+    // replaced by a separate Object.java
+    // which cannot be derived by simply applying the
+    // mapping rules to this interface. This interface is
+    // listed here simply for completeness' sake.
+
+    /* 
+       interface Object {				
+       ImplementationDef get_implementation ();
+       InterfaceDef get_interface ();
+       boolean is_nil();
+       Object duplicate ();
+       void release ();
+       boolean is_a (in string logical_type_id);
+       boolean non_existent();
+       boolean is_equivalent (in Object other_object);
+       unsigned long hash(in unsigned long maximum);
+	
+       Status create_request (			
+       in Context ctx,
+       in Identifier  operation,
+       in NVList arg_list,
+       inout NamedValue result,
+       out Request request,
+       in Flags req_flags 
+       );
+
+       Policy get_policy(in PolicyType policy_type);
+
+       DomainManagersList get_domain_managers();
+		
+       };
+    */
+
+
+    /* Domain Manager new in 2.2 */
+
+    interface DomainManager
+	{
+	    Policy get_domain_policy(in PolicyType policy_type);
+	};
+
+    const PolicyType SecConstruction = 11;
+
+    interface ConstructionPolicy: Policy
+	{
+	    void make_domain_manager(in InterfaceDef object_type,
+				     in boolean constr_policy);
+	};
+
+    typedef sequence <DomainManager> DomainManagersList;
+
+
+    interface Current {};
+/*
+    interface ORB 
+    {
+
+        exception InvalidName {}; 
+	
+        // Getting initial object references 
+        typedef string ObjectId;
+        typedef sequence <ObjectId> ObjectIdList; 
+	
+        boolean get_service_information(in ServiceType service_type,
+                                        out ServiceInformation service_information);
+
+        ObjectIdList list_initial_services (); 
+        Object resolve_initial_references (in ObjectId identifier)
+            raises (InvalidName); 
+	
+        string object_to_string (in Object obj);
+        Object string_to_object (in string str);
+		
+        NVList create_list ( in long count );
+        NVList create_operation_list ( in OperationDef oper );
+
+        NamedValue create_named_value( in string name, in any value, 
+                                       in Flags flags);
+	
+	
+        _Context get_default_context();
+        Environment create_environment();
+	
+        typedef sequence< Request > RequestSeq;
+	
+        void send_multiple_requests_oneway(in RequestSeq req);
+        void send_multiple_requests_deferred(in RequestSeq req);
+
+        boolean poll_next_response();
+        Request get_next_response();
+	
+        Current get_current();
+	
+        TypeCode get_primitive_tc( in TCKind tcKind);
+        any create_any();
+		
+        ExceptionList create_exception_list();
+        ContextList create_context_list();
+	
+        // there will be additional operations
+        // in the mapped Java class
+
+        // later: 
+
+        // OutputStream create_output_stream();
+        // void connect( Object obj);
+        // void disconnect( Object o);	
+	
+        TypeCode create_struct_tc (
+                                   in RepositoryId id,
+                                   in Identifier name,
+                                   in StructMemberSeq members
+                                   );
+	
+        TypeCode create_union_tc (
+                                  in RepositoryId id,
+                                  in Identifier name,
+                                  in TypeCode discriminator_type,
+                                  in UnionMemberSeq members
+                                  );
+	
+        TypeCode create_enum_tc (
+                                 in RepositoryId id,
+                                 in Identifier name,
+                                 in EnumMemberSeq members
+                                 );
+	
+        TypeCode create_alias_tc (
+                                  in RepositoryId id,
+                                  in Identifier name,
+                                  in TypeCode original_type
+                                  );
+	
+        TypeCode create_exception_tc (
+                                      in RepositoryId id,
+                                      in Identifier name,
+                                      in StructMemberSeq members
+                                      );
+	
+        TypeCode create_interface_tc (
+                                      in RepositoryId id,
+                                      in Identifier name
+                                      );
+	
+        TypeCode create_string_tc (
+                                   in unsigned long bound
+                                   );
+	
+        TypeCode create_sequence_tc (
+                                     in unsigned long bound,
+                                     in TypeCode element_type
+                                     );
+	
+        TypeCode create_recursive_sequence_tc (
+                                               in unsigned long bound,
+                                               in unsigned long offset
+                                               );
+	
+        TypeCode create_array_tc (
+                                  in unsigned long length,
+                                  in TypeCode element_type
+                                  );
+	
+	}; 
+*/
+}; // CORBA module
+
+#endif

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosLifeCycle.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosLifeCycle.idl?rev=332145&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosLifeCycle.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosLifeCycle.idl Wed Nov  9 13:21:41 2005
@@ -0,0 +1,69 @@
+//File: CosLifeCycle.idl
+//Part of the LifeCycle Service
+// Note: if your IDL compiler does not yet support the 
+//   CORBA 2.3 Feature "Escaped Identifiers" (which provides 
+//   for the addition of new keywords to IDL, compile this 
+//   module with the preprocessor definition 
+//   "NO_ESCAPED_IDENTIFIERS". With many compilers this 
+//   would be done a qualifier on the command line, 
+//   something like -DNO_ESCAPED_IDENTIFIERS
+
+#ifndef _COS_LIFE_CYCLE_IDL_
+#define _COS_LIFE_CYCLE_IDL_
+
+#include <CosNaming.idl>
+
+#pragma prefix "omg.org"
+
+module CosLifeCycle{
+
+	typedef CosNaming::Name Key; 
+	typedef Object _Factory;
+	typedef sequence <_Factory> Factories;
+	typedef struct NVP {	 
+		CosNaming::Istring	name; 
+		any 				value; 
+	} NameValuePair;
+	typedef sequence <NameValuePair> Criteria;
+
+	exception NoFactory {
+		Key search_key;
+	};
+	exception NotCopyable { string reason; };
+	exception NotMovable { string reason; };
+	exception NotRemovable { string reason; };
+	exception InvalidCriteria{ Criteria invalid_criteria; };
+	exception CannotMeetCriteria { Criteria unmet_criteria;	};
+
+	interface FactoryFinder {
+		Factories find_factories(in Key factory_key)
+			raises(NoFactory);
+	};
+
+	interface LifeCycleObject {
+		LifeCycleObject copy(in FactoryFinder there, 
+							 in Criteria the_criteria)
+			raises(NoFactory, NotCopyable, InvalidCriteria,
+				 CannotMeetCriteria);
+		void move(in FactoryFinder there, 
+				  in Criteria the_criteria)
+			raises(NoFactory, NotMovable, InvalidCriteria,
+				 CannotMeetCriteria);
+		void remove()
+			raises(NotRemovable);
+	};
+
+	interface GenericFactory {		
+#ifdef NO_ESCAPED_IDENTIFIERS
+		boolean supports(in Key k);
+#else
+		boolean _supports(in Key k);
+#endif
+		Object create_object(			
+				in Key 			k, 
+				in Criteria		the_criteria) 				
+			raises (NoFactory, InvalidCriteria, 										
+				CannotMeetCriteria);
+	};
+};
+#endif /* ifndef _COS_LIFE_CYCLE_IDL_ */

Modified: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl?rev=332145&r1=331651&r2=332145&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl (original)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl Wed Nov  9 13:21:41 2005
@@ -1,456 +1,112 @@
-//
-// CosNaming.idl - Naming service interface
-//
-#pragma prefix "omg.org"
-
-/**
- * The CORBA COS Naming Service provides the ability to bind a name
- * to an object relative to a naming context. A naming context is an
- * object that contains a set of name bindings in which each name is unique. 
- * To resolve a name is to determine the object associated with the name in
- * a given context. <p>
- *
- * See http://www.omg.org/corba/sectrans.htm#nam for the complete CORBA
- * COS Naming Specification. <p>
- */
-module CosNaming 
-{
-  typedef string Istring;
-
-  /** 
-   * Many of the operations defined on a naming context take names as
-   * parameters. Names have structure. A name is an ordered sequence of 
-   * components. <p>
-   * 
-   * A name with a single component is called a simple name; a name with
-   * multiple components is called a compound name. Each component except 
-   * the last is used to name a context; the last component denotes the 
-   * bound object. <p>
-   * 
-   * A name component consists of two attributes: the identifier
-   * attribute and the kind attribute. Both the identifier attribute and the 
-   * kind attribute are represented as IDL strings. The kind attribute adds 
-   * descriptive power to names in a syntax-independent way. Examples of the 
-   * value of the kind attribute include c_source, object_code, executable, 
-   * postscript, or " ". 
-   */
-  struct NameComponent 
-  {
-    Istring id;
-    Istring kind;
-  };
-    
-  // A name is a sequence of name components.
-  typedef sequence <NameComponent> Name;
-    
-  /**
-   * Specifies whether the given binding is for a object (that is not a
-   * naming context) or for a naming context.
-   */
-  enum BindingType 
-  {
-    nobject, 	// name is bound to an object
-    ncontext	// name is bound to a naming context
-  };
-    
-  /**
-   * A name-to-object association is called a Binding.
-   */
-  struct Binding 
-  {
-    Name binding_name; 		// name
-    BindingType binding_type;	// whether name is bound to an object
-                                //  or a naming context
-  };
-    
-  typedef sequence <Binding> BindingList;    
-    
-  /**
-   * The BindingIterator interface allows a client to iterate through
-   * the bindings using the next_one or next_n operations.
-   * 
-   * The bindings iterator is obtained by using the <tt>list</tt>
-   * method on the <tt>NamingContext</tt>. 
-   * @see org.omg.CosNaming.NamingContext#list
-   */
-  interface BindingIterator 
-  {
-    /**
-     * This operation returns the next binding. If there are no more
-     * bindings, false is returned.
-     * 
-     * @param b the returned binding
-     */ 
-    boolean next_one(out Binding b);
-    
-    /**
-     * This operation returns at most the requested number of bindings.
-     * 
-     * @param how_many the maximum number of bindings tro return <p>
-     * 
-     * @param bl the returned bindings
-     */ 
-    boolean next_n(in unsigned long how_many, 
-		   out BindingList bl);
-        
-    // Destroy binding iterator
-    /**
-     * This operation destroys the iterator.
-     */ 
-    void destroy();
-  };
-    
-
-  /** 
-   * A naming context is an object that contains a set of name bindings in 
-   * which each name is unique. Different names can be bound to an object 
-   * in the same or different contexts at the same time. <p>
-   * 
-   * See <a href=" http://www.omg.org/corba/sectrans.htm#nam">CORBA COS 
-   * Naming Specification.</a>
-   */
-
-  interface NamingContext 
-  {
-    // Declare exceptions
-    /**
-     * 
-     */
-    enum NotFoundReason 
-    { 
-      missing_node, 
-      not_context, 
-      not_object 
-    };
-        
-    /** 
-     * Indicates the name does not identify a binding.
-     */
-    exception NotFound 
-    { 
-      NotFoundReason why;
-      Name rest_of_name;
-    };
-    
-    /**
-     * Indicates that the implementation has given up for some reason.
-     * The client, however, may be able to continue the operation at the
-     * returned naming context.
-     */
-    exception CannotProceed 
-    {
-      NamingContext cxt;
-      Name rest_of_name;
-    };
-                                         
-    /** 
-     * Indicates the name is invalid. 
-     */
-    exception InvalidName 
-    {};                        
-    
-    /**
-     * Indicates an object is already bound to the specified name. Only
-     * one object can be bound to a particular name in a context. 
-     */
-    exception AlreadyBound 
-    {};
-    
-    /**
-     * Indicates that the Naming Context contains bindings.
-     */
-    exception NotEmpty 
-    {};
-    
-    /**
-     * Creates a binding of a name and an object in the naming context.
-     * Naming contexts that are bound using bind do not participate in name
-     * resolution when compound names are passed to be resolved. 
-     * 
-     * @param n Name of the object <p>
-     * 
-     * @param obj The Object to bind with the given name<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     *
-     * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
-     * bound to the specified name.<p>
-     */ 
-    void bind(in Name n, 
-	      in Object obj)
-      raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName, 
-	     AlreadyBound);
-    
-    /**
-     * Names an object that is a naming context. Naming contexts that
-     * are bound using bind_context() participate in name resolution 
-     * when compound names are passed to be resolved.
-     * 
-     * @param n Name of the object <p>
-     * 
-     * @param nc NamingContect object to bind with the given name <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     *
-     * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
-     * bound to the specified name.<p>
-     */ 
-    void bind_context(in Name n, 
-		      in NamingContext nc)
-      raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName, 
-	     AlreadyBound);
-    
-    /**
-     * Creates a binding of a name and an object in the naming context
-     * even if the name is already bound in the context. Naming contexts 
-     * that are bound using rebind do not participate in name resolution 
-     * when compound names are passed to be resolved.
-     * 
-     * @param  n Name of the object <p>
-     * 
-     * @parm obj The Object to rebind with the given name <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    void rebind(in Name n, 
-		in Object obj)
-      raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
-    
-    /** 
-     * Creates a binding of a name and a naming context in the naming
-     * context even if the name is already bound in the context. Naming 
-     * contexts that are bound using rebind_context() participate in name 
-     * resolution when compound names are passed to be resolved.
-     * 
-     * @param n Name of the object <p>
-     * 
-     * @param nc NamingContect object to rebind with the given name <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    void rebind_context(in Name n, 
-			in NamingContext nc)
-      raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
-
-    /** 
-     * The resolve operation is the process of retrieving an object
-     * bound to a name in a given context. The given name must exactly 
-     * match the bound name. The naming service does not return the type 
-     * of the object. Clients are responsible for "narrowing" the object 
-     * to the appropriate type. That is, clients typically cast the returned 
-     * object from Object to a more specialized interface.
-     * 
-     * @param n Name of the object <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    Object resolve(in Name n)
-      raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
-    
-    /** 
-     * The unbind operation removes a name binding from a context.
-     * 
-     * @param n Name of the object <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    void unbind(in Name n)
-      raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
-    
-    /**
-     * The list operation allows a client to iterate through a set of
-     * bindings in a naming context. <p>
-     * 
-     * The list operation returns at most the requested number of
-     * bindings in BindingList bl. 
-     * <ul>
-     * <li>If the naming context contains additional 
-     * bindings, the list operation returns a BindingIterator with the 
-     * additional bindings. 
-     * <li>If the naming context does not contain additional 
-     * bindings, the binding iterator is a nil object reference.
-     * </ul>
-     * 
-     * @param how_many the maximum number of bindings to return <p>
-     * 
-     * @param bl the returned list of bindings <p>
-     * 
-     * @param bi the returned binding iterator <p>
-     */ 
-    void list(in unsigned long how_many, 
-	      out BindingList bl, 
-	      out BindingIterator bi);
-
-    /**
-     * This operation returns a naming context implemented by the same
-     * naming server as the context on which the operation was invoked. 
-     * The new context is not bound to any name.
-     */ 
-    NamingContext new_context();
-    
-    /**
-     * This operation creates a new context and binds it to the name
-     * supplied as an argument. The newly-created context is implemented 
-     * by the same naming server as the context in which it was bound (that 
-     * is, the naming server that implements the context denoted by the 
-     * name argument excluding the last component).
-     * 
-     * @param n Name of the object <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
-     * bound to the specified name.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    NamingContext bind_new_context(in Name n)
-      raises(NotFound, 
-	     AlreadyBound, 
-	     CannotProceed, 
-	     InvalidName);
-    
-    /**  Not implemented yet!
-    void destroy()
-      raises(NotEmpty);
-     * The destroy operation deletes a naming context. If the naming 
-     * context contains bindings, the NotEmpty exception is raised.
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming Context contains bindings.
-     */
-   }; 
-  /**
-   * A naming context extension is an extenrion to naming context that contains a set of name bindings in 
-   * which each name is unique. Different names can be bound to an object 
-   * in the same or different contexts at the same time. <p>
-   * 
-   * See <a href=" http://www.omg.org/corba/sectrans.htm#nam">CORBA COS 
-   * Naming Specification.</a>
-   */
-
-  interface NamingContextExt : CosNaming::NamingContext {
-
-    typedef string StringName;
-    typedef string Address;
-    typedef string URLString;
-
-  /** 
-     * The to_string operation is the process of retrieving a stringified name 
-     * from a name object. 
-     * 
-     * @param n String Name of the object <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    StringName to_string(in Name n) 
-      raises(
-	NamingContext::InvalidName);
-
-  /** 
-     * The to_name operation is the process of retrieving a name object
-     * to a stringified name. 
-     * 
-     * @param n String Name of the object <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    Name to_name(in StringName sn)
-      raises(NamingContext::InvalidName);
-
-
-    exception InvalidAddress {};
-
-  /** 
-     * The to_url operation is the process of retrieving a url representation from a stringified name and
-     * address.
-     * 
-     * @param addr Address of the object <p>
-     * 
-     * @param sn String Name of the object <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidAddress Indicates that the Address is invalid. <p>
-     */
-     URLString to_url(in Address addr, in StringName sn)
-       raises(
-        InvalidAddress, 
-        NamingContext::InvalidName);
-    /** 
-     * The resolve_str operation is the process of retrieving an object
-     * bound to a stringified name in a given context. The given name must exactly 
-     * match the bound name. The naming service does not return the type 
-     * of the object. Clients are responsible for "narrowing" the object 
-     * to the appropriate type. That is, clients typically cast the returned 
-     * object from Object to a more specialized interface.
-     * 
-     * @param n String Name of the object <p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
-     * given up for some reason. The client, however, may be able to 
-     * continue the operation at the returned naming context.<p>
-     * 
-     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
-     */ 
-    
-    Object resolve_str(in StringName n)
-      raises(
-         NamingContext::NotFound, 
-         NamingContext::CannotProceed,
-         NamingContext::InvalidName);
-   };
-};
+// File: CosNaming.idl
+#ifndef _COSNAMING_IDL_
+#define _COSNAMING_IDL_
+
+#pragma prefix "omg.org"
+
+module CosNaming {
+
+    typedef string Istring;
+    struct NameComponent {
+	Istring id;
+	Istring kind;
+    };
+
+    typedef sequence<NameComponent> Name;
+
+    enum BindingType { nobject, ncontext };
+
+    struct Binding {
+	Name binding_name;
+	BindingType binding_type;
+    };
+
+    // Note: In struct Binding, binding_name is incorrectly defined
+    // as a Name instead of a NameComponent. This definition is
+    // unchanged for compatibility reasons.
+
+    typedef sequence <Binding> BindingList;
+
+    interface BindingIterator;
+
+    interface NamingContext {
+
+	enum NotFoundReason {
+	    missing_node, not_context, not_object
+	};
+	exception NotFound {
+	    NotFoundReason why;
+	    Name rest_of_name;
+	};
+	exception CannotProceed {
+	    NamingContext cxt;
+	    Name rest_of_name;
+	};
+	exception InvalidName{};
+	exception AlreadyBound {};
+	exception NotEmpty{};
+
+	void bind(in Name n, in Object obj)
+	    raises(
+		   NotFound, CannotProceed,
+		   InvalidName, AlreadyBound
+		   );
+	void rebind(in Name n, in Object obj)
+	    raises(NotFound, CannotProceed, InvalidName);
+	void bind_context(in Name n, in NamingContext nc)
+	    raises(
+		   NotFound, CannotProceed,
+		   InvalidName, AlreadyBound
+		   );
+	void rebind_context(in Name n, in NamingContext nc)
+	    raises(NotFound, CannotProceed, InvalidName);
+	Object resolve (in Name n)
+	    raises(NotFound, CannotProceed, InvalidName);
+	void unbind(in Name n)
+	    raises(NotFound, CannotProceed, InvalidName);
+	NamingContext new_context();
+	NamingContext bind_new_context(in Name n)
+	    raises(
+		   NotFound, AlreadyBound,
+		   CannotProceed, InvalidName
+		   );
+	void destroy() raises(NotEmpty);
+	void list(
+		  in unsigned long how_many,
+		  out BindingList bl,
+		  out BindingIterator bi
+		  );
+    };
+
+    interface BindingIterator {
+	boolean next_one(out Binding b);
+	boolean next_n(in unsigned long how_many, out BindingList bl);
+	void destroy();
+    };
+
+    interface NamingContextExt: NamingContext {
+	typedef string StringName;
+	typedef string Address;
+	typedef string URLString;
+
+	StringName to_string(in Name n) raises(InvalidName);
+
+	Name to_name(in StringName sn)
+	    raises(InvalidName);
+
+	exception InvalidAddress {};
+
+	URLString to_url(in Address addr, in StringName sn)
+	    raises(InvalidAddress, InvalidName);
+
+	Object resolve_str(in StringName n)
+	    raises(
+		   NotFound, CannotProceed,
+		   InvalidName
+		   );
+
+    };
+
+};
+#endif // _COSNAMING_IDL_
+

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSCurrent.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSCurrent.idl?rev=332145&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSCurrent.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSCurrent.idl Wed Nov  9 13:21:41 2005
@@ -0,0 +1,23 @@
+
+// CosTransactions Module
+// OMG Transaction Service v1.1, November 1997.
+
+#ifndef __CURRENT_IDL__
+#define __CURRENT_IDL__
+
+#include "CosTransactions.idl"
+#include <Current.idl>
+
+#pragma prefix "omg.org"
+
+module CosTransactions {
+      
+  interface TransactionPolicy : CORBA::Policy {
+    readonly attribute TransactionPolicyValue value;
+  };
+  
+}; // End of CosTransactions Module
+
+#endif
+
+

Modified: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl?rev=332145&r1=331651&r2=332145&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl (original)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl Wed Nov  9 13:21:41 2005
@@ -1,32 +1,53 @@
-//File: CosTSPortability.idl
-//Part of the Transaction Service
 
-#ifndef _COS_TS_PORTABILITY_IDL_
-#define _COS_TS_PORTABILITY_IDL_
+// CosTSPortability Module
+// OMG Transaction Service v1.1, November 1997.
 
-//Note Even though this module is marked PIDL, it compiles with
-//     an IDL compiler. 
+#ifndef __COSTSPORTABILITY_IDL__
+#define __COSTSPORTABILITY_IDL__
 
-#include <CosTransactions.idl>
+#include "CosTransactions.idl"
 
 #pragma prefix "omg.org"
 
-module CosTSPortability { // PIDL
-	typedef long ReqId;
+module CosTSPortability { 
+  interface Sender;
+  interface Receiver;
+};
 
-	interface Sender {
-		void sending_request(in ReqId id,
-			out CosTransactions::PropagationContext ctx);
-		void received_reply(in ReqId id,
-			in CosTransactions::PropagationContext ctx, 
-			in CORBA::Environment env);
-	};
+module CORBA {
+  interface Environment;
+  exception WrongTransaction {};
+
+  interface TSIdentification {
+
+      exception NotAvailable {};
+      exception AlreadyIdentified {};
+
+      void identify_sender (in CosTSPortability::Sender sender)
+         raises (NotAvailable, AlreadyIdentified);
+      void identify_receiver (in CosTSPortability::Receiver receiver)
+         raises (NotAvailable, AlreadyIdentified);
+  };
+};
 
-	interface Receiver {
-		void received_request(in ReqId id,
-			in CosTransactions::PropagationContext ctx);
-		void sending_reply(in ReqId id,
-			out CosTransactions::PropagationContext ctx);
-	};
+
+module CosTSPortability { 
+  typedef long ReqId;
+  
+  interface Sender {
+    void sending_request(in ReqId id,
+			 out CosTransactions::PropagationContext ctx);
+    void received_reply(in ReqId id,
+			in CosTransactions::PropagationContext ctx, 
+			in CORBA::Environment env) raises (CORBA::WrongTransaction);
+  };
+  
+  interface Receiver {
+    void received_request(in ReqId id,
+			  in CosTransactions::PropagationContext ctx);
+    void sending_reply(in ReqId id,
+		       out CosTransactions::PropagationContext ctx);
+  };
 };
-#endif /* ifndef _COS_TS_PORTABILITY_IDL_ */
\ No newline at end of file
+
+#endif