geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r159240 [1/2] - in geronimo/trunk/specs/corba: ./ src/ src/idl/
Date Mon, 28 Mar 2005 15:07:12 GMT
Author: adc
Date: Mon Mar 28 07:07:05 2005
New Revision: 159240

URL: http://svn.apache.org/viewcvs?view=rev&rev=159240
Log:
CORBA IDL

Added:
    geronimo/trunk/specs/corba/
    geronimo/trunk/specs/corba/LICENSE.txt
    geronimo/trunk/specs/corba/NOTICE.txt
    geronimo/trunk/specs/corba/build.xml
    geronimo/trunk/specs/corba/maven.xml
    geronimo/trunk/specs/corba/project.properties
    geronimo/trunk/specs/corba/project.xml
    geronimo/trunk/specs/corba/src/
    geronimo/trunk/specs/corba/src/idl/
    geronimo/trunk/specs/corba/src/idl/CSI.idl
    geronimo/trunk/specs/corba/src/idl/CSIIOP.idl
    geronimo/trunk/specs/corba/src/idl/CosNaming.idl
    geronimo/trunk/specs/corba/src/idl/CosTSInteroperation.idl
    geronimo/trunk/specs/corba/src/idl/CosTSPortability.idl
    geronimo/trunk/specs/corba/src/idl/CosTransactions.idl
    geronimo/trunk/specs/corba/src/idl/GIOP.idl
    geronimo/trunk/specs/corba/src/idl/GSSUP.idl
    geronimo/trunk/specs/corba/src/idl/IIOP.idl
    geronimo/trunk/specs/corba/src/idl/IOP.idl
    geronimo/trunk/specs/corba/src/idl/Readme.txt
    geronimo/trunk/specs/corba/src/idl/SSLIOP.idl
    geronimo/trunk/specs/corba/src/idl/Security.idl
    geronimo/trunk/specs/corba/src/idl/TimeBase.idl
    geronimo/trunk/specs/corba/src/idl/orb.idl
    geronimo/trunk/specs/corba/src/idl/org-apache-geronimo-interop-rmi-iiop.idl

Added: geronimo/trunk/specs/corba/LICENSE.txt
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/LICENSE.txt?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/LICENSE.txt (added)
+++ geronimo/trunk/specs/corba/LICENSE.txt Mon Mar 28 07:07:05 2005
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+

Added: geronimo/trunk/specs/corba/NOTICE.txt
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/NOTICE.txt?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/NOTICE.txt (added)
+++ geronimo/trunk/specs/corba/NOTICE.txt Mon Mar 28 07:07:05 2005
@@ -0,0 +1,3 @@
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+

Added: geronimo/trunk/specs/corba/build.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/build.xml?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/build.xml (added)
+++ geronimo/trunk/specs/corba/build.xml Mon Mar 28 07:07:05 2005
@@ -0,0 +1,65 @@
+<project name="IDLGen" default="idlj">
+
+    <target name="init">
+      <mkdir dir="${maven.build.src}"/>
+    </target>
+
+    <target name="checkidlts">
+      <uptodate property="idl.build.not.required" 
+        srcfile="${maven.src.dir}/idl/${idl.file}.idl"
+        targetfile="${maven.build.src}/${idl.file}.ts"/>
+    </target>
+
+    <target name="idlj" depends="init, checkidlts" unless="idl.build.not.required">
+      <echo message="blah" file="${maven.build.src}/${idl.file}.ts"/>
+      <echo message="Interop :: idlj :: ${idl.file}"/>
+      <exec dir="${maven.basedir}" executable="idlj">
+            <arg value="-td"/>
+            <arg file="${maven.build.src}"/>
+            <arg value="-i"/>
+            <arg file="${java.home}/lib"/>
+            <arg value="-i"/>
+            <arg file="${maven.src.dir}/idl"/>
+            <arg value="${idlj.verbose}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="IOP"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="IIOP"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="GIOP"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="CosNaming"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="CSI"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="GSSUP"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="CSIIOP"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="TimeBase"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="SecurityService"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="CosTransactions"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="CosTSInteroperation"/>
+            <arg value="${pkg.prefix}"/>
+            <arg value="-pkgPrefix"/>
+            <arg value="CosTSPortability"/>
+            <arg value="${pkg.prefix}"/>
+            <arg file="${maven.src.dir}/idl/${idl.file}.idl"/>
+    </exec>
+  </target>
+
+
+</project>

