geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r370336 [2/6] - in /geronimo/specs/trunk: ./ geronimo-spec-corba-2.3/ geronimo-spec-corba-2.3/src/ geronimo-spec-corba-3.0/ geronimo-spec-corba-3.0/src/ geronimo-spec-corba-3.0/src/main/ geronimo-spec-corba-3.0/src/main/idl/ geronimo-spec-c...
Date Thu, 19 Jan 2006 01:10:07 GMT
Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CORBA_TypeCode.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CORBA_TypeCode.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CORBA_TypeCode.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CORBA_TypeCode.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,73 @@
+// File CORBA_TypeCode.idl
+// CORBA 3.0 Chapter 4
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#else
+typeprefix CORBA "omg.org";
+#endif
+
+   enum TCKind {                               
+        tk_null,    tk_void, 
+        tk_short,   tk_long,        tk_ushort,  tk_ulong, 
+        tk_float,   tk_double,      tk_boolean, tk_char, 
+        tk_octet,   tk_any,         tk_TypeCode,tk_Principal, tk_objref, 
+        tk_struct,  tk_union,       tk_enum,    tk_string, 
+        tk_sequence,tk_array,       tk_alias,   tk_except,
+        tk_longlong,tk_ulonglong,   tk_longdouble,
+        tk_wchar,   tk_wstring,     tk_fixed,
+        tk_value,   tk_value_box,
+        tk_native,
+        tk_abstract_interface,
+        tk_local_interface,
+	tk_component, tk_home,
+	tk_event
+    };
+    typedef short ValueModifier;
+    const ValueModifier VM_NONE         = 0;
+    const ValueModifier VM_CUSTOM       = 1;
+    const ValueModifier VM_ABSTRACT     = 2;
+    const ValueModifier VM_TRUNCATABLE  = 3;
+
+    interface TypeCode {
+        exception   Bounds {};
+        exception   BadKind {};
+        // for all TypeCode kinds
+        boolean     equal       (in TypeCode tc);
+        boolean     equivalent  (in TypeCode tc); 
+        TypeCode    get_compact_typecode(); 
+        TCKind      kind ();
+        // for tk_objref, tk_struct,    tk_union,  tk_enum, tk_alias, 
+        //     tk_value,  tk_value_box, tk_native, tk_abstract_interface
+        // and tk_except
+        RepositoryId    id () raises (BadKind);
+        // for tk_objref, tk_struct,    tk_union,  tk_enum, tk_alias, 
+        //     tk_value,  tk_value_box, tk_native, tk_abstract_interface
+        // and tk_except
+        Identifier name () raises (BadKind);
+        // for tk_struct, tk_union, tk_enum, tk_value, 
+        // and tk_except
+        unsigned long   member_count () raises (BadKind);
+        Identifier      member_name (in unsigned long index) 
+                                                raises (BadKind, Bounds);
+        // for tk_struct, tk_union, tk_value, and tk_except
+        TypeCode        member_type (in unsigned long index) 
+                                                raises (BadKind, Bounds);
+        // for tk_union
+        any             member_label (in unsigned long index) 
+                                                raises (BadKind, Bounds);
+        TypeCode        discriminator_type ()   raises (BadKind);
+        long            default_index ()        raises (BadKind); 
+        // for tk_string, tk_sequence, and tk_array
+        unsigned long   length ()               raises (BadKind);
+        // for tk_sequence, tk_array, tk_value_box, and tk_alias
+        TypeCode        content_type ()         raises (BadKind);
+        // for tk_fixed
+        unsigned short  fixed_digits()          raises (BadKind);
+        short           fixed_scale()           raises (BadKind);
+        // for tk_value
+        Visibility      member_visibility(in unsigned long index)
+                                                raises(BadKind, Bounds);
+        ValueModifier   type_modifier()         raises(BadKind);
+        TypeCode        concrete_base_type()    raises(BadKind);
+    };

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

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CSIIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CSIIOP.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CSIIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CSIIOP.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,145 @@
+//
+// File: CSIIOP.idl
+// CORBA 3.0, Chapter 22
+
+#ifndef _CSIIOP_IDL_
+#define _CSIIOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_
+#pragma prefix "omg.org"
+#include <IOP.idl>
+#include <CSI.idl>
+#else
+import ::IOP;
+import ::CSI;
+#endif // _PRE_3_0_COMPILER_
+    
+module CSIIOP {
+
+#ifndef _PRE_3_0_COMPILER_
+    typeprefix CSIIOP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    // 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 // _CSIIOP_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CompletionStatus.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CompletionStatus.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CompletionStatus.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CompletionStatus.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,7 @@
+module CORBA {
+	enum CompletionStatus{
+		COMPLETED_YES,
+		COMPLETED_NO,
+		COMPLETED_MAYBE 
+	};
+};
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CosNaming.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CosNaming.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CosNaming.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/CosNaming.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,149 @@
+//Naming Service Specification, v1.3 - OMG IDL Summary File
+//Object Management Group, Inc.
+//Copyright © 1999, BEA Systems
+//Copyright © 1999, DSTC
+//Copyright © 1999, Iona Technologies Ltd.
+//Copyright © 1999, Inprise
+//The companies listed above have granted to the Object Management Group, Inc. 
+//(OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and 
+//distribute this document and to modify this document and distribute copies of 
+//the modified version. Each of the copyright holders listed above has agreed 
+//that no person shall be deemed to have infringed the copyright in the included 
+//material of any such copyright holder by reason of having used the 
+//specification set forth herein or having conformed any computer software to 
+//the specification. 
+//
+//This file contains OMG IDL from the Naming Service Specification, v1.2.
+//OMG regularly publishes a summary file that contains all the "code" parts of 
+//an OMG formal document. Every formal document line that is IDL, PIDL, or 
+//language code is included in the summary file. The reason for such a listing 
+//is to give readers an electronic version of the "code" so that they can 
+//extract pieces of it. Readers might want to test an example, include it in 
+//their own code, or use it for documentation purposes. Having the code lines 
+//available electronically means there is less likelihood of a transcription 
+//error. 
+//
+// File: CosNaming.idl
+#ifndef _COSNAMING_IDL_
+#define _COSNAMING_IDL_
+
+#pragma prefix "omg.org"
+
+module CosNaming {
+    typedef string Istring;
+
+    struct NameComponent {
+        Istring id;
+        Istring kind;
+    };
+    typedef sequence<NameComponent> Name;
+
+    enum BindingType { nobject, ncontext };
+
+    struct Binding {
+        Name					binding_name;
+        BindingType				binding_type;                   
+    };
+
+    // Note: In struct Binding, binding_name is incorrectly defined
+    // as a Name instead of a NameComponent. This definition is
+    // unchanged for compatibility reasons.
+    typedef sequence <Binding> BindingList;                     
+
+    interface BindingIterator;
+
+    interface NamingContext {
+        enum NotFoundReason { missing_node, not_context, not_object };
+
+        exception NotFound { 
+            NotFoundReason		why;
+            Name			rest_of_name;
+        };
+
+        exception CannotProceed {
+            NamingContext		cxt;
+            Name			rest_of_name;
+        };
+
+        exception InvalidName{};
+
+        exception AlreadyBound {};
+
+        exception NotEmpty{};
+
+        void    bind(in Name n, in Object obj)
+				raises(
+					NotFound, CannotProceed, InvalidName, AlreadyBound
+				);
+
+        void    rebind(in Name n, in Object obj) 
+				raises(NotFound, CannotProceed, InvalidName);
+
+        void    bind_context(in Name n, in NamingContext nc)        
+				raises(NotFound, CannotProceed, InvalidName, AlreadyBound);
+
+        void    rebind_context(in Name n, in NamingContext nc)  
+				raises(NotFound, CannotProceed, InvalidName);
+
+        Object  resolve (in Name n)
+				raises(NotFound, CannotProceed, InvalidName);
+
+        void    unbind(in Name n)
+				raises(NotFound, CannotProceed, InvalidName);
+
+        NamingContext   new_context();
+        NamingContext   bind_new_context(in Name n)
+						raises(
+							NotFound, AlreadyBound,
+							CannotProceed, InvalidName
+						);
+
+        void    destroy() raises(NotEmpty);
+
+        void    list(
+                    in unsigned long		how_many,
+                    out BindingList		bl,
+                    out BindingIterator		bi
+                );
+
+    };
+
+    interface BindingIterator {
+        boolean next_one(out Binding b);
+        boolean next_n(in unsigned long how_many, out BindingList bl);
+        void    destroy();
+    };
+
+    interface NamingContextExt: NamingContext {
+        typedef string StringName;
+        typedef string Address;
+        typedef string URLString;
+
+        StringName				to_string(in Name n) raises(InvalidName);
+        Name					to_name(in StringName sn) 
+						raises(InvalidName);
+
+        exception InvalidAddress {};
+
+        URLString   to_url(in Address addr, in StringName sn)
+						raises(InvalidAddress, InvalidName);
+
+        Object      resolve_str(in StringName sn)
+						raises(
+							NotFound, CannotProceed,
+							InvalidName
+						);
+
+	};
+};
+
+#endif // _COSNAMING_IDL_
+
+
+
+
+
+
+
+
+

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Dynamic.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Dynamic.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Dynamic.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Dynamic.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,30 @@
+// File: Dynamic.idl
+// CORBA 3.0, Chapter 21
+
+#ifndef _DYNAMIC_IDL_
+#define _DYNAMIC_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <orb.idl>
+#else
+import ::CORBA;
+#endif // _PRE_3_0_COMPILER_
+
+module Dynamic {
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix Dynamic "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    struct Parameter {
+        any argument;
+        CORBA::ParameterMode mode;
+    };
+
+    typedef sequence<Parameter> ParameterList;
+    typedef CORBA::StringSeq ContextList;
+    typedef sequence<CORBA::TypeCode> ExceptionList;
+    typedef CORBA::StringSeq RequestContext;
+
+}; // module Dynamic
+#endif // _DYNAMIC_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/DynamicAny.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/DynamicAny.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/DynamicAny.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/DynamicAny.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,323 @@
+// File: DynamicAny.idl
+// CORBA 3.0, Chapter 9
+
+#ifndef _DYNAMIC_ANY_IDL_
+#define _DYNAMIC_ANY_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <orb.idl>
+#else
+import ::CORBA;
+#endif // _PRE_3_0_COMPILER_
+
+module DynamicAny {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix DynamicAny "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    local interface DynAny {
+        exception InvalidValue {};
+        exception TypeMismatch {};
+                
+        CORBA::TypeCode type();
+
+        void assign(        in DynAny   dyn_any)   
+	  raises(TypeMismatch);
+        void from_any(      in any      value)      
+	  raises(TypeMismatch, InvalidValue);
+        any to_any();
+
+        boolean equal(      in DynAny   dyn_any);
+
+        void destroy();
+        DynAny copy();
+
+        void insert_boolean(in boolean  value)      
+	  raises(TypeMismatch, InvalidValue);
+        void insert_octet(  in octet    value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_char(   in char     value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_short(  in short    value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_ushort( in unsigned short 
+                                        value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_long(   in long     value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_ulong(  in unsigned long 
+                                        value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_float(  in float    value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_double( in double   value)      
+	  raises(TypeMismatch, InvalidValue);
+        void insert_string( in string   value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_reference(in Object value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_typecode(in CORBA::TypeCode 
+                                        value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_longlong(in long long value)   
+	  raises(TypeMismatch, InvalidValue);
+        void insert_ulonglong(in unsigned long long 
+                                        value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_longdouble(in long double 
+                                        value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_wchar(  in wchar    value)      
+	  raises(TypeMismatch, InvalidValue);
+        void insert_wstring(in wstring  value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_any(    in any      value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_dyn_any(in DynAny   value)     
+	  raises(TypeMismatch, InvalidValue);
+        void insert_val(    in ValueBase value)     
+	  raises(TypeMismatch, InvalidValue);
+
+        boolean         get_boolean()               
+	  raises(TypeMismatch, InvalidValue);
+        octet           get_octet()                 
+	  raises(TypeMismatch, InvalidValue);
+        char            get_char()                 
+	  raises(TypeMismatch, InvalidValue);
+        short           get_short()                 
+	  raises(TypeMismatch, InvalidValue);
+        unsigned short  get_ushort()                
+	  raises(TypeMismatch, InvalidValue);
+        long            get_long()                  
+	  raises(TypeMismatch, InvalidValue);
+        unsigned long   get_ulong()                
+	  raises(TypeMismatch, InvalidValue);
+        float           get_float()                 
+	  raises(TypeMismatch, InvalidValue);
+        double          get_double()                
+	  raises(TypeMismatch, InvalidValue);
+        string          get_string()               
+	  raises(TypeMismatch, InvalidValue);
+        Object          get_reference()            
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::TypeCode get_typecode()             
+	  raises(TypeMismatch, InvalidValue);
+        long long       get_longlong()             
+	  raises(TypeMismatch, InvalidValue);
+        unsigned long long get_ulonglong()          
+	  raises(TypeMismatch, InvalidValue);
+        long double     get_longdouble()            
+	  raises(TypeMismatch, InvalidValue);
+        wchar           get_wchar()                
+	  raises(TypeMismatch, InvalidValue);
+        wstring         get_wstring()              
+	  raises(TypeMismatch, InvalidValue);
+        any             get_any()                   
+	  raises(TypeMismatch, InvalidValue);
+        DynAny          get_dyn_any()               
+	  raises(TypeMismatch, InvalidValue);
+        ValueBase       get_val()                   
+	  raises(TypeMismatch, InvalidValue);
+
+        boolean         seek(in long index);
+        void            rewind();
+        boolean         next();
+        unsigned long   component_count();
+        DynAny          current_component()        
+	  raises(TypeMismatch);
+
+        void insert_abstract(in AbstractBase value)
+	  raises(TypeMismatch, InvalidValue);
+        AbstractBase get_abstract()
+	  raises(TypeMismatch, InvalidValue);
+
+        void insert_boolean_seq(in CORBA::BooleanSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_octet_seq(in CORBA::OctetSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_char_seq(in CORBA::CharSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_short_seq(in CORBA::ShortSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_ushort_seq(in CORBA::UShortSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_long_seq(in CORBA::LongSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_ulong_seq(in CORBA::ULongSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_float_seq(in CORBA::FloatSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_double_seq(in CORBA::DoubleSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_longlong_seq(in CORBA::LongLongSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_ulonglong_seq(in CORBA::ULongLongSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_longdouble_seq(in CORBA::LongDoubleSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        void insert_wchar_seq(in CORBA::WCharSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::BooleanSeq get_boolean_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::OctetSeq get_octet_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::CharSeq get_char_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::ShortSeq get_short_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::UShortSeq get_ushort_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::LongSeq get_long_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::ULongSeq get_ulong_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::FloatSeq get_float_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::DoubleSeq get_double_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::LongLongSeq get_longlong_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::ULongLongSeq get_ulonglong_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::LongDoubleSeq get_longdouble_seq()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::WCharSeq get_wchar_seq()
+	  raises(TypeMismatch, InvalidValue);
+    };
+    
+    local interface DynFixed : DynAny {
+        string          get_value();
+        boolean         set_value(in string val)    
+	  raises(TypeMismatch, InvalidValue);
+    };
+    
+    local interface DynEnum : DynAny {
+        string          get_as_string();
+        void            set_as_string(in string value) 
+	  raises(InvalidValue);
+        unsigned long   get_as_ulong();
+        void            set_as_ulong( in unsigned long value) 
+	  raises(InvalidValue);
+    };
+    typedef string FieldName;
+    struct NameValuePair {
+        FieldName   id;
+        any         value;
+    };
+    
+    typedef sequence<NameValuePair> NameValuePairSeq;
+    struct NameDynAnyPair {
+        FieldName   id;
+        DynAny      value;
+    };
+
+    typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
+    local interface DynStruct : DynAny {
+        FieldName           current_member_name()  
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::TCKind       current_member_kind()   
+	  raises(TypeMismatch, InvalidValue);
+        NameValuePairSeq    get_members();
+        void                set_members(in NameValuePairSeq value)    
+	  raises(TypeMismatch, InvalidValue);
+        NameDynAnyPairSeq   get_members_as_dyn_any();
+        void  set_members_as_dyn_any(in NameDynAnyPairSeq value)
+	  raises(TypeMismatch, InvalidValue);
+    };
+
+    local interface DynUnion : DynAny {
+        DynAny              get_discriminator();
+        void                set_discriminator(in DynAny d) 
+	  raises(TypeMismatch);
+        void                set_to_default_member() 
+	  raises(TypeMismatch);
+        void                set_to_no_active_member() 
+	  raises(TypeMismatch);
+        boolean             has_no_active_member();
+        CORBA::TCKind       discriminator_kind();
+        DynAny              member()               
+	  raises(InvalidValue);
+        FieldName           member_name()          
+	  raises(InvalidValue);
+        CORBA::TCKind       member_kind()           
+	  raises(InvalidValue);
+    };
+    
+    typedef sequence<any>    AnySeq;
+    typedef sequence<DynAny> DynAnySeq;
+    local interface DynSequence : DynAny {
+        unsigned long       get_length();
+        void                set_length(in unsigned long len) 
+	  raises(InvalidValue);
+        AnySeq              get_elements();
+        void                set_elements(in AnySeq value)
+	  raises(TypeMismatch, InvalidValue);
+        DynAnySeq           get_elements_as_dyn_any();
+        void                set_elements_as_dyn_any(in DynAnySeq value)
+	  raises(TypeMismatch, InvalidValue);
+    };
+
+    local interface DynArray : DynAny {
+        AnySeq              get_elements();
+        void                set_elements(in AnySeq value)
+	  raises(TypeMismatch, InvalidValue);
+        DynAnySeq           get_elements_as_dyn_any();
+        void                set_elements_as_dyn_any(in DynAnySeq value)
+	  raises(TypeMismatch, InvalidValue);
+    };
+    
+    local interface DynValueCommon : DynAny {
+        boolean             is_null();
+        void                set_to_null();
+        void                set_to_value();
+    };
+
+    local interface DynValue : DynValueCommon {
+        FieldName           current_member_name()
+	  raises(TypeMismatch, InvalidValue);
+        CORBA::TCKind       current_member_kind()
+	  raises(TypeMismatch, InvalidValue);
+        NameValuePairSeq    get_members()
+	  raises(InvalidValue);
+        void                set_members(in NameValuePairSeq value)
+	  raises(TypeMismatch, InvalidValue);
+        NameDynAnyPairSeq   get_members_as_dyn_any()
+	  raises(InvalidValue);
+        void                set_members_as_dyn_any(in NameDynAnyPairSeq value)
+	  raises(TypeMismatch, InvalidValue);
+    };
+
+    local interface DynValueBox : DynValueCommon {
+        any                 get_boxed_value()
+	  raises(InvalidValue);
+        void                set_boxed_value(in any boxed) 
+	  raises(TypeMismatch, InvalidValue);
+        DynAny              get_boxed_value_as_dyn_any()
+	  raises(InvalidValue);
+        void                set_boxed_value_as_dyn_any(in DynAny boxed)
+	  raises(TypeMismatch);
+    };
+
+    exception MustTruncate { };
+
+    local interface DynAnyFactory {
+        exception InconsistentTypeCode {};
+        DynAny create_dyn_any(in any value)
+	  raises(InconsistentTypeCode);
+        DynAny create_dyn_any_from_type_code(in CORBA::TypeCode type)
+	  raises(InconsistentTypeCode);
+        DynAny create_dyn_any_without_truncation(in any value)
+	  raises(InconsistentTypeCode, MustTruncate);
+        DynAnySeq create_multiple_dyn_anys(
+	  in AnySeq values,
+	  in boolean allow_truncate)
+	raises(InconsistentTypeCode, MustTruncate);
+        AnySeq create_multiple_anys(in DynAnySeq values);
+    };
+
+
+
+}; // module DynamicAny
+#endif // _DYNAMIC_ANY_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/FT.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/FT.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/FT.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/FT.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,375 @@
+//
+// File: FT.idl
+// CORBA 3.0 Chapter 23
+
+#ifndef _FT_IDL_
+#define _FT_IDL_
+
+#ifdef _PRE_3_0_COMPILER_
+#pragma prefix "omg.org"
+#include <TimeBase.idl>
+#include <CosNaming.idl>
+#include <CosEventComm.idl>
+#include <CosNotification.idl>
+#include <IOP.idl>
+#include <GIOP.idl>
+#include <orb.idl>
+#else
+import ::TimeBase;
+import ::CosNaming;
+import ::CosEventComm;
+import ::CosNotification;
+import ::IOP;
+import ::GIOP;
+import ::CORBA;
+#endif // _PRE_3_0_COMPILER_
+
+module FT {
+#ifndef _PRE_3_0_COMPILER_
+    typeprefix FT "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    // Specification for Interoperable Object Group References
+    typedef string FTDomainId;
+    typedef unsigned long long ObjectGroupId;
+    typedef unsigned long ObjectGroupRefVersion;
+
+    struct TagFTGroupTaggedComponent { // tag = TAG_FT_GROUP;
+	GIOP::Version		     version;
+	FTDomainId		     ft_domain_id;
+	ObjectGroupId		     object_group_id;
+	ObjectGroupRefVersion	     object_group_ref_version;
+    };
+
+    struct TagFTPrimaryTaggedComponent { // tag = TAG_FT_PRIMARY;
+	boolean			      primary;
+    };
+
+    // Specification for Most Recent Object Group Reference
+    struct FTGroupVersionServiceContext { //context_id = FT_GROUP_VERSION;
+	ObjectGroupRefVersion		object_group_ref_version;
+    };
+
+    // Specification for Transparent Reinvocation
+    const CORBA::PolicyType REQUEST_DURATION_POLICY = 47;
+					
+    struct FTRequestServiceContext { // context_id = FT_REQUEST;
+	string				client_id;
+	long				retention_id;
+	TimeBase::TimeT			expiration_time;
+    };
+
+    interface RequestDurationPolicy : CORBA::Policy {
+	readonly attribute TimeBase::TimeT request_duration_value;
+    };
+
+    // Specification for Transport Heartbeats
+    const CORBA::PolicyType HEARTBEAT_POLICY = 48;
+    const CORBA::PolicyType HEARTBEAT_ENABLED_POLICY =  49;
+
+    struct TagFTHeartbeatEnabledTaggedComponent { 
+					// tag = TAG_FT_HEARTBEAT_ENABLED;
+	boolean				heartbeat_enabled;
+    };
+
+    struct HeartbeatPolicyValue {
+	boolean				heartbeat;
+	TimeBase::TimeT			heartbeat_interval;
+	TimeBase::TimeT			heartbeat_timeout;
+    };
+
+    interface HeartbeatPolicy : CORBA::Policy {
+	readonly attribute HeartbeatPolicyValue heartbeat_policy_value;
+    };
+
+    interface HeartbeatEnabledPolicy : CORBA::Policy {
+	readonly attribute boolean heartbeat_enabled_policy_value;
+    };
+
+    // Specification of Common Types and Exceptions for ReplicationManager
+    interface GenericFactory;
+    interface FaultNotifier;
+
+    typedef CORBA::RepositoryId TypeId;
+    typedef Object ObjectGroup;
+
+    typedef CosNaming::Name Name;
+    typedef any Value;
+
+    struct Property {
+	Name	    nam;
+	Value	    val;
+    };
+
+    typedef sequence<Property> Properties;
+
+    typedef Name Location;
+    typedef sequence<Location> Locations;
+    typedef Properties Criteria;
+
+    struct FactoryInfo {
+	GenericFactory	the_factory;
+	Location	the_location;
+	Criteria	the_criteria;
+    };
+
+    typedef sequence<FactoryInfo>  FactoryInfos;
+
+    typedef unsigned short ReplicationStyleValue;
+    const ReplicationStyleValue		STATELESS	= 0;
+    const ReplicationStyleValue		COLD_PASSIVE	= 1;
+    const ReplicationStyleValue		WARM_PASSIVE	= 2;
+    const ReplicationStyleValue		ACTIVE		= 3;
+    const ReplicationStyleValue		ACTIVE_WITH_VOTING = 4;
+
+    typedef unsigned short MembershipStyleValue;
+    const MembershipStyleValue		MEMB_APP_CTRL	= 0;
+    const MembershipStyleValue		MEMB_INF_CTRL	= 1;
+
+    typedef unsigned short ConsistencyStyleValue; 
+    const ConsistencyStyleValue		CONS_APP_CTRL	= 0;
+    const ConsistencyStyleValue		CONS_INF_CTRL	= 1;
+
+    typedef unsigned short FaultMonitoringStyleValue;
+    const FaultMonitoringStyleValue	PULL		= 0;
+    const FaultMonitoringStyleValue	PUSH		= 1;
+    const FaultMonitoringStyleValue	NOT_MONITORED	= 2;
+
+    typedef unsigned short FaultMonitoringGranularityValue;
+    const FaultMonitoringGranularityValue MEMB		= 0;
+    const FaultMonitoringGranularityValue LOC		= 1;
+    const FaultMonitoringGranularityValue LOC_AND_TYPE	= 2;
+
+    typedef FactoryInfos FactoriesValue;
+
+    typedef unsigned short InitialNumberReplicasValue;
+    typedef unsigned short MinimumNumberReplicasValue;
+
+    struct FaultMonitoringIntervalAndTimeoutValue {
+	TimeBase::TimeT   monitoring_interval;
+	TimeBase::TimeT   timeout;
+    };
+
+    typedef TimeBase::TimeT CheckpointIntervalValue;
+					
+    exception InterfaceNotFound {};
+    exception ObjectGroupNotFound {};
+    exception MemberNotFound {};
+    exception ObjectNotFound {};
+    exception MemberAlreadyPresent {};
+    exception BadReplicationStyle {};
+    exception ObjectNotCreated {};
+    exception ObjectNotAdded {};
+    exception PrimaryNotSet {};
+    exception UnsupportedProperty {
+	Name  nam;
+	Value val;
+    };
+    exception InvalidProperty {
+	Name  nam;
+	Value val;
+    };
+    exception NoFactory {
+	Location	the_location;
+	TypeId		type_id;
+    };
+    exception InvalidCriteria {
+	Criteria invalid_criteria;
+    };
+    exception CannotMeetCriteria {
+	Criteria unmet_criteria;
+    };
+
+    // Specification of PropertyManager Interface 
+    // which ReplicationManager Inherits
+    interface PropertyManager {
+	void set_default_properties(in Properties props)
+	     raises (InvalidProperty,
+		    UnsupportedProperty);
+
+	Properties get_default_properties();
+
+	void remove_default_properties(in Properties props)
+	     raises (InvalidProperty,
+		    UnsupportedProperty);
+
+	void set_type_properties(
+	     in TypeId type_id,
+	     in Properties overrides)
+	     raises (InvalidProperty,
+		    UnsupportedProperty);
+
+	Properties get_type_properties(in TypeId type_id);
+
+	void remove_type_properties(
+	     in TypeId type_id,
+	     in Properties props)
+	     raises (InvalidProperty,
+		    UnsupportedProperty);
+
+	void set_properties_dynamically(
+	     in ObjectGroup object_group,
+	     in Properties overrides)
+	     raises(ObjectGroupNotFound,
+		   InvalidProperty,
+		   UnsupportedProperty);
+
+	Properties get_properties(in ObjectGroup object_group)
+	     raises(ObjectGroupNotFound);
+    };
+
+
+    // Specification of ObjectGroupManager Interface
+    // which ReplicationManager Inherits
+    interface ObjectGroupManager {
+	ObjectGroup create_member(
+	    in ObjectGroup object_group,
+	    in Location the_location,
+	    in TypeId type_id, 
+	    in Criteria the_criteria)
+	raises(ObjectGroupNotFound,
+		MemberAlreadyPresent,
+		NoFactory,
+		ObjectNotCreated,
+		InvalidCriteria,
+		CannotMeetCriteria);
+						
+	ObjectGroup add_member(
+	    in ObjectGroup object_group,
+	    in Location the_location,
+	    in Object member)
+	    raises(ObjectGroupNotFound,
+		   MemberAlreadyPresent,
+		   ObjectNotAdded);
+
+	ObjectGroup remove_member(
+	    in ObjectGroup object_group,
+	    in Location the_location)
+	    raises(ObjectGroupNotFound,
+		   MemberNotFound);
+						
+	ObjectGroup set_primary_member(
+            in ObjectGroup object_group,
+	    in Location the_location)
+	    raises(ObjectGroupNotFound,
+		   MemberNotFound,
+		   PrimaryNotSet,
+		   BadReplicationStyle);
+						
+	Locations locations_of_members(
+	    in ObjectGroup object_group)
+	    raises(ObjectGroupNotFound);
+						
+	ObjectGroupId get_object_group_id(
+	    in ObjectGroup object_group)
+	    raises(ObjectGroupNotFound);
+
+	ObjectGroup get_object_group_ref(
+	    in ObjectGroup object_group)
+	    raises(ObjectGroupNotFound);
+
+	Object get_member_ref(
+	    in ObjectGroup object_group,
+	    in Location loc)
+	raises(ObjectGroupNotFound,
+	       MemberNotFound);
+    };
+
+    // Specification of GenericFactory Interface
+    // which ReplicationManager Inherits and Application Objects Implement
+    interface GenericFactory {
+        typedef any FactoryCreationId; 
+	Object create_object(in TypeId type_id, 
+	    in Criteria the_criteria,
+	    out FactoryCreationId factory_creation_id)
+	    raises (NoFactory,
+		ObjectNotCreated,
+		InvalidCriteria,
+		InvalidProperty,
+		CannotMeetCriteria);
+
+	void delete_object(
+	     in FactoryCreationId factory_creation_id)
+	     raises (ObjectNotFound);
+	};
+
+	// Specification of ReplicationManager Interface
+	interface ReplicationManager : PropertyManager, 
+				       ObjectGroupManager,
+				       GenericFactory {
+	void register_fault_notifier(
+	    in FaultNotifier fault_notifier);
+
+	FaultNotifier get_fault_notifier()
+	    raises (InterfaceNotFound);
+    };
+
+    // Specifications for Fault Management 
+    // Specification of PullMonitorable Interface
+    // which Application Objects Inherit
+    interface PullMonitorable {
+	boolean is_alive(); 
+    };
+
+    // Specification of FaultNotifier Interface
+    interface FaultNotifier {
+	typedef unsigned long long ConsumerId;
+
+	void push_structured_fault(
+	    in CosNotification::StructuredEvent event);
+
+	void push_sequence_fault(
+	    in CosNotification::EventBatch events);
+
+	ConsumerId connect_structured_fault_consumer(
+	    in CosNotifyComm::StructuredPushConsumer push_consumer);
+
+	ConsumerId connect_sequence_fault_consumer(
+	    in CosNotifyComm::SequencePushConsumer push_consumer);
+  
+	void disconnect_consumer( 
+	    in ConsumerId connection)
+	    raises(CosEventComm::Disconnected);
+
+        void replace_constraint(
+            in ConsumerId connection,
+            in CosNotification::EventTypeSeq event_types,
+            in string constr_expr);
+    };
+
+
+    // Specifications for Logging and Recovery
+    typedef sequence<octet> State;
+
+    exception NoStateAvailable {};
+    exception InvalidState {};
+    exception NoUpdateAvailable {};
+    exception InvalidUpdate {};
+
+    // Specification of Checkpointable Interface
+    // which Updateable and Application Objects Inherit
+    interface Checkpointable {
+	State  get_state()
+	    raises(NoStateAvailable);
+
+	void set_state(in State s)
+	    raises(InvalidState);
+    };
+
+    // Specification of Updateable Interface
+    // which Application Objects Inherit
+    interface Updateable : Checkpointable {
+	State  get_update() 
+	    raises(NoUpdateAvailable);
+
+	void set_update(in State s)
+	     raises(InvalidUpdate);
+    };
+};
+#endif          // for #ifndef _FT_IDL_
+
+
+
+
+
+	

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GIOP.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GIOP.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,239 @@
+// File: GIOP.idl
+// From CORBA 3.0: Chapter 15, General Inter-ORB Protocol
+
+// To compiler this for 
+
+#ifndef _GIOP_IDL_
+#define _GIOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#include <IOP.idl>
+
+#pragma prefix "omg.org"
+#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
+    };
+
+    // GIOP 1.0
+    struct ReplyHeader_1_0 {// Renamed from ReplyHeader
+        IOP::ServiceContextList     service_context;
+        unsigned long               request_id;
+        ReplyStatusType_1_0         reply_status;
+    };
+
+    // GIOP 1.1
+    typedef ReplyHeader_1_0 ReplyHeader_1_1;
+    // Same Header contents for 1.0 and 1.1
+#else
+    // 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;
+#endif // GIOP_1_2
+
+    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
+    };
+
+    // GIOP 1.0
+        struct LocateReplyHeader_1_0 {// Renamed from LocateReplyHeader
+            unsigned long           request_id;
+            LocateStatusType_1_0    locate_status;
+    };
+
+    // GIOP 1.1
+    typedef LocateReplyHeader_1_0 LocateReplyHeader_1_1;
+    // same Header contents for 1.0 and 1.1
+
+#else
+    // 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;
+#endif // GIOP_1_2
+
+    // 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/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GSSUP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GSSUP.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GSSUP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/GSSUP.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,66 @@
+//
+// File: GSSUP.idl
+// CORBA 3.0 Chapter 24
+
+#ifndef _GSSUP_IDL_
+#define _GSSUP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_
+#include <CSI.idl>
+
+#pragma prefix "omg.org"
+#else
+import ::CSI;
+#endif // _PRE_3_0_COMPILER_
+
+module GSSUP {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix GSSUP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    // 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/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IIOP.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IIOP.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,51 @@
+// File: IIOP.idl
+// From CORBA 3.0: Chapter 15, General Inter-ORB Protocol
+
+#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_
+

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,171 @@
+// File: IOP.idl
+// From CORBA 3.0: Chapter 13, ORB Interoperability Achitecture
+#ifndef _IOP_IDL_
+#define _IOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+
+#include <orb.idl>
+#else
+import ::CORBA;
+#endif // _PRE_3_0_COMPILER_
+
+module IOP {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix IOP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    // IOR Profiles
+
+    // Standard Protocol Profile tag values 
+    typedef unsigned long           ProfileId;
+    const ProfileId                 TAG_INTERNET_IOP = 0;
+    const ProfileId                 TAG_MULTIPLE_COMPONENTS = 1;
+    const ProfileId                 TAG_SCCP_IOP = 2;
+
+    struct TaggedProfile {
+        ProfileId                   tag;
+        sequence <octet>            profile_data;
+    };
+    
+   
+    // The IOR
+
+    // an Interoperable Object Reference is a sequence of
+    // object-specific protocol profiles, plus a type ID.
+    struct IOR {
+        string                      type_id;
+        sequence <TaggedProfile>    profiles;
+    };
+    
+
+    // IOR Components
+
+
+    // Standard way of representing multicomponent profiles.
+    // This would be encapsulated in a TaggedProfile.
+
+    typedef unsigned long ComponentId;
+
+    struct TaggedComponent {
+        ComponentId                 tag;
+        sequence <octet>            component_data;
+    };
+
+    typedef sequence <TaggedComponent> MultipleComponentProfile;
+    
+    // Added TaggedComponentSeq, it is used in Messaging.idl
+	typedef sequence <TaggedComponent> TaggedComponentSeq;
+
+    const ComponentId           TAG_ORB_TYPE                = 0;
+    const ComponentId           TAG_CODE_SETS               = 1;
+    const ComponentId           TAG_POLICIES                = 2;   
+    const ComponentId           TAG_ALTERNATE_IIOP_ADDRESS  = 3;
+    const ComponentId           TAG_ASSOCIATION_OPTIONS     = 13;
+    const ComponentId           TAG_SEC_NAME                = 14;
+    const ComponentId           TAG_SPKM_1_SEC_MECH         = 15;
+    const ComponentId           TAG_SPKM_2_SEC_MECH         = 16;
+    const ComponentId           TAG_KerberosV5_SEC_MECH     = 17;
+    const ComponentId           TAG_CSI_ECMA_Secret_SEC_MECH= 18;
+    const ComponentId           TAG_CSI_ECMA_Hybrid_SEC_MECH= 19;
+    const ComponentId           TAG_SSL_SEC_TRANS           = 20;
+    const ComponentId           TAG_CSI_ECMA_Public_SEC_MECH= 21;
+    const ComponentId           TAG_GENERIC_SEC_MECH        = 22;
+    const ComponentId           TAG_FIREWALL_TRANS          = 23; 
+    const ComponentId           TAG_SCCP_CONTACT_INFO       = 24; 
+    const ComponentId           TAG_JAVA_CODEBASE           = 25;
+
+    const ComponentId           TAG_TRANSACTION_POLICY      = 26;
+    const ComponentId           TAG_MESSAGE_ROUTER          = 30;
+    const ComponentId           TAG_OTS_POLICY              = 31;
+    const ComponentId           TAG_INV_POLICY              = 32;
+
+    const ComponentId           TAG_CSI_SEC_MECH_LIST       = 33;
+    const ComponentId           TAG_NULL_TAG                = 34;
+    const ComponentId           TAG_SECIOP_SEC_TRANS        = 35;
+
+    const ComponentId           TAG_TLS_SEC_TRANS           = 36;
+
+    const ComponentId           TAG_ACTIVITY_POLICY         = 37;
+ 
+
+    const ComponentId           TAG_COMPLETE_OBJECT_KEY     = 5;
+    const ComponentId           TAG_ENDPOINT_ID_POSITION    = 6;
+    const ComponentId           TAG_LOCATION_POLICY         = 12;
+    const ComponentId           TAG_DCE_STRING_BINDING      = 100;
+    const ComponentId           TAG_DCE_BINDING_NAME        = 101;
+    const ComponentId           TAG_DCE_NO_PIPES            = 102;
+
+    const ComponentId           TAG_DCE_SEC_MECH            = 103;
+
+    const ComponentId           TAG_INET_SEC_TRANS          = 123;
+
+    // Service Contexts
+
+    typedef unsigned long       ServiceId;
+    struct ServiceContext {
+        ServiceId               context_id;
+        sequence <octet>        context_data;
+    };
+    typedef sequence <ServiceContext> ServiceContextList;
+    const ServiceId             TransactionService          = 0;
+    const ServiceId             CodeSets                    = 1;
+    const ServiceId             ChainBypassCheck            = 2;
+    const ServiceId             ChainBypassInfo             = 3;
+    const ServiceId             LogicalThreadId             = 4;
+    const ServiceId             BI_DIR_IIOP                 = 5;
+    const ServiceId             SendingContextRunTime       = 6;
+    const ServiceId             INVOCATION_POLICIES         = 7;
+    const ServiceId             FORWARDED_IDENTITY          = 8;
+    const ServiceId             UnknownExceptionInfo        = 9;
+    const ServiceId             RTCorbaPriority             = 10;
+    const ServiceId             RTCorbaPriorityRange        = 11;
+    const ServiceId             FT_GROUP_VERSION            = 12;
+    const ServiceId             FT_REQUEST                  = 13;
+    const ServiceId             ExceptionDetailMessage      = 14;
+    const ServiceId             SecurityAttributeService    = 15;
+    const ServiceId             ActivityService             = 16;
+
+    // Coder Decoder from Portable Interceptor
+
+    local interface Codec {
+        exception InvalidTypeForEncoding {};
+        exception FormatMismatch {};
+        exception TypeMismatch {};
+
+        CORBA::OctetSeq encode (in any data)
+            raises (InvalidTypeForEncoding);
+        any decode (in CORBA::OctetSeq data)
+            raises (FormatMismatch);
+        CORBA::OctetSeq encode_value (in any data)
+            raises (InvalidTypeForEncoding);
+        any decode_value (
+            in CORBA::OctetSeq data,
+            in CORBA::TypeCode tc)
+            raises (FormatMismatch, TypeMismatch);
+    };
+
+    // Codec Factory
+
+    typedef short EncodingFormat;
+    const EncodingFormat ENCODING_CDR_ENCAPS = 0;
+
+    struct Encoding {
+        EncodingFormat format;
+        octet major_version;
+        octet minor_version;
+    };
+
+    local interface CodecFactory {
+        exception UnknownEncoding {};
+        Codec create_codec (in Encoding enc)
+            raises (UnknownEncoding);
+    };
+};
+
+// #include <IOP_DCE.idl>
+
+#endif  // _IOP_IDL_
+

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP_DCE.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP_DCE.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP_DCE.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/IOP_DCE.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,25 @@
+// File: IOP-DCE.idl
+// From CORBA 3.0: Chapter 13, ORB Interoperability Achitecture
+
+// if you want to copile this file then uncomment the line including
+// this file that reads "#include <IOP_DCE.idl>" in IOP.idl
+
+#ifndef _IOP_DCE_IDL_
+#define _IOP_DCE_IDL_
+
+module IOP {
+
+    struct EndpointIdPositionComponent {
+        unsigned short begin;
+        unsigned short end;
+    };
+
+
+// IDL does not support octet constants
+#define LOCATE_NEVER 0
+#define LOCATE_OBJECT 1
+#define LOCATE_OPERATION 2
+#define LOCATE_ALWAYS 3
+};
+
+#endif // _IOP_DCE_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/MessageRouting.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/MessageRouting.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/MessageRouting.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/MessageRouting.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,167 @@
+// File: MessageRouting.idl
+// CORBA 3.0, Chapter 22
+
+#ifndef _MESSAGE_ROUTING_IDL_
+#define _MESSAGE_ROUTING_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <orb.idl>
+#include <GIOP.idl>
+#include <IOP.idl>
+#include <Messaging.idl>
+#else
+import ::CORBA;
+import ::GIOP;
+import ::IOP;
+import ::Messaging;
+#endif // _PRE_3_0_COMPILER_
+
+module MessageRouting{
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix MessageRouting "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    // Basic routing Interoperability
+
+    interface Router;
+    interface RouterAdmin;
+
+    typedef sequence<Router> RouterList;
+
+    struct MessageBody {
+        sequence<octet> body;
+        boolean byte_order;
+    };
+
+    struct RequestMessage {
+        GIOP::Version giop_version;
+        IOP::ServiceContextList service_contexts;
+        octet response_flags;
+        octet reserved[3];
+        sequence<octet> object_key;
+        string operation;
+        MessageBody body;
+    };
+
+    enum ReplyDisposition { TYPED, UNTYPED };
+
+    struct ReplyDestination {
+        ReplyDisposition handler_type;
+        Messaging::ReplyHandler handler;
+        sequence<string> typed_excep_holder_repids;
+    };
+
+    struct RequestInfo {
+        RouterList visited;
+        RouterList to_visit;
+        Object target;
+        unsigned short profile_index;
+        ReplyDestination reply_destination;
+        Messaging::PolicyValueSeq selected_qos;
+        RequestMessage payload;
+    };
+
+    typedef sequence<RequestInfo> RequestInfoSeq;
+
+    interface Router {
+        void send_request(in RequestInfo req);
+        void send_multiple_requests(in RequestInfoSeq reqSeq);
+
+        readonly attribute RouterAdmin admin;
+    };
+
+    // Polling-related interfaces
+
+    interface UntypedReplyHandler : Messaging::ReplyHandler {
+        void reply(
+            in string operation_name,
+            in GIOP::ReplyStatusType reply_type,
+            in MessageBody reply_body);
+    };
+
+    exception ReplyNotAvailable { };
+
+    interface PersistentRequest {
+        readonly attribute boolean reply_available;
+        GIOP::ReplyStatusType get_reply(
+            in boolean blocking,
+            in unsigned long timeout,
+            out MessageBody reply_body)
+            raises (ReplyNotAvailable);
+        attribute Messaging::ReplyHandler associated_handler;
+    };
+
+    interface PersistentRequestRouter {
+        PersistentRequest create_persistent_request(
+            in unsigned short profile_index,
+            in RouterList to_visit,
+            in Object target,
+            in CORBA::PolicyList current_qos,
+            in RequestMessage payload);
+    };
+
+    // Router Administration
+
+    typedef short RegistrationState;
+    const RegistrationState NOT_REGISTERED = 0;
+    const RegistrationState ACTIVE = 1;
+    const RegistrationState SUSPENDED = 2;
+
+    exception InvalidState{
+        RegistrationState registration_state;
+    };
+
+    valuetype RetryPolicy supports CORBA::Policy { };
+ 
+    const CORBA::PolicyType IMMEDIATE_SUSPEND_POLICY_TYPE = 36;
+
+    valuetype ImmediateSuspend : RetryPolicy { };
+
+    const CORBA::PolicyType UNLIMITED_PING_POLICY_TYPE = 37;
+
+    valuetype UnlimitedPing : RetryPolicy {
+        public short max_backoffs;
+        public float backoff_factor;
+        public unsigned long base_interval_seconds;
+    };
+
+    const CORBA::PolicyType LIMITED_PING_POLICY_TYPE = 38;
+
+    valuetype LimitedPing : UnlimitedPing {
+        public unsigned long interval_limit;
+    };
+
+    const CORBA::PolicyType DECAY_POLICY_TYPE = 39;
+
+    valuetype DecayPolicy supports CORBA::Policy {
+        public unsigned long decay_seconds;
+    };
+
+    const CORBA::PolicyType RESUME_POLICY_TYPE = 40;
+
+    valuetype ResumePolicy supports CORBA::Policy {
+        public unsigned long resume_seconds;
+    };
+
+    interface RouterAdmin {
+        void register_destination(
+            in Object dest,
+            in boolean is_router,
+            in RetryPolicy retry,
+            in DecayPolicy decay);
+        void suspend_destination(
+            in Object dest,
+            in ResumePolicy resumption)
+            raises (InvalidState);
+        void resume_destination(
+            in Object dest)
+            raises (InvalidState);
+        void unregister_destination(
+            in Object dest)
+            raises (InvalidState);
+    };
+
+}; // module MessageRouting
+#endif // _MESSAGE_ROUTING_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Messaging.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Messaging.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Messaging.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Messaging.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,198 @@
+// File: Messaging.idl
+// CORBA 3.0, Chapter 22
+
+#ifndef _MESSAGING_IDL_
+#define _MESSAGING_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <orb.idl>
+#include <Dynamic.idl>
+#include <IOP.idl>
+#include <TimeBase.idl>
+#else
+import ::CORBA;
+import ::Dynamic;
+import ::IOP;
+import ::TimeBase;
+#endif // _PRE_3_0_COMPILER_
+
+// App developers should never have to use this IDL file. The ORB vendor
+// should supply an implementation language version of this file, and
+// that should be used by app developers if necessary.
+
+// Most IDL compilers don't accept the "native" keyword in application IDL 
+//    files. In order to compile an IDL (really PIDL) file that has it, the 
+//    following trick can be used: change what the compiler sees. Instead
+//    of letting the compiler see the keyword "native", use a preprocessor
+//    definition that results in valid IDL, even if it doesn't yield
+//    useful stubs and skeletons. Of course, PIDL never results in
+//    the standard stubs so that's not a problem.
+//
+// Set the variable _MASK_NATIVE_ in the IDL compiler to enable it to
+// parse this file.
+
+#ifdef _MASK_NATIVE_
+#define native typedef long
+#endif // _MASK_NATIVE_
+
+module Messaging {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix Messaging "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    typedef short RebindMode;
+    const RebindMode TRANSPARENT = 0;
+    const RebindMode NO_REBIND = 1;
+    const RebindMode NO_RECONNECT = 2;
+
+    typedef short SyncScope;
+    const SyncScope SYNC_NONE = 0;
+    const SyncScope SYNC_WITH_TRANSPORT = 1;
+    const SyncScope SYNC_WITH_SERVER = 2;
+    const SyncScope SYNC_WITH_TARGET = 3;
+
+    typedef short RoutingType;
+    const RoutingType ROUTE_NONE = 0;
+    const RoutingType ROUTE_FORWARD = 1;
+    const RoutingType ROUTE_STORE_AND_FORWARD =2;
+
+    typedef short Priority;
+
+    typedef unsigned short Ordering;
+    const Ordering ORDER_ANY = 0x01;
+    const Ordering ORDER_TEMPORAL = 0x02;
+    const Ordering ORDER_PRIORITY = 0x04;
+    const Ordering ORDER_DEADLINE = 0x08;
+
+    // Rebind Policy (default = TRANSPARENT)
+    const CORBA::PolicyType REBIND_POLICY_TYPE = 23;
+
+    local interface RebindPolicy : CORBA::Policy {
+        readonly attribute RebindMode rebind_mode;
+    };
+
+    // Synchronization Policy (default = SYNC_WITH_TRANSPORT)
+    const CORBA::PolicyType SYNC_SCOPE_POLICY_TYPE = 24;
+
+    local interface SyncScopePolicy : CORBA::Policy {
+        readonly attribute SyncScope synchronization;
+    };
+
+    // Priority Policies
+    const CORBA::PolicyType REQUEST_PRIORITY_POLICY_TYPE = 25;
+
+    struct PriorityRange {
+        Priority min;
+        Priority max;
+    };
+
+    local interface RequestPriorityPolicy : CORBA::Policy {
+        readonly attribute PriorityRange priority_range;
+    };
+
+    const CORBA::PolicyType REPLY_PRIORITY_POLICY_TYPE = 26;
+
+    interface ReplyPriorityPolicy : CORBA::Policy {
+        readonly attribute PriorityRange priority_range;
+    };
+
+    // Timeout Policies
+    const CORBA::PolicyType REQUEST_START_TIME_POLICY_TYPE = 27;
+
+    local interface RequestStartTimePolicy : CORBA::Policy {
+        readonly attribute TimeBase::UtcT start_time;
+    };
+
+    const CORBA::PolicyType REQUEST_END_TIME_POLICY_TYPE = 28;
+
+    local interface RequestEndTimePolicy : CORBA::Policy {
+        readonly attribute TimeBase::UtcT end_time;
+    };
+
+    const CORBA::PolicyType REPLY_START_TIME_POLICY_TYPE = 29;
+
+    local interface ReplyStartTimePolicy : CORBA::Policy {
+        readonly attribute TimeBase::UtcT start_time;
+    };
+
+    const CORBA::PolicyType REPLY_END_TIME_POLICY_TYPE = 30;
+
+    local interface ReplyEndTimePolicy : CORBA::Policy {
+        readonly attribute TimeBase::UtcT end_time;
+    };
+
+    const CORBA::PolicyType RELATIVE_REQ_TIMEOUT_POLICY_TYPE = 31;
+
+    local interface RelativeRequestTimeoutPolicy : CORBA::Policy {
+        readonly attribute TimeBase::TimeT relative_expiry;
+    };
+
+    const CORBA::PolicyType RELATIVE_RT_TIMEOUT_POLICY_TYPE = 32;
+
+    local interface RelativeRoundtripTimeoutPolicy : CORBA::Policy {
+        readonly attribute TimeBase::TimeT relative_expiry;
+    };
+
+    const CORBA::PolicyType ROUTING_POLICY_TYPE = 33;
+
+    struct RoutingTypeRange {
+        RoutingType min;
+        RoutingType max;
+    };
+
+    local interface RoutingPolicy : CORBA::Policy {
+        readonly attribute RoutingTypeRange routing_range;
+    };
+
+    const CORBA::PolicyType MAX_HOPS_POLICY_TYPE = 34;
+
+    local interface MaxHopsPolicy : CORBA::Policy {
+        readonly attribute unsigned short max_hops;
+    };
+
+    // Router Delivery-ordering Policy (default = ORDER_TEMPORAL)
+    const CORBA::PolicyType QUEUE_ORDER_POLICY_TYPE = 35;
+
+    local interface QueueOrderPolicy : CORBA::Policy {
+        readonly attribute Ordering allowed_orders;
+    };
+
+    // Profile components through which policy values are expressed in IORs
+
+    struct PolicyValue {
+        CORBA::PolicyType ptype;
+        sequence<octet> pvalue;
+    };
+
+    typedef sequence<PolicyValue> PolicyValueSeq;
+
+	// Replaced with CORBA::UserException
+    // native UserExceptionBase;
+    valuetype ExceptionHolder {
+      void raise_exception() raises (CORBA::UserException);
+      void raise_exception_with_list(
+	  in Dynamic::ExceptionList exc_list)
+	raises (CORBA::UserException);
+      private boolean is_system_exception;
+      private boolean byte_order;
+      private sequence<octet> marshaled_exception;
+    };
+
+    // For handling Routing
+    interface ReplyHandler { };
+
+    // Generic Poller Valuetype
+
+    valuetype Poller : CORBA::Pollable {
+        readonly attribute Object operation_target;
+        readonly attribute string operation_name;
+        attribute ReplyHandler associated_handler;
+        readonly attribute boolean is_from_poller;
+        private Object target;
+        private string op_name;
+    };
+
+}; // module Messaging
+#endif // _MESSAGING_IDL_



Mime
View raw message