[jboss-cvs] Repository SVN: r517 - in jacorb: 2.3.0jboss.patch2 and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu May 31 04:38:17 EDT 2007
Author: dimitris at jboss.org
Date: 2007-05-31 04:38:17 -0400 (Thu, 31 May 2007)
New Revision: 517
Added:
jacorb/2.3.0jboss.patch2/
jacorb/2.3.0jboss.patch2/README
jacorb/2.3.0jboss.patch2/component-info.xml
jacorb/2.3.0jboss.patch2/lib/
jacorb/2.3.0jboss.patch2/lib/idl.jar
jacorb/2.3.0jboss.patch2/lib/idl_g.jar
jacorb/2.3.0jboss.patch2/lib/jacorb.jar
jacorb/2.3.0jboss.patch2/lib/jacorb_g.jar
jacorb/2.3.0jboss.patch2/patchfile.from_JacORB_2.3.0_to_JacORB_2_3_0jboss.patch2
jacorb/2.3.0jboss.patch2/resources/
jacorb/2.3.0jboss.patch2/resources/CSI.idl
jacorb/2.3.0jboss.patch2/resources/CosTransactions.idl
jacorb/2.3.0jboss.patch2/resources/jacorb.properties
jacorb/2.3.0jboss.patch2/resources/orb.idl
Log:
import a first cut of jacorb 2.3.0jboss.patch2
Added: jacorb/2.3.0jboss.patch2/README
===================================================================
--- jacorb/2.3.0jboss.patch2/README (rev 0)
+++ jacorb/2.3.0jboss.patch2/README 2007-05-31 08:38:17 UTC (rev 517)
@@ -0,0 +1,69 @@
+The files jacorb.jar and idl.jar in this directory are a patched version of
+JacORB 2.3.0. The patched libraries identify themselves as
+
+ JacORB V 2.3.0 (JBoss patch 2), www.jacorb.org
+
+Instructions for generating these files are included below.
+
+Kudos to the JacORB team, for this great open-source ORB.
+
+Special thanks to:
+
+ Gerald Brose, for creating JacORB
+
+ Andre Spiegel, for his work on OBV in JacORB
+
+Francisco
+
+---------------------------------------------------------------------------
+
+ *** How to generate the jacorb.jar and idl.jar files in this directory ***
+
+(1) Obtain a JacORB 2.3.0 source tree, with the following command:
+
+cvs -d :pserver:anonymous at www.jacorb.org/cvsroot/jacorb checkout -r RELEASE_2_3_0 JacORB
+
+(2) Apply the following patches from the JacORB CVS repository:
+
+cd JacORB
+
+# The size of a chunk should not include any bytes of padding that might have
+# been added after the chunk for alignment purposes. This patch allows JacORB
+# to interoperate with the ORB in Sun's JDK 1.5 with chunking of custom RMI
+# valuetypes enabled (jacorb.interop.chunk_custom_rmi_valuetypes=on), as it
+# should be per the CORBA spec.
+cvs update -r1.123 src/org/jacorb/orb/CDROutputStream.java
+
+# In handle_chunking: change to distinguish a null value tag from
+# a chunk size tag (the latter must be positive).
+# In read_untyped_value and readChunkSizeTag: changes for correctness (to
+# ensure that chunk_end_pos is set to -1 if we are not within a chunk) and
+# for clarity.
+cvs update -r1.115 src/org/jacorb/orb/CDRInputStream.java
+
+# Fix for bug #782 in JacORB's bugzilla system:
+# The creation of an SSLServerSocket fails when JacORB 2.3.0 uses the JSSE
+# included in Sun's JDK 1.4 and later releases. The problem is in the wrapper
+# class JSSEUtil, which causes an IllegalAccessException to be thrown.
+cvs update -r1.2 src/org/jacorb/security/ssl/sun_jsse/JSSEUtil.java
+
+(3) Apply the patchfile below:
+
+Index: src/org/jacorb/util/Version.java
+===================================================================
+RCS file: /cvsroot/jacorb/JacORB/src/org/jacorb/util/Version.java,v
+retrieving revision 1.36
+diff -u -r1.36 Version.java
+--- src/org/jacorb/util/Version.java 17 Feb 2007 18:54:00 -0000 1.36
++++ src/org/jacorb/util/Version.java 31 May 2007 01:48:21 -0000
+@@ -28,8 +28,8 @@
+ */
+ public final class Version
+ {
+- public static final String version = "2.3.0";
+- public static final String date = "17-Feb-2007";
++ public static final String version = "2.3.0 (JBoss patch 2)";
++ public static final String date = "30-May-2007";
+ public static final String longVersion = version + ", " + date;
+ public static final String yearString = "1997-2007";
+ }
Added: jacorb/2.3.0jboss.patch2/component-info.xml
===================================================================
--- jacorb/2.3.0jboss.patch2/component-info.xml (rev 0)
+++ jacorb/2.3.0jboss.patch2/component-info.xml 2007-05-31 08:38:17 UTC (rev 517)
@@ -0,0 +1,33 @@
+<project name="jacorb-component-info">
+
+ <component id="jacorb"
+ licenseType="lgpl"
+ version="2.3.0jboss.patch2"
+ projectHome="http://www.jacorb.org"
+ description="Java implementation of the OMG's CORBA standard.">
+
+ <!-- Built using JDK 1.4 -->
+ <artifact id="idl.jar"/>
+ <artifact id="idl_g.jar"/>
+ <artifact id="jacorb.jar"/>
+ <artifact id="jacorb_g.jar"/>
+ <artifact id="orb.idl"/>
+ <artifact id="CSI.idl"/>
+ <artifact id="CosTransactions.idl"/>
+ <artifact id="jacorb.properties"/>
+ <import componentref="apache-avalon">
+ <compatible version="4.1.5"/>
+ <compatible version="4.1.5-brew"/>
+ </import>
+ <import componentref="apache-avalon-logkit">
+ <compatible version="1.2"/>
+ <compatible version="1.2-brew"/>
+ </import>
+ <export>
+ <include input="jacorb.jar"/>
+ <include input="jacorb_g.jar"/>
+ <include input="idl.jar"/>
+ </export>
+ </component>
+
+</project>
Added: jacorb/2.3.0jboss.patch2/lib/idl.jar
===================================================================
(Binary files differ)
Property changes on: jacorb/2.3.0jboss.patch2/lib/idl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jacorb/2.3.0jboss.patch2/lib/idl_g.jar
===================================================================
(Binary files differ)
Property changes on: jacorb/2.3.0jboss.patch2/lib/idl_g.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jacorb/2.3.0jboss.patch2/lib/jacorb.jar
===================================================================
(Binary files differ)
Property changes on: jacorb/2.3.0jboss.patch2/lib/jacorb.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jacorb/2.3.0jboss.patch2/lib/jacorb_g.jar
===================================================================
(Binary files differ)
Property changes on: jacorb/2.3.0jboss.patch2/lib/jacorb_g.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jacorb/2.3.0jboss.patch2/patchfile.from_JacORB_2.3.0_to_JacORB_2_3_0jboss.patch2
===================================================================
--- jacorb/2.3.0jboss.patch2/patchfile.from_JacORB_2.3.0_to_JacORB_2_3_0jboss.patch2 (rev 0)
+++ jacorb/2.3.0jboss.patch2/patchfile.from_JacORB_2.3.0_to_JacORB_2_3_0jboss.patch2 2007-05-31 08:38:17 UTC (rev 517)
@@ -0,0 +1,274 @@
+? README
+? Version.patch
+? patchfile
+? lib/jacorb_g.jar.list
+? lib/jacorb_no_g.jar.list
+? lib/saved
+Index: src/org/jacorb/orb/CDRInputStream.java
+===================================================================
+RCS file: /cvsroot/jacorb/JacORB/src/org/jacorb/orb/CDRInputStream.java,v
+retrieving revision 1.114
+retrieving revision 1.115
+diff -u -r1.114 -r1.115
+--- src/org/jacorb/orb/CDRInputStream.java 8 Jan 2007 12:18:45 -0000 1.114
++++ src/org/jacorb/orb/CDRInputStream.java 27 Apr 2007 19:14:06 -0000 1.115
+@@ -50,7 +50,7 @@
+ * Read CDR encoded data
+ *
+ * @author Gerald Brose, FU Berlin
+- * $Id: CDRInputStream.java,v 1.114 2007/01/08 12:18:45 alphonse.bendt Exp $
++ * $Id: CDRInputStream.java,v 1.115 2007/04/27 19:14:06 francisco Exp $
+ */
+
+ public class CDRInputStream
+@@ -466,7 +466,7 @@
+
+ // tag is an end tag
+
+- if ( ! (-tag <= valueNestingLevel))
++ if (-tag > valueNestingLevel)
+ {
+ throw new INTERNAL
+ (
+@@ -475,7 +475,7 @@
+ valueNestingLevel
+ );
+ }
+- valueNestingLevel = - tag;
++ valueNestingLevel = -tag;
+ valueNestingLevel--;
+
+ if (valueNestingLevel > 0)
+@@ -484,17 +484,17 @@
+ handle_chunking();
+ }
+ }
+- else if (tag < 0x7fffff00)
++ else if (tag > 0 && tag < 0x7fffff00)
+ {
+ // tag is the chunk size tag of another chunk
+
+ chunk_end_pos = pos + tag;
+ }
+- else // (tag >= 0x7fffff00)
++ else // (tag == 0 || tag >= 0x7fffff00)
+ {
+- // tag is the value tag of a nested value
++ // tag is the null value tag or the value tag of a nested value
+
+- pos = saved_pos; // "unread" the value tag
++ pos = saved_pos; // "unread" the tag
+ index = saved_index;
+ }
+ }
+@@ -2883,8 +2883,7 @@
+ if (chunkedValue || valueNestingLevel > 0)
+ {
+ valueNestingLevel++;
+- int chunk_size_tag = readChunkSizeTag();
+- chunk_end_pos = pos + chunk_size_tag;
++ readChunkSizeTag();
+ }
+
+ for (int i = 0; i < repository_ids.length; i++)
+@@ -3087,7 +3086,7 @@
+ * special handling if there's no chunk size
+ * in the stream.
+ */
+- private int readChunkSizeTag()
++ private void readChunkSizeTag()
+ {
+ int savedPos = pos;
+ int savedIndex = index;
+@@ -3095,14 +3094,16 @@
+
+ if (!sunInteropFix || chunk_size_tag > 0 && chunk_size_tag < MAX_BLOCK_SIZE)
+ {
+- // looks like the correct chunk size
+- return chunk_size_tag;
++ // valid chunk size: set the ending position of the chunk
++ chunk_end_pos = pos + chunk_size_tag;
++ }
++ else
++ {
++ // reset buffer and remember that we're not within a chunk
++ pos = savedPos;
++ index = savedIndex;
++ chunk_end_pos = -1;
+ }
+-
+- // reset buffer
+- pos = savedPos;
+- index = savedIndex;
+- return MAX_BLOCK_SIZE;
+ }
+
+ /**
+Index: src/org/jacorb/orb/CDROutputStream.java
+===================================================================
+RCS file: /cvsroot/jacorb/JacORB/src/org/jacorb/orb/CDROutputStream.java,v
+retrieving revision 1.122
+retrieving revision 1.123
+diff -u -r1.122 -r1.123
+--- src/org/jacorb/orb/CDROutputStream.java 30 Nov 2006 13:11:07 -0000 1.122
++++ src/org/jacorb/orb/CDROutputStream.java 26 Apr 2007 23:07:26 -0000 1.123
+@@ -47,7 +47,7 @@
+
+ /**
+ * @author Gerald Brose, 1999
+- * @version $Id: CDROutputStream.java,v 1.122 2006/11/30 13:11:07 alphonse.bendt Exp $
++ * @version $Id: CDROutputStream.java,v 1.123 2007/04/26 23:07:26 francisco Exp $
+ *
+ * A stream for CDR marshalling.
+ *
+@@ -2480,13 +2480,13 @@
+ }
+
+ public void write_value(final java.io.Serializable value,
+- final org.omg.CORBA.portable.BoxedValueHelper factory)
++ final org.omg.CORBA.portable.BoxedValueHelper factory)
+ {
+ if (!write_special_value (value))
+ {
++ write_previous_chunk_size();
+ check(7,4);
+ getValueMap().put (value, ObjectUtil.newInteger(pos));
+- write_previous_chunk_size();
+ if ((value instanceof org.omg.CORBA.portable.IDLEntity) ||
+ (value instanceof java.lang.String))
+ {
+@@ -2635,7 +2635,6 @@
+ */
+ private void write_value_header(final String[] repository_ids)
+ {
+- write_previous_chunk_size();
+ if (repository_ids != null)
+ {
+ if( repository_ids.length > 1 )
+@@ -2670,7 +2669,6 @@
+ {
+ if (codebase != null)
+ {
+- write_previous_chunk_size();
+ if ( repository_ids != null )
+ {
+ if( repository_ids.length > 1 )
+@@ -2718,6 +2716,7 @@
+ private void write_value_internal(final java.io.Serializable value,
+ final String repository_id)
+ {
++ write_previous_chunk_size();
+ check(7,4);
+ getValueMap().put(value, ObjectUtil.newInteger(pos));
+
+@@ -2930,9 +2929,9 @@
+ */
+ private void write_previous_chunk_size()
+ {
+- if( chunk_size_tag_pos != -1 )
++ if (chunk_size_tag_pos != -1)
+ {
+- if ( pos == chunk_octets_pos)
++ if (pos == chunk_octets_pos)
+ {
+ // empty chunk: erase chunk size tag
+ pos = chunk_size_tag_pos; // the tag will be overwritten
+Index: src/org/jacorb/security/ssl/sun_jsse/JSSEUtil.java
+===================================================================
+RCS file: /cvsroot/jacorb/JacORB/src/org/jacorb/security/ssl/sun_jsse/JSSEUtil.java,v
+retrieving revision 1.1
+retrieving revision 1.2
+diff -u -r1.1 -r1.2
+--- src/org/jacorb/security/ssl/sun_jsse/JSSEUtil.java 14 Jun 2006 12:49:22 -0000 1.1
++++ src/org/jacorb/security/ssl/sun_jsse/JSSEUtil.java 30 May 2007 22:55:28 -0000 1.2
+@@ -33,7 +33,7 @@
+ * use the JSSE included with JDK1.4 or standalone version 1.0.x
+ *
+ * @author Alphonse Bendt
+- * @version $Id: JSSEUtil.java,v 1.1 2006/06/14 12:49:22 alphonse.bendt Exp $
++ * @version $Id: JSSEUtil.java,v 1.2 2007/05/30 22:55:28 francisco Exp $
+ */
+ public class JSSEUtil
+ {
+@@ -44,8 +44,7 @@
+ boolean result;
+ try
+ {
+- Class clazz = Class.forName("javax.net.ssl.SSLSocket");
+- clazz.getMethod("setEnabledProtocols", new Class[] {String[].class});
++ SSLSocket.class.getMethod("setEnabledProtocols", new Class[] {String[].class});
+ result = true;
+ }
+ catch(Exception e)
+@@ -57,15 +56,29 @@
+
+ public static void setEnabledProtocols(SSLSocket socket, String[] enabledProtocols)
+ {
+- _setEnabledProtocols(socket, enabledProtocols);
+- }
++ if (!isJDK14)
++ {
++ // method does not exist in pre JDK 1.4 JSSE
++ return;
++ }
+
+- public static void setEnabledProtocols(SSLServerSocket socket, String[] enabledProtocols)
+- {
+- _setEnabledProtocols(socket, enabledProtocols);
++ try
++ {
++ Method method = SSLSocket.class.getMethod("setEnabledProtocols", new Class[] {String[].class});
++ method.invoke(socket, new Object[] {enabledProtocols});
++ }
++ catch (InvocationTargetException e)
++ {
++ throw new RuntimeException(e.getTargetException().toString());
++ }
++ catch (Exception e)
++ {
++ // shouldn't happen on JDK1.4
++ throw new RuntimeException(e.toString());
++ }
+ }
+
+- private static void _setEnabledProtocols(Object socket, String[] enabledProtocols)
++ public static void setEnabledProtocols(SSLServerSocket socket, String[] enabledProtocols)
+ {
+ if (!isJDK14)
+ {
+@@ -75,7 +88,7 @@
+
+ try
+ {
+- Method method = socket.getClass().getMethod("setEnabledProtocols", new Class[] {enabledProtocols.getClass()});
++ Method method = SSLServerSocket.class.getMethod("setEnabledProtocols", new Class[] {String[].class});
+ method.invoke(socket, new Object[] {enabledProtocols});
+ }
+ catch (InvocationTargetException e)
+@@ -131,7 +144,7 @@
+
+ try
+ {
+- Method method = s.getClass().getMethod("setWantClientAuth", new Class[] {Boolean.TYPE});
++ Method method = SSLServerSocket.class.getMethod("setWantClientAuth", new Class[] {Boolean.TYPE});
+ method.invoke(s, new Object[] {Boolean.valueOf(request_mutual_auth)});
+ }
+ catch(Exception e)
+Index: src/org/jacorb/util/Version.java
+===================================================================
+RCS file: /cvsroot/jacorb/JacORB/src/org/jacorb/util/Version.java,v
+retrieving revision 1.36
+diff -u -r1.36 Version.java
+--- src/org/jacorb/util/Version.java 17 Feb 2007 18:54:00 -0000 1.36
++++ src/org/jacorb/util/Version.java 31 May 2007 01:52:21 -0000
+@@ -28,8 +28,8 @@
+ */
+ public final class Version
+ {
+- public static final String version = "2.3.0";
+- public static final String date = "17-Feb-2007";
++ public static final String version = "2.3.0 (JBoss patch 2)";
++ public static final String date = "30-May-2007";
+ public static final String longVersion = version + ", " + date;
+ public static final String yearString = "1997-2007";
+ }
Added: jacorb/2.3.0jboss.patch2/resources/CSI.idl
===================================================================
--- jacorb/2.3.0jboss.patch2/resources/CSI.idl (rev 0)
+++ jacorb/2.3.0jboss.patch2/resources/CSI.idl 2007-05-31 08:38:17 UTC (rev 517)
@@ -0,0 +1,202 @@
+#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-idependent
+ // 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
Added: jacorb/2.3.0jboss.patch2/resources/CosTransactions.idl
===================================================================
--- jacorb/2.3.0jboss.patch2/resources/CosTransactions.idl (rev 0)
+++ jacorb/2.3.0jboss.patch2/resources/CosTransactions.idl 2007-05-31 08:38:17 UTC (rev 517)
@@ -0,0 +1,206 @@
+//File: CosTransactions.idl
+//Part of the Transaction Service
+
+#ifndef _COS_TRANSACTIONS_IDL_
+#define _COS_TRANSACTIONS_IDL_
+
+#include <orb.idl>
+
+#pragma prefix "omg.org"
+
+module CosTransactions {
+
+ // Forward references for interfaces defined later in module
+ interface Current;
+ interface TransactionFactory;
+ interface Control;
+ interface Terminator;
+ interface Coordinator;
+ interface RecoveryCoordinator;
+ interface Resource;
+ interface Synchronization;
+ interface SubtransactionAwareResource;
+ interface TransactionalObject;
+
+ // DATATYPES
+ enum Status {
+ StatusActive,
+ StatusMarkedRollback,
+ StatusPrepared,
+ StatusCommitted,
+ StatusRolledBack,
+ StatusUnknown,
+ StatusNoTransaction,
+ StatusPreparing,
+ StatusCommitting,
+ StatusRollingBack
+ };
+
+ enum Vote {
+ VoteCommit,
+ VoteRollback,
+ VoteReadOnly
+ };
+
+ // Structure definitions
+ struct otid_t {
+ long formatID; /*format identifier. 0 is OSI TP */
+ long bqual_length;
+ sequence <octet> tid;
+ };
+ struct TransIdentity {
+ Coordinator coord;
+ Terminator term;
+ otid_t otid;
+ };
+ struct PropagationContext {
+ unsigned long timeout;
+ TransIdentity current;
+ sequence <TransIdentity> parents;
+ any implementation_specific_data;
+ };
+
+ // Heuristic exceptions
+ exception HeuristicRollback {};
+ exception HeuristicCommit {};
+ exception HeuristicMixed {};
+ exception HeuristicHazard {};
+
+ // Other transaction-specific exceptions
+ exception SubtransactionsUnavailable {};
+ exception NotSubtransaction {};
+ exception Inactive {};
+ exception NotPrepared {};
+ exception NoTransaction {};
+ exception InvalidControl {};
+ exception Unavailable {};
+ exception SynchronizationUnavailable {};
+
+ // Current transaction
+ interface Current : CORBA::Current {
+ void begin()
+ raises(SubtransactionsUnavailable);
+ void commit(in boolean report_heuristics)
+ raises(
+ NoTransaction,
+ HeuristicMixed,
+ HeuristicHazard
+ );
+ void rollback()
+ raises(NoTransaction);
+ void rollback_only()
+ raises(NoTransaction);
+
+ Status get_status();
+ string get_transaction_name();
+ void set_timeout(in unsigned long seconds);
+ Control get_control();
+ Control suspend();
+ void resume(in Control which)
+ raises(InvalidControl);
+ };
+
+
+ interface TransactionFactory {
+ Control create(in unsigned long time_out);
+ Control recreate(in PropagationContext ctx);
+ };
+
+ interface Control {
+ Terminator get_terminator()
+ raises(Unavailable);
+ Coordinator get_coordinator()
+ raises(Unavailable);
+ };
+
+ interface Terminator {
+ void commit(in boolean report_heuristics)
+ raises(
+ HeuristicMixed,
+ HeuristicHazard
+ );
+ void rollback();
+ };
+
+ interface Coordinator {
+
+ Status get_status();
+ Status get_parent_status();
+ Status get_top_level_status();
+
+ boolean is_same_transaction(in Coordinator tc);
+ boolean is_related_transaction(in Coordinator tc);
+ boolean is_ancestor_transaction(in Coordinator tc);
+ boolean is_descendant_transaction(in Coordinator tc);
+ boolean is_top_level_transaction();
+
+ unsigned long hash_transaction();
+ unsigned long hash_top_level_tran();
+
+ RecoveryCoordinator register_resource(in Resource r)
+ raises(Inactive);
+
+ void register_synchronization (in Synchronization sync)
+ raises(Inactive, SynchronizationUnavailable);
+
+ void register_subtran_aware(in SubtransactionAwareResource r)
+ raises(Inactive, NotSubtransaction);
+
+ void rollback_only()
+ raises(Inactive);
+
+ string get_transaction_name();
+ Control create_subtransaction()
+ raises(SubtransactionsUnavailable, Inactive);
+
+ PropagationContext get_txcontext ()
+ raises(Unavailable);
+ };
+
+ interface RecoveryCoordinator {
+ Status replay_completion(in Resource r)
+ raises(NotPrepared);
+ };
+
+ interface Resource {
+ Vote prepare()
+ raises(
+ HeuristicMixed,
+ HeuristicHazard
+ );
+ void rollback()
+ raises(
+ HeuristicCommit,
+ HeuristicMixed,
+ HeuristicHazard
+ );
+ void commit()
+ raises(
+ NotPrepared,
+ HeuristicRollback,
+ HeuristicMixed,
+ HeuristicHazard
+ );
+ void commit_one_phase()
+ raises(
+ HeuristicHazard
+ );
+ void forget();
+ };
+
+ interface TransactionalObject {
+ };
+
+ interface Synchronization : TransactionalObject {
+ void before_completion();
+ void after_completion(in CosTransactions::Status status_);
+ };
+
+ interface SubtransactionAwareResource : Resource {
+ void commit_subtransaction(in Coordinator parent);
+ void rollback_subtransaction();
+ };
+
+}; // End of CosTransactions Module
+
+#endif /* ifndef _COS_TRANSACTIONS_IDL_ */
Added: jacorb/2.3.0jboss.patch2/resources/jacorb.properties
===================================================================
--- jacorb/2.3.0jboss.patch2/resources/jacorb.properties (rev 0)
+++ jacorb/2.3.0jboss.patch2/resources/jacorb.properties 2007-05-31 08:38:17 UTC (rev 517)
@@ -0,0 +1,429 @@
+## $Id: jacorb.properties,v 1.1 2006/08/04 18:22:26 reverbel Exp $
+
+###############################################################################
+## ##
+## JacORB configuration for the JBoss server ##
+## ##
+###############################################################################
+
+########################################
+#
+# options to control the configuration stage
+#
+########################################
+
+# where to look for ORB config files?
+#jacorb.config.dir=e:/JacORB_CONFIG_FEATURE
+
+# controls log output (to the console!) during the configuration stage.
+# This can help to find out which config files are actually loaded!
+# 0 : nothing is logged
+# 1,2 : only errors
+# 3,4 : info (which config files were loaded)
+jacorb.config.log.verbosity=0
+# If you set the property above to nonzero, the messages
+#
+# "jacorb.home unset! Will use '.'"
+#
+# and
+#
+# "File ./jacorb.properties for configuration jacorb not found"
+#
+# will appear at the console when the JBoss server starts. These messages
+# can be safely ignored.
+
+########################################
+# #
+# Initial references configuration #
+# #
+########################################
+
+ORBInitRef.NameService=corbaloc::localhost:3528/JBoss/Naming/root
+
+########################################
+# #
+# Export of corbaloc IORs #
+# #
+########################################
+
+# the object key mapping below permit clients of a name service to
+# access it using corbaloc::ipaddress:portnum/NameService
+jacorb.orb.objectKeyMap.NameService=JBoss/Naming/root
+
+##################################
+# #
+# ORB version number output #
+# #
+##################################
+
+# if on, the ORB's version number is printed whenever the ORB is initialized
+jacorb.orb.print_version=off
+
+##################################
+# #
+# Debug output configuration #
+# #
+##################################
+
+# Logging levels for the ORB instance that runs within the JBoss application
+# server are not defined in this file anymore. Instead of specifiyng logging
+# levels here, you should use category elements in file log4j.xml to limit the
+# logging output of the various JacORB categories (jacorb, jacorb.orb,
+# jacorb.orb.factory, jacorb.orb.interceptors, jacorb.orb.giop, jacorb.orb.iiop,
+# jacorb.giop.conn, jacorb.poa, jacorb.naming). Examples:
+#
+# <category name="jacorb">
+# <priority value="WARN"/>
+# </category>
+#
+# <category name="jacorb.poa">
+# <priority value="DEBUG"/>
+# </category>
+#
+# The above for is the server-side ORB only. At the client side, JacORB logging
+# levels should still be defined via *.log.verbosity properties, in a
+# client-side orb.properties or <ORBid>.properties (e.g., jacorb.properties)
+# file.
+
+# hexdump outgoing messages
+jacorb.debug.dump_outgoing_messages=off
+
+# hexdump incoming messages
+jacorb.debug.dump_incoming_messages=off
+
+##################################################
+# #
+# WARNING: The following properties should #
+# only be edited by the expert user. They #
+# can be left untouched in most cases! #
+# #
+##################################################
+
+################################
+# #
+# Basic ORB Configuration #
+# #
+################################
+
+# the GIOP minor version number to use for newly created IORs
+jacorb.giop_minor_version=2
+
+# number of retries if connection cannot directly be established
+jacorb.retries=5
+
+# how many msecs. do we wait between retries
+jacorb.retry_interval=500
+
+# size of network buffers for outgoing messages
+jacorb.outbuf_size=2048
+
+# log2 of maximum buffer size managed by the internal
+# buffer manager.
+#
+# This is NOT the maximum buffer size that
+# can be used, but just the largest size of buffers that
+# will be kept and managed. This value will be added to
+# an internal constant of 5, so the real value in bytes
+# is 2**(5+maxManagedBufSize-1). You only need to increase this
+# value if you are dealing with LOTS of LARGE data structures.
+# You may decrease it to make the buffer manager release large
+# buffers immediately rather than keeping them for later
+# reuse.
+jacorb.maxManagedBufSize=24
+# If this value is 0 an extra unlimited size buffer cache is created
+# for the CDROutputStreams. If this value is > 0 then the cache will
+# be purged every x msecs.
+jacorb.bufferManagerMaxFlush=-1
+
+# Normally, a jacorb server will close the TCP/IP connection right
+# after sending a CloseConnection message. However, it may
+# occasionally happen that the client sends a message into the closed
+# connection because it hasn't handled the CloseConnection yet. To
+# avoid this situation, closing of the TCP/IP connection can be delayed.
+#jacorb.connection.delay_close=on
+#jacorb.connection.timeout_after_closeconnection=20000
+
+# Wait the specified number of msecs for a reply to a request. If
+# exceeded, a org.omg.CORBA.TIMEOUT exception will be thrown
+#jacorb.connection.client.pending_reply_timeout=0
+
+# Client-side connection idle timeout. Set to a non-zero value
+# to close an idle connection after so many msecs. Default is zero,
+# meaning a connection will be kept open indefinitely, or until
+# the OS decides to close it.
+#jacorb.connection.client.idle_timeout=0
+
+# Server-side connection idle timeout. Set to a non-zero value
+# to close an idle connection after so many msecs. Default is zero,
+# meaning a connection will be kept open indefinitely, or until
+# the OS decides to close it.
+#jacorb.connection.server.timeout=10000
+
+# Max no of accepted connections on the server.
+#jacorb.connection.max_server_connections=
+
+# Max number of connection threads.
+#jacorb.connection.max_threads=
+
+# The number of msecs that are waited until the next attempt to find
+# an idle connection is made (i.e. do not continuously spin)
+#jacorb.connection.wait_for_idle_interval=500
+
+# The class name of the SelectionStrategy class
+#jacorb.connection.selection_strategy_class=
+
+# The class name of the StatisticsProvider class
+#jacorb.connection.statistics_provider_class=
+
+#jacorb.reference_caching=off
+
+#
+# The following property specifies the class which is used for
+# reference caching. WeakHashtable uses WeakReferences, so entries
+# get gc'ed if only the Hashtable has a reference to them. This
+# is useful if you have many references to short-living non-persistent
+# CORBA objects. It is only available for java 1.2 and above.
+#
+# On the other hand the standard Hashtable keeps the references until
+# they are explicitely deleted by calling _release(). This is useful
+# for persistent and long-living CORBA objects.
+#
+#jacorb.hashtable_class=org.jacorb.util.WeakHashtable
+#
+jacorb.hashtable_class=java.util.Hashtable
+
+# use GIOP 1.2 byte order markers (since CORBA 2.4-5)
+jacorb.use_bom=off
+
+# add additional IIOP 1.0 profiles even if we are using IIOP 1.2
+jacorb.giop.add_1_0_profiles=off
+
+# Use DNS names in IORs
+jacorb.dns.enable=off
+
+# Compact Typecodes (0 - off, 1 - partial (not member_names), 2 - all)
+jacorb.compactTypecodes=0
+
+# Cache typecode on read
+jacorb.cacheTypecodes=off
+
+# Cache poa names
+jacorb.cachePoaNames=off
+
+###########################################
+# #
+# Interoperability #
+# #
+###########################################
+
+# Turn off indirection encoding for repeated typecodes. This fixes
+# interoperability with certain broken ORB's eg. Orbix2000
+jacorb.interop.indirection_encoding_disable=off
+
+# Iona Comet CORBA/COM bridge can incorrectly encode buffer lengths.
+# Enabling this property adds additional length checking and adjustment
+# for interoperability with Comet.
+jacorb.interop.comet=off
+
+# Some ORBs do not set a byte value of 1 as a CDR encoded boolean true
+# value. Enabling this property interprets any non zero CDR encoded
+# boolean value as true.
+jacorb.interop.lax_boolean_encoding=off
+
+# Control whether the method create_abstract_interface_tc performs
+# a validity check on the name parameter or not. Turning this check
+# off circumvents a bug in Sun's implementation of javax.rmi.CORBA.ValueHander,
+# which occasionally passes an invalid name (an empty string) to
+# ORBSingleton.create_abstract_interface_tc. If you are using RMI valuetypes,
+# you should turn this property off. JBoss uses RMI (and RMI valuetypes), so
+# you should NOT turned this property on!
+jacorb.interop.strict_check_on_tc_creation=off
+
+# Custom-marshalled RMI valuetypes should be encoded as chunks, but some
+# ORBs are not able to decode chunked values. Disable this property for
+# interoperability with the ORB in Sun's JDK 1.4.2.
+jacorb.interop.chunk_custom_rmi_valuetypes=on
+
+# RMI/IIOP data encoded as chunks should contain the length of the chunk.
+# The ORB in Sun's JDK does not always send the length always. Enable this
+# property for interoperability with the Sun ORB.
+jacorb.interop.sun=on
+
+###########################################
+# #
+# Socket Factories #
+# #
+###########################################
+
+# A factory design pattern is used for the creation of sockets and server
+# sockets.
+# The jacorb.net.socket_factory property can be used to configure
+# a socket factory that must implement the operations defined in the
+# interface org.jacorb.orb.factory.SocketFactory.
+# The jacorb.net.server_socket_factory property can be used to configure a
+# server socket factory that must implement the operations defined in the
+# interface org.jacorb.orb.factory.ServerSocketFactory.
+#
+#jacorb.net.socket_factory=org.jacorb.orb.factory.DefaultSocketFactory
+#jacorb.net.server_socket_factory=org.jacorb.orb.factory.DefaultServerSocketFactory
+#jacorb.net.socket_factory=org.jacorb.orb.factory.PortRangeSocketFactory
+#jacorb.net.server_socket_factory=org.jacorb.orb.factory.PortRangeServerSocketFactory
+#
+# Additional socket factores are supported that allow for the configuration
+# of maximum and minimum port numbers that can be used. This can be used to
+# enable firewall traversal via a fixed port range. To use these socket factories
+# configure one or both of the following property pairs. The first property pair
+# configures the client socket factory and the second pair the server socket
+# factory.
+#
+#jacorb.net.socket_factory.port.min
+#jacorb.net.socket_factory.port.max
+#jacorb.net.server_socket_factory.port.min
+#jacorb.net.server_socket_factory.port.max
+
+###########################################
+# #
+# BiDirectional GIOP #
+# #
+###########################################
+
+# uncomment this initializer if you want to use BiDirectional GIOP
+
+#org.omg.PortableInterceptor.ORBInitializerClass.bidir_init=org.jacorb.orb.connection.BiDirConnectionInitializer
+
+
+###########################################
+# #
+# Proxy address in IOR #
+# #
+###########################################
+
+#
+# with these two properties it is possible to
+# tell the ORB what IP/port IORs should contain,
+# if the ServerSockets IP/port can't be used
+# (e.g. for traffic through a firewall).
+#
+# WARNING: this is just "dumb" replacing, so you
+# have to take care of your configuration!
+#
+
+#jacorb.ior_proxy_host=1.2.3.4
+#jacorb.ior_proxy_port=4711
+
+
+###########################################
+# #
+# The Object Adapter Internet Address #
+# #
+###########################################
+
+# IP address on multi-homed host (this gets encoded in
+# object references). NOTE: Adresses like 127.0.0.X
+# will only be accessible from the same machine!
+#OAIAddr=127.0.0.1
+
+# This are the IIOP ports officially assigned to JBoss by IANA:
+OAPort=3528
+OASSLPort=3529
+
+############################
+# #
+# Default Interceptors #
+# Please leave them in! #
+# #
+############################
+org.omg.PortableInterceptor.ORBInitializerClass.standard_init=org.jacorb.orb.standardInterceptors.IORInterceptorInitializer
+
+###############################################
+# #
+# Implementation Repository Configuration #
+# #
+###############################################
+# Switch off to avoid contacting the ImR on every server start-up
+jacorb.use_imr=off
+
+# the implementation name, should be set to a different
+# name in the code of persistent servers
+jacorb.implname=JBoss
+
+#########################
+# #
+# SSL Configuration #
+# #
+#########################
+
+# This interceptor must be set if programs need access to
+# certificates using the CORBA Security API, SSL works also
+# without this interceptor
+
+#org.omg.PortableInterceptor.ORBInitializerClass.ForwardInit=org.jacorb.security.ssl.sun_jsse.SecurityServiceInitializer
+
+# qualified classname of access decision object
+#jacorb.security.access_decision=org.jacorb.security.level2.AccessDecisionImpl
+
+# list of qualified classnames of principal authenticator objects,
+# separated by commas (no whitespaces!). The first entry (that can
+# be successfully created) will be available through the
+# principal_authenticator property.
+# jacorb.security.principal_authenticator=org.jacorb.security.level2.PrincipalAuthenticatorImpl
+
+# the qualified classname of the ssl socket factory class
+jacorb.ssl.socket_factory=org.jboss.iiop.jacorb.SSLSocketFactory
+
+# the qualified classname of the ssl server socket factory class
+jacorb.ssl.server_socket_factory=org.jboss.iiop.jacorb.SSLServerSocketFactory
+
+# change to "on" to enable SSL
+jacorb.security.support_ssl=off
+
+# IIOP/SSL parameters (numbers are hex values, without the leading "0x"):
+# EstablishTrustInTarget = 20
+# EstablishTrustInClient = 40
+# mutual authentication = 60
+
+jacorb.security.ssl.client.supported_options=60
+jacorb.security.ssl.client.required_options=0
+
+jacorb.security.ssl.server.supported_options=60
+jacorb.security.ssl.server.required_options=0
+
+#org.omg.PortableInterceptor.ORBInitializerClass.ForwardInit=org.jacorb.security.ssl.sun_jsse.SecurityServiceInitializer
+
+# tell JacORB not to add SSL components to IORs (an IORinterceptor will do it)
+jacorb.security.ssl_components_added_by_ior_interceptor=on
+
+#########################
+# #
+# POA Configuration #
+# #
+#########################
+
+# displays a GUI monitoring tool for servers
+jacorb.poa.monitoring=off
+
+# thread pool configuration for request processing
+jacorb.poa.thread_pool_max=8
+jacorb.poa.thread_pool_min=2
+
+# if set, request processing threads in thePOA
+# will run at this priority. If not set or invalid,
+# MAX_PRIORITY will be used.
+#jacorb.poa.thread_priority=
+
+# Properties controlling the POA's request queue. If queue_wait is off,
+# then if there are more than queue_max requests in the queue, the
+# client gets TRANSIENT exceptions for any requests. If queue_wait is on,
+# then the call blocks at the server side until no more than queue_min
+# requests are left in the queue. The new request is then delivered as usual.
+jacorb.poa.queue_wait=off
+jacorb.poa.queue_max=100
+jacorb.poa.queue_min=10
+
+##################################
+# #
+# Logger Factory Configuration #
+# #
+##################################
+
+jacorb.log.loggerFactory=org.jboss.util.Log4jLoggerFactory
Added: jacorb/2.3.0jboss.patch2/resources/orb.idl
===================================================================
--- jacorb/2.3.0jboss.patch2/resources/orb.idl (rev 0)
+++ jacorb/2.3.0jboss.patch2/resources/orb.idl 2007-05-31 08:38:17 UTC (rev 517)
@@ -0,0 +1,177 @@
+
+// Some definitions from the CORBA module as needed
+// by other modules. This file is for declaration
+// purposes only!!
+
+// $Id: orb.idl,v 1.1 2006/08/04 18:22:26 reverbel Exp $
+
+#ifndef _MYORB_IDL
+#define _MYORB_IDL
+
+/*
+ the following pragma is proprietary to JacORB. It ensures
+ that no code is ever generated when this file is included in
+ other files even when the -all compiler option is set
+ */
+
+#pragma inhibit_code_generation
+#pragma prefix "omg.org"
+
+
+module CORBA
+{
+ typedef unsigned short ServiceOption;
+ typedef unsigned short ServiceDetailType;
+
+ // for PortableInterceptors
+ typedef sequence<string> StringSeq;
+ typedef sequence<wstring> WStringSeq;
+ typedef sequence<octet> OctetSeq;
+
+ typedef unsigned long PolicyType;
+
+ // actually, Current is pseudo, but we need it this way so everything compiles
+ interface Current {};
+
+ pseudo interface Environment{};
+ pseudo interface NamedValue {};
+ pseudo interface NVList {};
+
+ // not suitable for deriving user-defined interfaces !
+ 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,
+ tk_local_interface // latest addition
+ };
+
+ // not suitable for deriving user-defined interfaces
+ typedef string Identifier;
+ typedef string RepositoryId;
+
+ pseudo interface TypeCode { // PIDL
+ exception Bounds {};
+ exception BadKind {};
+
+ // for all TypeCode kinds
+ boolean equal (in TypeCode tc);
+ TCKind kind ();
+
+ boolean equivalent(in TypeCode tc);
+ TypeCode get_compact_typecode();
+
+ // 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);
+
+ };
+
+
+ interface InterfaceDef {};
+
+ /* this is the original PIDL from the lang. mapping,
+ but we do not use it! Instead...
+
+ pseudo 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 IDLType {};
+
+ 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;
+
+ interface Policy
+ {
+ readonly attribute PolicyType policy_type;
+ Policy copy();
+ void destroy();
+ };
+
+ typedef sequence <Policy> PolicyList;
+
+ interface DomainManager
+ {
+ Policy get_domain_policy(in PolicyType policy_type);
+ };
+
+ interface ConstructionPolicy: Policy
+ {
+ void make_domain_manager(in InterfaceDef object_type,
+ in boolean constr_policy);
+ };
+
+ typedef sequence <DomainManager> DomainManagersList;
+
+
+ typedef short PolicyErrorCode;
+ const PolicyErrorCode BAD_POLICY = 0;
+ // ... to be continued
+
+ exception PolicyError
+ {
+ PolicyErrorCode reason;
+ };
+
+ exception UserException {};
+ pseudo interface ExceptionList {};
+
+
+ valuetype WStringValue {
+ public wstring value;
+ };
+
+
+};
+
+
+#endif /* _MYORB_IDL */
More information about the jboss-cvs-commits
mailing list