Added: geronimo/trunk/specs/corba/maven.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/maven.xml?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/maven.xml (added)
+++ geronimo/trunk/specs/corba/maven.xml Mon Mar 28 07:07:05 2005
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+    Copyright 2005 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+  
+
+<!-- $Rev: 46019 $ $Date: 2004-09-14 05:56:06 -0400 (Tue, 14 Sep 2004) $ -->
+
+<project default="default"
+    xmlns:j="jelly:core"
+    xmlns:ant="jelly:ant"
+    >
+
+    <!-- <property name="idlj.verbose" value="-verbose"/> -->
+    <property name="idlj.verbose" value="-verbose"/> 
+    <property name="pkg.prefix" value="org.omg"/>
+
+    <!--
+      #
+      # Be carefull about changing the package prefix.  When generating the java
+      # files for the .IDL files, they will normally go into a package that
+      # corresponds with the module.  I originally had o.a.g.i.org.omg as the
+      # prefix, but the idlj tool would generate the GIOP in a wrong package:
+      # o.a.g.i.org.omg.o.a.g.i for some strange reason.
+    -->
+
+    <!--
+      # Todo:
+      #
+      # 1. It would be nice to improve the iop, giop, iiop, cosnaming targets as their
+      #    build goals are almost the same.  Maybe we could figure out how to use a for
+      #    script statement....
+      #
+    -->
+
+    <goal name="interop:idlj:iop">
+      <ant:echo message="Interop :: idlj :: IOP">
+      </ant:echo>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="IOP"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:giop">
+      <ant:echo message="Interop :: idlj :: GIOP"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="GIOP"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:iiop">
+      <ant:echo message="Interop :: idlj :: IIOP"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="IIOP"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:cosnaming">
+      <ant:echo message="Interop :: idlj :: CosNaming"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="CosNaming"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:csiv2">
+      <attainGoal name="interop:idlj:csiv2:csi"/>
+      <attainGoal name="interop:idlj:csiv2:gssup"/>
+      <attainGoal name="interop:idlj:csiv2:csiiop"/>
+    </goal>
+
+    <goal name="interop:idlj:csiv2:csi">
+      <ant:echo message="Interop :: idlj :: CSIv2 :: CSI"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="CSI"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:csiv2:gssup">
+      <ant:echo message="Interop :: idlj :: CSIv2 :: GSSUP"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="GSSUP"/>
+      </ant:ant>
+    </goal>
+        
+    <goal name="interop:idlj:csiv2:csiiop">
+      <ant:echo message="Interop :: idlj :: CSIv2 :: CSIIIOP"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="CSIIOP"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:security-service">
+      <attainGoal name="interop:idlj:security-service:timebase"/>
+      <attainGoal name="interop:idlj:security-service:securityservice"/>
+      <attainGoal name="interop:idlj:security-service:ssliop"/>
+    </goal>
+
+    <goal name="interop:idlj:security-service:timebase">
+      <ant:echo message="Interop :: idlj :: SecurityService :: TimeBase"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="TimeBase"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:security-service:securityservice">
+      <ant:echo message="Interop :: idlj :: SecurityService :: SecurityService"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="Security"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:security-service:ssliop">
+      <ant:echo message="Interop :: idlj :: SecurityService :: SSLIOP"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="SSLIOP"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:costxn:costransactions">
+      <ant:echo message="Interop :: idlj :: CosTx :: CosTransactions"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="CosTransactions"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:costxn:costsinterop">
+      <ant:echo message="Interop :: idlj :: CosTx :: CosTSInteroperation"/>
+      <ant:ant antfile="build.xml">
+        <ant:property name="maven.build.src" value="${maven.build.src}"/>
+        <ant:property name="maven.src.dir" value="${maven.src.dir}"/>
+        <ant:property name="maven.basedir" value="${basedir}"/>
+        <ant:property name="pkg.prefix" value="${pkg.prefix}"/>
+        <ant:property name="idlj.verbose" value="${idlj.verbose}"/>
+        <ant:property name="idl.file" value="CosTransactions"/>
+      </ant:ant>
+    </goal>
+
+    <goal name="interop:idlj:costxn">
+      <attainGoal name="interop:idlj:costxn:costransactions"/>
+      <attainGoal name="interop:idlj:costxn:costsinterop"/>
+    </goal>
+
+    <goal name="interop:java:compile">
+        <ant:echo message="Interop :: Compile"/>
+        <ant:javac srcdir="${maven.build.src}" destdir="${maven.build.dest}"
+            classpath="${maven.build.dest};${maven.build.src}"/>
+    </goal>
+
+    <goal name="interop:idlj">
+        <attainGoal name="interop:idlj:iop"/>
+        <attainGoal name="interop:idlj:giop"/>
+        <attainGoal name="interop:idlj:iiop"/>
+        <attainGoal name="interop:idlj:cosnaming"/>
+        <attainGoal name="interop:idlj:csiv2"/>
+        <attainGoal name="interop:idlj:security-service"/>
+        <attainGoal name="interop:idlj:costxn"/>
+    </goal>
+
+    <goal name="interop:stub:generate-compile">
+      <ant:exec dir="${maven.basedir}" executable="java">
+          <ant:arg value="-cp"/>
+          <ant:arg path="${maven.build.dest};${maven.repo.local}\geronimo-spec\jars\geronimo-spec-ejb-2.1-rc3.jar;${maven.repo.local}\commons-logging\jars\commons-logging-1.0.4.jar"/>
+          <ant:arg value="org.apache.geronimo.interop.rmi.iiop.compiler.StubCompiler"/>
+          <ant:arg value="-g"/>
+          <ant:arg value="-c"/>
+          <ant:arg value="-s"/>
+          <ant:arg value="-v"/>
+          <ant:arg value="-o"/>
+          <ant:arg value="-r"/>
+          <ant:arg path="${maven.repo.local}"/>
+          <ant:arg value="-gs"/>
+          <ant:arg path="target/stubs"/>
+          <ant:arg value="-gc"/>
+          <ant:arg path="target/classes"/>
+          <ant:arg value="IDL:org.apache.geronimo.interop.CosNaming.NamingContext"/>
+      </ant:exec>
+    </goal>
+
+    <goal name="interop:skel:generate-compile">
+      <ant:exec dir="${maven.basedir}" executable="java">
+          <ant:arg value="-cp"/>
+          <ant:arg path="${maven.build.dest};${maven.repo.local}\geronimo-spec\jars\geronimo-spec-ejb-2.1-rc3.jar;${maven.repo.local}\commons-logging\jars\commons-logging-1.0.4.jar"/>
+          <ant:arg value="org.apache.geronimo.interop.rmi.iiop.compiler.SkelCompiler"/>
+          <ant:arg value="-g"/>
+          <ant:arg value="-c"/>
+          <ant:arg value="-s"/>
+          <ant:arg value="-v"/>
+          <ant:arg value="-o"/>
+          <ant:arg value="-r"/>
+          <ant:arg path="${maven.repo.local}"/>
+          <ant:arg value="-gs"/>
+          <ant:arg path="target/skels"/>
+          <ant:arg value="-gc"/>
+          <ant:arg path="target/classes"/>
+          <ant:arg value="IDL:org.apache.geronimo.interop.CosNaming.NamingContext"/>
+      </ant:exec>
+    </goal>
+
+    <preGoal name="java:compile">
+        <attainGoal name="interop:idlj"/>
+        <attainGoal name="interop:java:compile"/>
+    </preGoal>
+
+    <postGoal name="java:compile">
+      <!--
+      <attainGoal name="interop:stub:generate-compile"/>
+      <attainGoal name="interop:skel:generate-compile"/>
+      -->
+    </postGoal>
+
+    <!--
+    <goal name="showprops">
+      <ant:echoproperties/>
+    </goal>
+    -->
+
+</project>

