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