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
- // subjects 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