Added: geronimo/trunk/specs/corba/project.properties
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/project.properties?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/project.properties (added)
+++ geronimo/trunk/specs/corba/project.properties Mon Mar 28 07:07:05 2005
@@ -0,0 +1,3 @@
+##
+## $Rev: 47137 $ $Date: 2004-09-24 00:04:29 -0700 (Fri, 24 Sep 2004) $
+##

Added: geronimo/trunk/specs/corba/project.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/project.xml?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/project.xml (added)
+++ geronimo/trunk/specs/corba/project.xml Mon Mar 28 07:07:05 2005
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+    Copyright 2005 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $ -->
+
+<project>
+    <pomVersion>3</pomVersion>
+    <extend>../../etc/project.xml</extend>
+
+    <name>Geronimo :: CORBA Spec</name>
+    <groupId>geronimo-spec</groupId>
+    <id>geronimo-spec-corba</id>
+    <shortDescription>Geronimo CORBA Spec</shortDescription>
+    <description>Geronimo CORBA Spec</description>
+    <siteDirectory>/www/geronimo.apache.org/modules/interop</siteDirectory>
+    <distributionDirectory>/www/incubator.apache.org/projects/geronimo/builds/interop</distributionDirectory>
+
+    <package>org.omg</package>
+
+    <currentVersion>${geronimo_spec_corba_version}</currentVersion>
+
+    <!-- ============ -->
+    <!-- Dependencies -->
+    <!-- ============ -->
+
+    <dependencies>
+    </dependencies>
+
+</project>

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

Added: geronimo/trunk/specs/corba/src/idl/CSIIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/CSIIOP.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/CSIIOP.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/CSIIOP.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,134 @@
+#ifndef _CSIIOP_IDL_
+#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;
+	};
+
+}; //CSIIOP
+
+#endif

Added: geronimo/trunk/specs/corba/src/idl/CosNaming.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/CosNaming.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/CosNaming.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/CosNaming.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,456 @@
+//
+// 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);
+   };
+};

Added: geronimo/trunk/specs/corba/src/idl/CosTSInteroperation.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/CosTSInteroperation.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/CosTSInteroperation.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/CosTSInteroperation.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,20 @@
+// PIDL for CosTSInteroperation Module, p 10-59 
+// CORBAservices, Transaction Service V1.0, 3/94
+
+#include <orb.idl>
+#include <IOP.idl>
+#include <CosTransactions.idl>
+
+#pragma prefix "omg.org"
+
+
+module CosTSInteroperation {
+	const IOP::ComponentId TAG_TRANSACTION_POLICY=26;
+	
+	struct TransactionPolicyComponent {
+		CosTransactions::TransactionPolicyValue tpv;
+	};
+	
+	const IOP::ComponentId TAG_OTS_POLICY= 31;
+	const IOP::ComponentId TAG_INV_POLICY= 32;
+};

Added: geronimo/trunk/specs/corba/src/idl/CosTSPortability.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/CosTSPortability.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/CosTSPortability.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/CosTSPortability.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,32 @@
+//File: CosTSPortability.idl
+//Part of the Transaction Service
+
+#ifndef _COS_TS_PORTABILITY_IDL_
+#define _COS_TS_PORTABILITY_IDL_
+
+//Note Even though this module is marked PIDL, it compiles with
+//     an IDL compiler. 
+
+#include <CosTransactions.idl>
+
+#pragma prefix "omg.org"
+
+module CosTSPortability { // PIDL
+	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);
+	};
+
+	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

Added: geronimo/trunk/specs/corba/src/idl/CosTransactions.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/CosTransactions.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/CosTransactions.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/CosTransactions.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,247 @@
+#include <orb.idl>
+
+module CosTransactions {
+// DATATYPES
+enum Status {
+	StatusActive,
+	StatusMarkedRollback,
+	StatusPrepared,
+	StatusCommitted,
+	StatusRolledBack,
+	StatusUnknown,
+	StatusNoTransaction,
+	StatusPreparing,
+	StatusCommitting,
+	StatusRollingBack
+};
+
+enum Vote {
+	VoteCommit,
+	VoteRollback,
+	VoteReadOnly
+};
+
+typedef unsigned short TransactionPolicyValue;
+
+// TransactionPolicyValue definitions are deprecated and replaced //
+// with new InvocationPolicy and OTSPolicy definitions. They are //
+// retained for backward compatibility. //
+const TransactionPolicyValue Allows_shared = 0;
+const TransactionPolicyValue Allows_none = 1;
+const TransactionPolicyValue Requires_shared = 2;
+const TransactionPolicyValue Allows_unshared = 3;
+const TransactionPolicyValue Allows_either = 4;
+const TransactionPolicyValue Requires_unshared = 5;
+const TransactionPolicyValue Requires_either = 6;
+
+// 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;
+
+// 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;
+};
+
+// TransactionalObject has been deprecated. See 10.3.10.
+interface TransactionalObject;
+
+// 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);
+	unsigned long get_timeout ();
+	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();
+};
+
+// TransactionalObject has been deprecated. See 10.3.10.
+interface TransactionalObject {
+};
+
+// TransactionalObject has been deprecated //
+// and replaced by the OTSPolicy component //
+// Synchronization will use the OTSPolicy of ADAPTS //
+// Inheritance from TransactionalObject is for backward compatability //
+
+interface Synchronization :TransactionalObject {
+	void before_completion();
+	void after_completion(in Status s);
+};
+
+interface SubtransactionAwareResource : Resource {
+	void commit_subtransaction(in Coordinator parent);
+	void rollback_subtransaction();
+};
+
+// TransactionPolicyType is deprecated and replaced //
+// by InvocationPolicyType and OTSPolicyType //
+// It is retained for backward compatibility. //
+const CORBA::PolicyType TransactionPolicyType = 46;
+interface TransactionPolicy : CORBA::Policy {
+	readonly attribute TransactionPolicyValue tpv;
+};
+typedef unsigned short InvocationPolicyValue;
+const InvocationPolicyValue EITHER = 0;
+const InvocationPolicyValue SHARED = 1;
+const InvocationPolicyValue UNSHARED =2;
+typedef unsigned short OTSPolicyValue;
+const OTSPolicyValue REQUIRES = 1;
+const OTSPolicyValue FORBIDS =2;
+const OTSPolicyValue ADAPTS =3;
+typedef unsigned short NonTxTargetPolicyValue;
+const NonTxTargetPolicyValue PREVENT = 0;
+const NonTxTargetPolicyValue PERMIT = 1;
+const CORBA::PolicyType INVOCATION_POLICY_TYPE = 55;
+interface InvocationPolicy : CORBA::Policy {
+readonly attribute InvocationPolicyValue ipv;
+};
+const CORBA::PolicyType OTS_POLICY_TYPE = 56;
+interface OTSPolicy : CORBA::Policy {
+readonly attribute OTSPolicyValue tpv;
+};
+const CORBA::PolicyType NON_TX_TARGET_POLICY_TYPE = 57;
+interface NonTxTargetPolicy : CORBA::Policy {
+readonly attribute NonTxTargetPolicyValue tpv;
+};
+}; // End of CosTransactions Module
\ No newline at end of file

Added: geronimo/trunk/specs/corba/src/idl/GIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/GIOP.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/GIOP.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/GIOP.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,239 @@
+// File: GIOP.idl
+// From CORBA 3.0: Chapter 15, General Inter-ORB Protocol
+
+#define _PRE_3_0_COMPILER_ 
+#define GIOP_1_1
+#define GIOP_1_2
+
+#ifndef _GIOP_IDL_
+#define _GIOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <IOP.idl>
+#else
+import ::IOP;
+#endif // _PRE_3_0_COMPILER_
+
+module GIOP {                   // IDL extended for version 1.1 and 1.2
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix GIOP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    struct Version {                            
+        octet           major;
+        octet           minor;
+    };
+
+    // Note: Principal is not used in V1.2 and beyond. However, it must
+    //       be available for V1.0 and V1.1
+    typedef sequence<octet> Principal;
+
+#ifndef GIOP_1_1
+    // GIOP 1.0
+    enum MsgType_1_0{                       // rename from MsgType
+        Request,            Reply,          CancelRequest,
+        LocateRequest,      LocateReply,
+        CloseConnection,    MessageError
+        };
+#else
+    // GIOP 1.1
+    enum MsgType_1_1{
+        Request,            Reply,          CancelRequest,
+        LocateRequest,      LocateReply,
+        CloseConnection,    MessageError,                  
+        Fragment            // GIOP 1.1 addition
+    };
+#endif // GIOP_1_1
+    typedef MsgType_1_1 MsgType_1_2;
+    typedef MsgType_1_1 MsgType_1_3;
+
+    
+    // GIOP 1.0 
+    struct MessageHeader_1_0 {// Renamed from MessageHeader
+        char                        magic [4];
+        Version                     GIOP_version;
+        boolean                     byte_order;         
+        octet                       message_type;
+        unsigned long               message_size;
+    };
+
+    // GIOP 1.1
+    struct MessageHeader_1_1 {
+        char                        magic [4];
+        Version                     GIOP_version;
+        octet                       flags;      // GIOP 1.1 change
+        octet                       message_type;
+        unsigned long               message_size;
+    };
+
+    // GIOP 1.2
+    typedef MessageHeader_1_1 MessageHeader_1_2;
+
+    // GIOP 1.3
+    typedef MessageHeader_1_1 MessageHeader_1_3;                
+
+    // GIOP 1.0
+    struct RequestHeader_1_0 {
+        IOP::ServiceContextList     service_context;
+        unsigned long               request_id;
+        boolean                     response_expected;
+        sequence <octet>            object_key;
+        string                      operation;
+        Principal                   requesting_principal;
+    };
+
+    // GIOP 1.1
+    struct RequestHeader_1_1 {
+        IOP::ServiceContextList     service_context;
+        unsigned long               request_id;
+        boolean                     response_expected;
+        octet                       reserved[3]; // Added in GIOP 1.1
+        sequence <octet>            object_key;
+        string                      operation;
+        Principal                   requesting_principal;
+    };
+
+    // GIOP 1.2
+    typedef short                   AddressingDisposition;
+    const short                     KeyAddr         = 0;
+    const short                     ProfileAddr     = 1;
+    const short                     ReferenceAddr   = 2;
+    struct IORAddressingInfo {
+        unsigned long               selected_profile_index;
+        IOP::IOR                    ior;
+    };
+    union TargetAddress switch (AddressingDisposition) {
+        case KeyAddr:               sequence <octet>    object_key;
+        case ProfileAddr:           IOP::TaggedProfile  profile;
+        case ReferenceAddr:         IORAddressingInfo   ior;
+    };
+    struct RequestHeader_1_2 {
+        unsigned long               request_id;
+        octet                       response_flags;             
+        octet                       reserved[3];
+        TargetAddress               target;
+        string                      operation;
+        // Principal not in GIOP 1.2
+        IOP::ServiceContextList     service_context;    // 1.2 change
+    };
+
+    // GIOP 1.3
+    typedef RequestHeader_1_2 RequestHeader_1_3;
+
+#ifndef GIOP_1_2
+    // GIOP 1.0 and 1.1
+    enum ReplyStatusType_1_0 {// Renamed from ReplyStatusType
+        NO_EXCEPTION,
+        USER_EXCEPTION,
+        SYSTEM_EXCEPTION,
+        LOCATION_FORWARD
+    };
+#endif
+
+    // GIOP 1.2
+    enum ReplyStatusType_1_2 {
+        NO_EXCEPTION,
+        USER_EXCEPTION,
+        SYSTEM_EXCEPTION,
+        LOCATION_FORWARD,
+        LOCATION_FORWARD_PERM,              // new value for 1.2
+        NEEDS_ADDRESSING_MODE               // new value for 1.2
+    };                  
+
+    struct ReplyHeader_1_2 {
+        unsigned long               request_id;
+        ReplyStatusType_1_2         reply_status;
+        IOP::ServiceContextList     service_context;    // 1.2 change
+    };
+
+    // GIOP 1.3
+    typedef ReplyHeader_1_2 ReplyHeader_1_3;
+
+    // GIOP 1.0
+    struct ReplyHeader_1_0 {// Renamed from ReplyHeader
+        IOP::ServiceContextList     service_context;
+        unsigned long               request_id;
+        ReplyStatusType_1_2         reply_status;
+    };
+
+    // GIOP 1.1
+    typedef ReplyHeader_1_0 ReplyHeader_1_1;
+    // Same Header contents for 1.0 and 1.1
+
+    struct SystemExceptionReplyBody {
+        string                      exception_id;
+        unsigned long               minor_code_value;
+        unsigned long               completion_status;
+    };
+
+    struct CancelRequestHeader {
+        unsigned long               request_id;
+    };
+
+    // GIOP 1.0
+    struct LocateRequestHeader_1_0 {// Renamed LocationRequestHeader
+        unsigned long               request_id;
+        sequence <octet>            object_key;
+    };
+
+    // GIOP 1.1
+    typedef LocateRequestHeader_1_0 LocateRequestHeader_1_1;
+    // Same Header contents for 1.0 and 1.1
+
+    // GIOP 1.2
+    struct LocateRequestHeader_1_2 {
+            unsigned long           request_id;
+            TargetAddress           target;
+    };
+
+    // GIOP 1.3
+    typedef LocateRequestHeader_1_2 LocateRequestHeader_1_3;
+
+#ifndef GIOP_1_2
+    // GIOP 1.0 and 1.1
+    enum LocateStatusType_1_0 {// Renamed from LocateStatusType
+            UNKNOWN_OBJECT,
+            OBJECT_HERE,
+            OBJECT_FORWARD
+    };
+#endif
+
+    // GIOP 1.2
+    enum LocateStatusType_1_2 {
+            UNKNOWN_OBJECT,
+            OBJECT_HERE,
+            OBJECT_FORWARD,
+            OBJECT_FORWARD_PERM,        // new value for GIOP 1.2
+            LOC_SYSTEM_EXCEPTION,       // new value for GIOP 1.2
+            LOC_NEEDS_ADDRESSING_MODE   // new value for GIOP 1.2
+    };
+    struct LocateReplyHeader_1_2 {
+        unsigned long               request_id;
+        LocateStatusType_1_2        locate_status;
+    };
+
+    // GIOP 1.3
+    typedef LocateReplyHeader_1_2 LocateReplyHeader_1_3;
+
+    // GIOP 1.0
+    struct LocateReplyHeader_1_0 {// Renamed from LocateReplyHeader
+            unsigned long           request_id;
+            LocateStatusType_1_2    locate_status;
+    };
+
+    // GIOP 1.1
+    typedef LocateReplyHeader_1_0 LocateReplyHeader_1_1;
+    // same Header contents for 1.0 and 1.1
+
+    // GIOP 1.2
+    struct FragmentHeader_1_2 {
+        unsigned long               request_id;
+    };
+
+    // GIOP 1.3
+    typedef FragmentHeader_1_2 FragmentHeader_1_3;
+
+};
+#endif // _GIOP_IDL_

Added: geronimo/trunk/specs/corba/src/idl/GSSUP.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/GSSUP.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/GSSUP.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/GSSUP.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,53 @@
+#ifndef _GSSUP_IDL_
+#define _GSSUP_IDL_
+#include <CSI.idl>
+
+#pragma prefix "omg.org"
+
+module GSSUP {
+
+	// The GSS Object Identifier allocated for the
+	// username/password mechanism is defined below.
+	//
+	// { iso-itu-t (2) international-organization (23) omg (130)
+	// security (1) authentication (1) gssup-mechanism (1) }
+
+	const CSI::StringOID GSSUPMechOID = "oid:2.23.130.1.1.1";
+
+	// The following structure defines the inner contents of the
+	// username password initial context token. This structure is
+	// CDR encapsulated and appended at the end of the
+	// username/password GSS (initial context) Token.
+
+	struct InitialContextToken {
+		CSI::UTF8String username;
+		CSI::UTF8String password;
+		CSI::GSS_NT_ExportedName target_name;
+	};
+	
+	typedef unsigned long ErrorCode;
+
+	// GSSUP Mechanism-Specific Error Token
+	struct ErrorToken {
+		ErrorCode error_code;
+	};
+
+	// The context validator has chosen not to reveal the GSSUP
+	// specific cause of the failure.
+	const ErrorCode GSS_UP_S_G_UNSPECIFIED = 1;
+
+	// The user identified in the username field of the
+	// GSSUP::InitialContextToken is unknown to the target.
+	const ErrorCode GSS_UP_S_G_NOUSER = 2;
+
+	// The password supplied in the GSSUP::InitialContextToken was
+	// incorrect.
+	const ErrorCode GSS_UP_S_G_BAD_PASSWORD = 3;
+
+	// The target_name supplied in the GSSUP::InitialContextToken does
+	// not match a target_name in a mechanism definition of the target.
+	const ErrorCode GSS_UP_S_G_BAD_TARGET = 4;
+
+}; // GSSUP
+
+#endif

Added: geronimo/trunk/specs/corba/src/idl/IIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/corba/src/idl/IIOP.idl?view=auto&rev=159240
==============================================================================
--- geronimo/trunk/specs/corba/src/idl/IIOP.idl (added)
+++ geronimo/trunk/specs/corba/src/idl/IIOP.idl Mon Mar 28 07:07:05 2005
@@ -0,0 +1,53 @@
+// File: IIOP.idl
+// From CORBA 3.0: Chapter 15, General Inter-ORB Protocol
+
+#define _PRE_3_0_COMPILER_ 
+
+#ifndef _IIOP_IDL_
+#define _IIOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <IOP.idl>
+#else
+import ::IOP;
+#endif // _PRE_3_0_COMPILER_
+
+module IIOP {       // IDL extended for version 1.1 and 1.2
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix IIOP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    struct Version {
+        octet               major;
+        octet               minor;
+    };
+    struct ProfileBody_1_0 {// renamed from ProfileBody
+        Version             iiop_version;
+        string              host;
+        unsigned short      port;
+        sequence <octet>    object_key;
+    };
+    struct ProfileBody_1_1 {// also used for 1.2
+        Version             iiop_version;
+        string              host;
+        unsigned short      port;
+        sequence <octet>    object_key;
+        // Added in 1.1 unchanged for 1.2
+        sequence <IOP::TaggedComponent> components; 
+    };              
+
+    // BiDirectional IIOP
+
+    struct ListenPoint {
+        string              host;
+        unsigned short      port;
+    };
+    typedef sequence<ListenPoint> ListenPointList;
+    struct BiDirIIOPServiceContext {// BI_DIR_IIOP Service Context
+        ListenPointList listen_points;
+    };
+};
+#endif // _IIOP_IDL_
+



Mime
View raw message