geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r370336 [3/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/PortableInterceptor.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/PortableInterceptor.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/PortableInterceptor.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/PortableInterceptor.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,228 @@
+// File: PortableInterceptor.idl
+// CORBA 3.0, Chapter 21
+
+#ifndef _PORTABLE_INTERCEPTOR_IDL_
+#define _PORTABLE_INTERCEPTOR_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <orb.idl>
+#include <IOP.idl>
+#include <Messaging.idl>
+#include <Dynamic.idl>
+#else
+import ::CORBA;
+import ::IOP;
+import ::Messaging;
+import ::Dynamic;
+#endif // _PRE_3_0_COMPILER_
+
+module PortableInterceptor {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix PortableInterceptor "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    local interface Interceptor {
+        readonly attribute string name;
+    };
+
+    exception ForwardRequest {
+        Object forward;
+    };
+
+    typedef short ReplyStatus;
+
+    // Valid reply_status values:
+    const ReplyStatus SUCCESSFUL = 0;
+    const ReplyStatus SYSTEM_EXCEPTION = 1;
+    const ReplyStatus USER_EXCEPTION = 2;
+    const ReplyStatus LOCATION_FORWARD = 3;
+    const ReplyStatus TRANSPORT_RETRY = 4;
+    const ReplyStatus UNKNOWN = 5;
+
+    typedef unsigned long SlotId;
+
+    exception InvalidSlot {};
+
+    local interface Current : CORBA::Current {
+        any get_slot (in SlotId id) raises (InvalidSlot);
+        void set_slot (in SlotId id, in any data) raises (InvalidSlot);
+    };
+
+    local interface RequestInfo {
+
+        readonly attribute unsigned long request_id;
+        readonly attribute string operation;
+        readonly attribute Dynamic::ParameterList arguments;
+        readonly attribute Dynamic::ExceptionList exceptions;
+        readonly attribute Dynamic::ContextList contexts;
+        readonly attribute Dynamic::RequestContext operation_context;
+        readonly attribute any result;
+        readonly attribute boolean response_expected;
+        readonly attribute Messaging::SyncScope sync_scope;
+        readonly attribute ReplyStatus reply_status;
+        readonly attribute Object forward_reference;
+
+        any get_slot (in SlotId id) raises (InvalidSlot);
+        IOP::ServiceContext get_request_service_context (
+            in IOP::ServiceId id);
+            IOP::ServiceContext get_reply_service_context (
+            in IOP::ServiceId id);
+    };
+
+    local interface ClientRequestInfo : RequestInfo {
+
+        readonly attribute Object target;
+        readonly attribute Object effective_target;
+        readonly attribute IOP::TaggedProfile effective_profile;
+        readonly attribute any received_exception;
+        readonly attribute CORBA::RepositoryId received_exception_id;
+
+        IOP::TaggedComponent get_effective_component (
+            in IOP::ComponentId id);
+        IOP::TaggedComponentSeq get_effective_components (
+            in IOP::ComponentId id);
+        CORBA::Policy get_request_policy (in CORBA::PolicyType type);
+        void add_request_service_context (
+            in IOP::ServiceContext service_context,
+            in boolean replace);
+    };
+
+    typedef string ServerId ;
+    typedef string ORBId ;
+    typedef CORBA::StringSeq AdapterName ;
+    typedef CORBA::OctetSeq ObjectId ;
+
+    local interface ServerRequestInfo : RequestInfo {
+        readonly attribute any sending_exception;
+	readonly attribute ServerId server_id;
+	readonly attribute ORBId orb_id;
+	readonly attribute AdapterName adapter_name;
+        readonly attribute ObjectId object_id;
+        readonly attribute CORBA::OctetSeq adapter_id;
+        readonly attribute CORBA::RepositoryId target_most_derived_interface;
+
+        CORBA::Policy get_server_policy (in CORBA::PolicyType type);
+        void set_slot (in SlotId id, in any data) raises (InvalidSlot);
+        boolean target_is_a (in CORBA::RepositoryId id);
+        void add_reply_service_context (
+            in IOP::ServiceContext service_context,
+            in boolean replace);
+    };
+
+    local interface ClientRequestInterceptor : Interceptor {
+
+        void send_request (in ClientRequestInfo ri)
+            raises (ForwardRequest);
+        void send_poll (in ClientRequestInfo ri);
+        void receive_reply (in ClientRequestInfo ri);
+        void receive_exception (in ClientRequestInfo ri)
+            raises (ForwardRequest);
+        void receive_other (in ClientRequestInfo ri)
+            raises (ForwardRequest);
+    };
+
+    local interface ServerRequestInterceptor : Interceptor {
+
+        void receive_request_service_contexts (in ServerRequestInfo ri)
+            raises (ForwardRequest);
+        void receive_request (in ServerRequestInfo ri)
+            raises (ForwardRequest);
+        void send_reply (in ServerRequestInfo ri);
+        void send_exception (in ServerRequestInfo ri)
+            raises (ForwardRequest);
+        void send_other (in ServerRequestInfo ri)
+            raises (ForwardRequest);
+    };
+
+    abstract valuetype ObjectReferenceFactory {
+	Object make_object( in string repository_id, 
+            in ObjectId id ) ;
+    };
+
+    abstract valuetype ObjectReferenceTemplate :
+	ObjectReferenceFactory {
+	readonly attribute ServerId server_id ;
+	readonly attribute ORBId orb_id ;
+        readonly attribute AdapterName adapter_name ;
+    } ;
+
+    typedef sequence<ObjectReferenceTemplate> ObjectReferenceTemplateSeq;
+    typedef string AdapterManagerId;
+    typedef short AdapterState ;
+
+    const AdapterState  HOLDING      = 0 ;
+    const AdapterState  ACTIVE       = 1 ;
+    const AdapterState  DISCARDING   = 2 ;
+    const AdapterState  INACTIVE     = 3 ;
+    const AdapterState  NON_EXISTENT = 4 ;
+
+    local interface IORInfo {
+        CORBA::Policy get_effective_policy (in CORBA::PolicyType type);
+        void add_ior_component (
+            in IOP::TaggedComponent a_component);
+        void add_ior_component_to_profile (
+            in IOP::TaggedComponent a_component,
+            in IOP::ProfileId profile_id);
+    };
+
+    local interface IORInterceptor : Interceptor {
+        void establish_components (in IORInfo info);
+    };
+
+    local interface IORInterceptor_3_0 : IORInterceptor {
+	void components_established( in IORInfo info );
+	void adapter_manager_state_changed(
+	    in AdapterManagerId id, 
+            in AdapterState state );
+	void adapter_state_changed( 
+	    in ObjectReferenceTemplateSeq templates,
+	    in AdapterState state);
+    };
+
+    local interface PolicyFactory {
+        CORBA::Policy create_policy (
+            in CORBA::PolicyType type,
+            in any value)
+            raises (CORBA::PolicyError);
+    };
+
+    local interface ORBInitInfo {
+
+        typedef string ObjectId;
+
+        exception DuplicateName {
+            string name;
+        };
+
+        exception InvalidName {};
+
+        readonly attribute CORBA::StringSeq arguments;
+        readonly attribute string orb_id;
+        readonly attribute IOP::CodecFactory codec_factory;
+        void register_initial_reference (in ObjectId id, in Object obj)
+            raises (InvalidName);
+        Object resolve_initial_references(
+	    in ObjectId id) raises (InvalidName);
+        void add_client_request_interceptor (
+            in ClientRequestInterceptor interceptor)
+            raises (DuplicateName);
+        void add_server_request_interceptor (
+            in ServerRequestInterceptor interceptor)
+            raises (DuplicateName);
+        void add_ior_interceptor (in IORInterceptor interceptor)
+            raises (DuplicateName);
+        SlotId allocate_slot_id ();
+        void register_policy_factory (
+            in CORBA::PolicyType type,
+            in PolicyFactory policy_factory);
+    };
+
+    local interface ORBInitializer {
+        void pre_init (in ORBInitInfo info);
+        void post_init (in ORBInitInfo info);
+    };
+
+}; // module PortableInterceptor
+#endif // _PORTABLE_INTERCEPTOR_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/PortableServer.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/PortableServer.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/PortableServer.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/PortableServer.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,276 @@
+// File: PortableServer.idl
+// CORBA 3.0, Chapter 11
+
+#ifndef _PORTABLE_SERVER_IDL_
+#define _PORTABLE_SERVER_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+
+#include <orb.idl>
+#else
+import ::CORBA;
+#endif // _PRE_3_0_COMPILER_
+
+// 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 PortableServer {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix PortableServer "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    local interface POA;                          // forward declaration
+    typedef sequence<POA> POAList; 
+    native Servant;
+    typedef CORBA::OctetSeq ObjectId;
+    exception ForwardRequest {
+        Object forward_reference;
+    };
+    
+    // Policy interfaces
+    const CORBA::PolicyType THREAD_POLICY_ID                = 16;
+    const CORBA::PolicyType LIFESPAN_POLICY_ID              = 17;
+    const CORBA::PolicyType ID_UNIQUENESS_POLICY_ID         = 18;
+    const CORBA::PolicyType ID_ASSIGNMENT_POLICY_ID         = 19;
+    const CORBA::PolicyType IMPLICIT_ACTIVATION_POLICY_ID   = 20;
+    const CORBA::PolicyType SERVANT_RETENTION_POLICY_ID     = 21;
+    const CORBA::PolicyType REQUEST_PROCESSING_POLICY_ID    = 22;
+    
+    enum ThreadPolicyValue {
+        ORB_CTRL_MODEL,
+        SINGLE_THREAD_MODEL,
+	MAIN_THREAD_MODEL
+    };
+    local interface ThreadPolicy : CORBA::Policy {
+        readonly attribute ThreadPolicyValue value;
+    };
+    
+    enum LifespanPolicyValue {
+        TRANSIENT,
+        PERSISTENT
+    };
+    local interface LifespanPolicy : CORBA::Policy {
+        readonly attribute LifespanPolicyValue value;
+    };
+    
+    enum IdUniquenessPolicyValue {
+        UNIQUE_ID,
+        MULTIPLE_ID
+    };
+    local interface IdUniquenessPolicy : CORBA::Policy {
+        readonly attribute IdUniquenessPolicyValue value;
+    };
+    
+    enum IdAssignmentPolicyValue {
+        USER_ID,
+        SYSTEM_ID
+    };
+    local interface IdAssignmentPolicy : CORBA::Policy {
+        readonly attribute IdAssignmentPolicyValue value;
+    };
+    
+    enum ImplicitActivationPolicyValue {
+        IMPLICIT_ACTIVATION,
+        NO_IMPLICIT_ACTIVATION
+    };
+    local interface ImplicitActivationPolicy : CORBA::Policy {
+        readonly attribute ImplicitActivationPolicyValue value;
+    };
+    
+    enum ServantRetentionPolicyValue {
+        RETAIN,
+        NON_RETAIN
+    };
+    local interface ServantRetentionPolicy : CORBA::Policy {
+        readonly attribute ServantRetentionPolicyValue value;
+    };
+    
+    enum RequestProcessingPolicyValue {
+        USE_ACTIVE_OBJECT_MAP_ONLY,
+        USE_DEFAULT_SERVANT,
+        USE_SERVANT_MANAGER
+    };
+    local interface RequestProcessingPolicy : CORBA::Policy {
+        readonly attribute RequestProcessingPolicyValue value;
+    };
+    
+    // POAManager interface
+    local interface POAManager {
+        exception AdapterInactive{};
+        enum State {HOLDING, ACTIVE, DISCARDING, INACTIVE};
+        void activate()             raises(AdapterInactive);
+        void hold_requests(     in boolean wait_for_completion)
+                                    raises(AdapterInactive);
+        void discard_requests(  in boolean wait_for_completion)
+                                    raises(AdapterInactive);
+        void deactivate(        in boolean etherealize_objects, 
+                                in boolean wait_for_completion)
+                                    raises(AdapterInactive);
+        State get_state();
+        string get_id();
+    };
+    
+    // PoaManagerFactory
+    local interface POAManagerFactory {
+        typedef sequence<POAManager> POAManagerSeq;
+        exception ManagerAlreadyExists {};
+        POAManager create_POAManager(
+	    in string id,
+	    in CORBA::PolicyList policies
+	) raises(ManagerAlreadyExists, CORBA::PolicyError);
+        POAManagerSeq list();
+        POAManager find( in string id);
+    };
+
+    // AdapterActivator interface
+    local interface AdapterActivator {
+        boolean unknown_adapter(in POA parent, 
+                                in string name);
+    };
+    
+    // ServantManager interface
+    local interface ServantManager{ };
+    
+    local interface ServantActivator : ServantManager {
+        Servant incarnate (     in ObjectId oid,
+                                in POA      adapter)
+                                    raises (ForwardRequest);
+        void etherealize (      in ObjectId oid, 
+                                in POA      adapter,
+                                in Servant  serv,
+                                in boolean  cleanup_in_progress,
+                                in boolean  remaining_activations);
+    };
+    
+    local interface ServantLocator : ServantManager {
+        native  Cookie;
+        Servant preinvoke(      in ObjectId oid,
+                                in POA      adapter,
+                                in CORBA::Identifier 
+                                            operation,
+                                out Cookie  the_cookie)
+                                    raises (ForwardRequest);
+        void postinvoke(        in ObjectId oid,
+                                in POA      adapter,
+                                in CORBA::Identifier
+                                            operation,
+                                in Cookie   the_cookie,
+                                in Servant  the_servant );
+    };
+    
+    local interface POA {
+        exception AdapterAlreadyExists {};
+        exception AdapterNonExistent {};
+        exception InvalidPolicy {unsigned short index;};
+        exception NoServant {};
+        exception ObjectAlreadyActive {};
+        exception ObjectNotActive {};
+        exception ServantAlreadyActive {};
+        exception ServantNotActive {};
+        exception WrongAdapter {};
+        exception WrongPolicy {};
+
+        // POA creation and destruction
+        POA create_POA(         in string       adapter_name,
+                                in POAManager   a_POAManager,
+                                in CORBA::PolicyList policies)
+                                    raises (AdapterAlreadyExists, InvalidPolicy);
+        POA find_POA(           in string       adapter_name, 
+                                in boolean      activate_it)
+                                    raises (AdapterNonExistent);
+        void destroy(           in boolean      etherealize_objects, 
+                                in boolean      wait_for_completion);
+
+        // Factories for Policy objects
+        ThreadPolicy        create_thread_policy(in ThreadPolicyValue value);
+        LifespanPolicy      
+            create_lifespan_policy(in LifespanPolicyValue value);
+        IdUniquenessPolicy  create_id_uniqueness_policy(
+                                in IdUniquenessPolicyValue value);
+        IdAssignmentPolicy  create_id_assignment_policy(
+                                in IdAssignmentPolicyValue value);
+        ImplicitActivationPolicy create_implicit_activation_policy(
+                                in ImplicitActivationPolicyValue value);
+        ServantRetentionPolicy create_servant_retention_policy(
+                                in ServantRetentionPolicyValue value);
+        RequestProcessingPolicy create_request_processing_policy(
+                                in RequestProcessingPolicyValue value);
+        
+        // POA attributes
+        readonly attribute string       the_name;
+        readonly attribute POA          the_parent;
+        readonly attribute POAList      the_children; 
+        readonly attribute POAManager   the_POAManager;
+        attribute AdapterActivator      the_activator;
+        
+        // Servant Manager registration:
+        ServantManager  get_servant_manager()    
+	  raises (WrongPolicy);
+        void            set_servant_manager(in      ServantManager imgr)
+	  raises (WrongPolicy);
+        
+        // operations for the USE_DEFAULT_SERVANT policy
+        Servant         get_servant() raises (NoServant, WrongPolicy);
+        void            set_servant( in Servant      p_servant) 
+	  raises (WrongPolicy);
+        
+        // object activation and deactivation
+        ObjectId        activate_object(in Servant p_servant)
+	  raises (ServantAlreadyActive, WrongPolicy);
+        void activate_object_with_id(in ObjectId    id,
+                                     in Servant     p_servant)
+	  raises (ServantAlreadyActive, 
+		  ObjectAlreadyActive,  
+		  WrongPolicy);
+        void deactivate_object(      in ObjectId oid) 
+	  raises (ObjectNotActive, WrongPolicy);
+        
+        // reference creation operations
+        Object create_reference (    in CORBA::RepositoryId intf)
+	  raises (WrongPolicy);
+        Object create_reference_with_id (
+                                    in ObjectId             oid,
+                                    in CORBA::RepositoryId  intf);
+        
+        // Identity mapping operations:
+        ObjectId servant_to_id(     in Servant              p_servant) 
+	  raises (ServantNotActive, WrongPolicy);
+        Object servant_to_reference(in Servant              p_servant) 
+	  raises (ServantNotActive, WrongPolicy);
+        Servant reference_to_servant(in Object              reference)
+	  raises(ObjectNotActive, WrongAdapter, WrongPolicy);
+        ObjectId reference_to_id(   in Object               reference)
+	  raises (WrongAdapter, WrongPolicy);
+        Servant id_to_servant(      in ObjectId             oid)
+	  raises (ObjectNotActive, WrongPolicy);
+        Object id_to_reference(     in ObjectId             oid)
+	  raises (ObjectNotActive, WrongPolicy);
+
+        readonly attribute CORBA::OctetSeq id;
+        readonly attribute POAManagerFactory the_POAManagerFactory;
+    };
+    
+    // Current interface
+    local interface Current : CORBA::Current {
+        exception   NoContext { };
+        POA         get_POA()       raises (NoContext);
+        ObjectId    get_object_id() raises (NoContext);
+        Object      get_reference() raises (NoContext);
+        Servant     get_servant()   raises (NoContext);
+    };
+};
+#endif // _PORTABLE_SERVER_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SECIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SECIOP.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SECIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SECIOP.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,142 @@
+#if !defined(_SECIOP_IDL_)
+#define _SECIOP_IDL
+#include <IOP.idl>
+#include <Security.idl>
+#pragma prefix "omg.org"
+
+module SECIOP {
+#pragma version SECIOP 1.1
+	const IOP::ComponentId TAG_GENERIC_SEC_MECH = 22;
+	const IOP::ComponentId TAG_ASSOCIATION_OPTIONS = 13;
+	const IOP::ComponentId TAG_SEC_NAME = 14;
+	const IOP::ComponentId TAG_SECIOP_INET_SEC_TRANS = 123;
+	struct SECIOP_INET_SEC_TRANS {
+		unsigned short					port;
+	};
+	struct TargetAssociationOptions{
+			Security::AssociationOptions					 				target_supports;
+			Security::AssociationOptions									target_requires;
+	};
+	struct GenericMechanismInfo {
+			sequence <octet> 									security_mechanism_type;
+			sequence <octet> 									mech_specific_data;
+			sequence <IOP::TaggedComponent>		 									components;
+	};
+	enum MsgType {
+			MTEstablishContext, 
+			MTCompleteEstablishContext,
+			MTContinueEstablishContext,
+			MTDiscardContext,
+			MTMessageError,
+			MTMessageInContext
+	};
+	typedef unsigned long long ContextId;
+	enum ContextIdDefn {
+			CIDClient, 
+			CIDPeer,
+			CIDSender
+	};
+	struct EstablishContext {
+			ContextId					client_context_id;
+			sequence <octet> 				initial_context_token;
+	};
+	struct CompleteEstablishContext {
+			ContextId					client_context_id;
+			boolean					target_context_id_valid;
+			ContextId					target_context_id;
+			sequence <octet> 						final_context_token;
+	};
+	struct ContinueEstablishContext {
+			ContextId					client_context_id;
+			sequence <octet> 			continuation_context_token;
+	};
+	struct DiscardContext {	
+	ContextIdDefn						message_context_id_defn;
+			ContextId					message_context_id;
+			sequence <octet>				discard_context_token;
+	};
+	struct MessageError {
+			ContextIdDefn				message_context_id_defn;
+			ContextId					message_context_id;
+			long						major_status;
+			long						minor_status;
+	};
+	enum ContextTokenType {
+			SecTokenTypeWrap,
+			SecTokenTypeMIC
+	};
+	struct MessageInContext {
+			ContextIdDefn				message_context_id_defn;
+			ContextId					message_context_id;
+			ContextTokenType				message_context_type;
+			sequence <octet> 				message_protection_token;
+	};
+	typedef sequence <octet> SecurityName;
+	typedef unsigned short CryptographicProfile;
+	typedef sequence <CryptographicProfile> CryptographicProfileList;
+	// Cryptographic profiles for SPKM
+	const CryptographicProfile								MD5_RSA = 20;
+	const CryptographicProfile								MD5_DES_CBC = 21;
+	const CryptographicProfile								DES_CBC = 22;
+	const CryptographicProfile								MD5_DES_CBC_SOURCE  = 23;
+	const CryptographicProfile								DES_CBC_SOURCE  = 24;
+	// Security Mechanism SPKM_1
+	const IOP::ComponentId								TAG_SPKM_1_SEC_MECH = 15;
+	struct SPKM_1 {
+		Security::AssociationOptions									target_supports;
+		Security::AssociationOptions									target_requires;
+		CryptographicProfileList									crypto_profile;
+		SecurityName									security_name;
+	};
+	// Security Mechanism SPKM_1
+	const IOP::ComponentId TAG_SPKM_2_SEC_MECH = 16;
+	struct SPKM_2 {
+		Security::AssociationOptions									target_supports;
+		Security::AssociationOptions									target_requires;
+		CryptographicProfileList									crypto_profile;
+		SecurityName									security_name;
+	};
+	// Cryptographic profiles for GSS Kerberos Protocol
+	const CryptographicProfile									DES_CBC_DES_MAC = 10;
+	const CryptographicProfile									DES_CBC_MD5 = 11;
+	const CryptographicProfile									DES_MAC = 12;
+	const CryptographicProfile									MD5 = 13;
+	// Security Mechanism KerberosV5
+	const IOP::ComponentId TAG_KerberosV5_SEC_MECH = 17;
+	struct KerberosV5 {
+		Security::AssociationOptions									target_supports;
+		Security::AssociationOptions									target_requires;
+		CryptographicProfileList									crypto_profile;
+		SecurityName									security_name;
+	};
+	// Cryptographic profiles for CSI-ECMA Protocol
+	const CryptographicProfile									FullSecurity = 1;
+	const CryptographicProfile									NoDataConfidentiality = 2;
+	const CryptographicProfile									LowGradeConfidentiality = 3;
+	const CryptographicProfile									AgreedDefault = 5;
+	// Security Mechanism CSI_ECMA_Secret
+	const IOP::ComponentId TAG_CSI_ECMA_Secret_SEC_MECH = 18;
+	struct CSI_ECMA_Secret {
+		Security::AssociationOptions									target_supports;
+		Security::AssociationOptions									target_requires;
+		CryptographicProfileList									crypto_profile;
+		SecurityName									security_name;
+	};
+	// Security Mechanism CSI_ECMA_Hybrid
+	const IOP::ComponentId TAG_CSI_ECMA_Hybrid_SEC_MECH = 19;
+	struct CSI_ECMA_Hybrid {
+		Security::AssociationOptions									target_supports;
+		Security::AssociationOptions									target_requires;
+		CryptographicProfileList									crypto_profile;
+		SecurityName									security_name;
+	};
+	// Security Mechanism CSI_ECMA_Public
+	const IOP::ComponentId TAG_CSI_ECMA_Public_SEC_MECH = 21;
+	struct CSI_ECMA_Public {
+		Security::AssociationOptions									target_supports;
+		Security::AssociationOptions									target_requires;
+		CryptographicProfileList						crypto_profile;
+		SecurityName									security_name;
+	};
+};
+#endif /* _SECIOP_IDL */
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SSLIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SSLIOP.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SSLIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SSLIOP.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,15 @@
+#if !defined(_SSLIOP_IDL)
+#define _SSLIOP_IDL
+#pragma prefix "omg.org"
+#include <IOP.idl>
+#include <Security.idl>
+module SSLIOP {
+	// Security mechanism SSL
+	const IOP::ComponentId TAG_SSL_SEC_TRANS = 20;
+	struct SSL {
+		Security::AssociationOptions									target_supports;
+		Security::AssociationOptions									target_requires;
+		unsigned short									port;
+	};
+};
+#endif /* _SSLIOP_IDL */
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Security.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Security.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Security.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/Security.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,282 @@
+//File: Security.idl
+//Part of the Security Service
+
+#if !defined(_SECURITY_IDL_)
+#define _SECURITY_IDL_
+#include <orb.idl>
+#include <TimeBase.idl>
+#pragma prefix "omg.org"
+module Security {
+#	pragma version Security 1.8
+	typedef string 							SecurityName;
+	typedef sequence <octet> 								Opaque;
+	// Constant declarations for Security Service Options
+	const CORBA::ServiceOption SecurityLevel1 = 1;
+	const CORBA::ServiceOption SecurityLevel2 = 2;
+	const CORBA::ServiceOption NonRepudiation = 3;
+	const CORBA::ServiceOption SecurityORBServiceReady = 4;
+	const CORBA::ServiceOption SecurityServiceReady = 5;
+	const CORBA::ServiceOption ReplaceORBServices = 6;
+	const CORBA::ServiceOption ReplaceSecurityServices = 7;
+	const CORBA::ServiceOption StandardSecureInteroperability = 8;
+	const CORBA::ServiceOption DCESecureInteroperability = 9;
+	// Service options for Common Secure Interoperability
+	const CORBA::ServiceOption CommonInteroperabilityLevel0 = 10;
+	const CORBA::ServiceOption CommonInteroperabilityLevel1 = 11;
+	const CORBA::ServiceOption CommonInteroperabilityLevel2 = 12;
+	// Security mech types supported for secure association
+	const CORBA::ServiceDetailType SecurityMechanismType = 1;
+	// privilege types supported in standard access policy
+	const CORBA::ServiceDetailType SecurityAttribute = 2;
+	// extensible families for standard data types
+	struct ExtensibleFamily {
+		unsigned short					family_definer;
+		unsigned short					family;
+	};
+	typedef sequence<octet>									OID;
+	typedef sequence<OID>									OIDList;
+	// security attributes
+	typedef unsigned long							SecurityAttributeType;
+	// other attributes; family = 0
+	const SecurityAttributeType									AuditId = 1;
+	const SecurityAttributeType									AccountingId = 2;
+	const SecurityAttributeType									NonRepudiationId = 3;
+	// privilege attributes; family = 1
+	const SecurityAttributeType									_Public = 1;
+	const SecurityAttributeType									AccessId = 2; 
+	const SecurityAttributeType									PrimaryGroupId = 3;
+	const SecurityAttributeType									GroupId = 4;
+	const SecurityAttributeType									Role = 5;
+	const SecurityAttributeType									AttributeSet = 6;
+	const SecurityAttributeType									Clearance = 7; 
+	const SecurityAttributeType									Capability = 8;
+	struct AttributeType {
+		ExtensibleFamily							attribute_family;
+		SecurityAttributeType							attribute_type;
+	};
+	typedef sequence<AttributeType> 										AttributeTypeList;
+	struct SecAttribute {
+		AttributeType  					attribute_type;
+		OID 							defining_authority; 
+		Opaque 						value;
+		// the value of this attribute can be 
+		// decoded only with knowledge of defining_authority
+	};
+	typedef sequence <SecAttribute> AttributeList;
+	// Authentication return status
+	enum AuthenticationStatus {
+		SecAuthSuccess,
+		SecAuthFailure,
+		SecAuthContinue,
+		SecAuthExpired
+	};
+	// Association return status
+	enum AssociationStatus {
+		SecAssocSuccess,
+		SecAssocFailure,
+		SecAssocContinue
+	};
+	// Authentication method
+	typedef unsigned long AuthenticationMethod;
+	typedef sequence<AuthenticationMethod> AuthenticationMethodList;
+	// Credential types
+	enum InvocationCredentialsType {
+		SecOwnCredentials,
+		SecReceivedCredentials,
+		SecTargetCredentials
+	};
+	// Declarations related to Rights 
+	struct Right {
+		ExtensibleFamily					rights_family;
+		string						the_right;
+	};
+	typedef sequence <Right> RightsList;
+	enum RightsCombinator {
+		SecAllRights	,
+		SecAnyRight
+	};
+	// Delegation related
+	enum DelegationState {
+		SecInitiator,
+		SecDelegate
+	};
+	enum DelegationDirective {
+		Delegate,
+		NoDelegate
+	};
+	// pick up from TimeBase
+	typedef TimeBase::UtcT					UtcT;
+	typedef TimeBase::IntervalT								IntervalT;
+	typedef TimeBase::TimeT					TimeT;
+	// Security features available on credentials.
+	enum SecurityFeature {
+		SecNoDelegation,
+		SecSimpleDelegation,
+		SecCompositeDelegation,
+		SecNoProtection,
+		SecIntegrity,
+		SecConfidentiality,
+		SecIntegrityAndConfidentiality,
+		SecDetectReplay,
+		SecDetectMisordering,
+		SecEstablishTrustInTarget,
+		SecEstablishTrustInClient
+	};
+	// Quality of protection which can be specified
+	// for an object reference and used to protect messages
+	enum QOP {
+		SecQOPNoProtection,
+		SecQOPIntegrity,
+		SecQOPConfidentiality,
+		SecQOPIntegrityAndConfidentiality
+	};
+	// Type of SecurityContext
+	enum SecurityContextType {
+		SecClientSecurityContext,
+		SecServerSecurityContext
+	};
+	// Operational State of a Security Context
+	enum SecurityContextState {
+		SecContextInitialized,
+		SecContextContinued,
+		SecContextClientEstablished,
+		SecContextEstablished,
+		SecContextEstablishExpired,
+		SecContextExpired,
+		SecContextInvalid
+	};
+	struct ChannelBindings {
+		unsigned long							initiator_addrtype;
+		sequence<octet>							initiator_address;
+		unsigned long							acceptor_addrtype;
+		sequence<octet>							acceptor_address;
+		sequence<octet>							application_data;
+	};
+	// For use with SecurityReplaceable
+	struct OpaqueBuffer {
+		Opaque 						buffer;
+		unsigned long 					startpos; 
+		unsigned long 					endpos;
+		// startpos <= endpos
+		// OpaqueBuffer is said to be empty if startpos == endpos
+	};
+	// Association options which can be administered
+	// on secure invocation policy and used to
+	// initialize security context
+	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;
+	// Flag to indicate whether association options being
+	// administered are the "required" or "supported" set
+	enum RequiresSupports {	
+		SecRequires,
+		SecSupports
+	};
+	// Direction of communication for which
+	// secure invocation policy applies
+	enum CommunicationDirection { 	
+		SecDirectionBoth,
+		SecDirectionRequest,
+		SecDirectionReply
+	};
+	// security association mechanism type
+	typedef string							MechanismType;
+	typedef sequence<MechanismType> 						MechanismTypeList;
+	// AssociationOptions-Direction pair
+	struct OptionsDirectionPair {
+		AssociationOptions					options;
+		CommunicationDirection					direction;
+	};
+	typedef sequence <OptionsDirectionPair> OptionsDirectionPairList;
+	// Delegation mode which can be administered
+	enum DelegationMode {
+		SecDelModeNoDelegation,			  						// i.e. use own credentials
+		SecDelModeSimpleDelegation,						  			// delegate received credentials 
+		SecDelModeCompositeDelegation									  // delegate both; 
+	};
+	// Association options supported by a given mech type
+	struct MechandOptions {
+		MechanismType						mechanism_type;
+		AssociationOptions						options_supported;
+	};
+	typedef sequence <MechandOptions> 											MechandOptionsList;
+	// Attribute of the SecurityLevel2::EstablishTrustPolicy
+	struct EstablishTrust {
+		boolean trust_in_client;
+		boolean trust_in_target;
+	};
+	// Audit 
+	typedef unsigned long											AuditChannelId;
+	typedef unsigned short											EventType;
+	const EventType						AuditAll = 0;
+	const EventType						AuditPrincipalAuth = 1;
+	const EventType						AuditSessionAuth = 2;
+	const EventType						AuditAuthorization = 3;
+	const EventType						AuditInvocation = 4;
+	const EventType						AuditSecEnvChange = 5;
+	const EventType						AuditPolicyChange = 6;
+	const EventType						AuditObjectCreation = 7;
+	const EventType						AuditObjectDestruction =8;
+	const EventType						AuditNonRepudiation = 9;
+	enum DayOfTheWeek {
+		Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
+	enum AuditCombinator { 
+		SecAllSelectors, 
+		SecAnySelector 
+	}; 
+	struct AuditEventType {
+		ExtensibleFamily					event_family;
+		EventType						event_type;
+	};
+	typedef sequence <AuditEventType> 											AuditEventTypeList;
+	typedef unsigned long											SelectorType;
+	const SelectorType						InterfaceName = 1;
+	const SelectorType						ObjectRef = 2;
+	const SelectorType						Operation = 3;
+	const SelectorType						Initiator = 4;
+	const SelectorType						SuccessFailure = 5;
+	const SelectorType						Time = 6;
+	const SelectorType						DayOfWeek = 7;
+	// values defined for audit_needed and audit_write are:
+	// InterfaceName: CORBA::RepositoryId
+	// ObjectRef: object reference
+	// Operation: op_name 
+	// Initiator: Credentials
+	// SuccessFailure: boolean
+	// Time: utc time on audit_write; time picked up from
+	// environment in audit_needed if required
+	// DayOfWeek: DayOfTheWeek
+	struct SelectorValue {
+		SelectorType				selector;
+		any						value;
+	};
+	typedef	 sequence <SelectorValue> 									SelectorValueList;
+	// Constant declaration for valid Security Policy Types
+	// General administrative policies
+	const CORBA::PolicyType SecClientInvocationAccess = 1;
+	const CORBA::PolicyType SecTargetInvocationAccess = 2;
+	const CORBA::PolicyType SecApplicationAccess = 3;
+	const CORBA::PolicyType SecClientInvocationAudit = 4;
+	const CORBA::PolicyType SecTargetInvocationAudit = 5;
+	const CORBA::PolicyType SecApplicationAudit = 6;
+	const CORBA::PolicyType SecDelegation = 7;
+	const CORBA::PolicyType SecClientSecureInvocation = 8;
+	const CORBA::PolicyType SecTargetSecureInvocation = 9;
+	const CORBA::PolicyType SecNonRepudiation = 10;
+	// Policies used to control attributes of a binding to a target
+	const CORBA::PolicyType SecMechanismsPolicy = 12;
+	const CORBA::PolicyType SecInvocationCredentialsPolicy = 13;
+	const CORBA::PolicyType SecFeaturePolicy = 14; // obsolete
+	const CORBA::PolicyType SecQOPPolicy = 15;
+	const CORBA::PolicyType SecDelegationDirectivePolicy = 38;
+	const CORBA::PolicyType SecEstablishTrustPolicy = 39;
+};
+#endif /* _SECURITY_IDL_ */
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityAdmin.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityAdmin.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityAdmin.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityAdmin.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,103 @@
+#if !defined(_SECURITY_ADMIN_IDL_)
+#define _SECURITY_ADMIN_IDL_
+#include <SecurityLevel2.idl>
+#pragma prefix "omg.org"
+module SecurityAdmin {
+#	pragma version SecurityAdmin 1.5
+	// interface AccessPolicy
+	interface AccessPolicy : CORBA::Policy {
+#		pragma version AccessPolicy 1.5
+		Security::RightsList get_effective_rights (
+			in		Security::AttributeList		attrib_list,
+			in 		Security::ExtensibleFamily 	rights_family
+		);
+		Security::RightsList get_all_effective_rights( 
+			 in 		Security::AttributeList 	attrib_list 
+		); 
+	};
+	// interface DomainAccessPolicy
+	interface DomainAccessPolicy : AccessPolicy {
+#		pragma version DomainAccessPolicy 1.5
+		void grant_rights(
+			in 		Security::SecAttribute 		priv_attr,
+			in 		Security::DelegationState 	del_state,
+			in 		Security::RightsList 		rights
+		);
+		void revoke_rights(
+			in 		Security::SecAttribute 		priv_attr,
+			in 		Security::DelegationState 	del_state,
+			in 		Security::RightsList 		rights
+		);
+		void replace_rights (
+			in 		Security::SecAttribute 		priv_attr,
+			in 		Security::DelegationState 	del_state,
+			in 		Security::RightsList 		rights
+		);
+		Security::RightsList get_rights (
+			in 		Security::SecAttribute 		priv_attr,
+			in 		Security::DelegationState 	del_state,
+			in 		Security::ExtensibleFamily 	rights_family
+		);
+		Security::RightsList get_all_rights( 
+			 in 		Security::SecAttribute 		priv_attr, 
+			 in 		Security::DelegationState 	del_state 
+		); 
+	};
+	// interface AuditPolicy
+	interface AuditPolicy : CORBA::Policy {
+#		pragma version AuditPolicy 1.5
+		void set_audit_selectors (
+			in		CORBA::RepositoryId		object_type,
+			in		Security::AuditEventTypeList	events,
+			in		Security::SelectorValueList	selectors, 
+			in 		Security::AuditCombinator 	audit_combinator 
+		);
+		void clear_audit_selectors (
+			in		CORBA::RepositoryId		object_type,
+			in		Security::AuditEventTypeList	events 		
+		);
+		void replace_audit_selectors (
+			in		CORBA::RepositoryId		object_type,
+			in		Security::AuditEventTypeList	events,
+			in		Security::SelectorValueList	selectors, 
+			in 		Security::AuditCombinator 	audit_combinator 
+		); 
+		void get_audit_selectors (
+			in		CORBA::RepositoryId		object_type,
+			in		Security::AuditEventType	event_type,
+			out		Security::SelectorValueList	selectors, 
+			out 		Security::AuditCombinator 	audit_combinator 
+		); 
+		void set_audit_channel (
+			in		Security::AuditChannelId	audit_channel_id
+		);
+	};
+	// interface SecureInvocationPolicy
+	interface SecureInvocationPolicy : CORBA::Policy {
+#		pragma version SecureInvocationPolicy 1.5
+		void set_association_options(
+			in 		CORBA::RepositoryId		object_type,
+			in 		Security::RequiresSupports	requires_supports,
+			in 		Security::CommunicationDirection	direction,
+			in 		Security::AssociationOptions	options 
+		);
+		Security::AssociationOptions get_association_options(
+			in 		CORBA::RepositoryId		object_type,
+			in 		Security::RequiresSupports	requires_supports,
+			in 		Security::CommunicationDirection  direction
+		); 
+	};
+	// interface DelegationPolicy
+	interface DelegationPolicy : CORBA::Policy {
+#		pragma version DelegationPolicy 1.5
+		void set_delegation_mode(
+			in 		CORBA::RepositoryId		object_type,
+			in 		Security::DelegationMode	mode
+		);
+		Security::DelegationMode get_delegation_mode(
+			in 		CORBA::RepositoryId		object_type
+		);
+	};
+};
+
+#endif /* _SECURITY_ADMIN_IDL_ */
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel1.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel1.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel1.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel1.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,18 @@
+//File: SecurityLevel1.idl
+//Part of the Security Service
+
+#if !defined(_SECURITY_LEVEL_1_IDL_)
+#define _SECURITY_LEVEL_1_IDL_
+#include <Security.idl>
+#pragma prefix "omg.org"
+module SecurityLevel1 {
+#	pragma version SecurityLevel1 1.8
+	local interface Current : CORBA::Current {
+#		pragma version Current 1.8
+		// thread specific operations
+		Security::AttributeList get_attributes (			
+			in 	Security::AttributeTypeList								attributes 
+		);
+	};
+};
+#endif /* _SECURITY_LEVEL_1_IDL_ */

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel2.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel2.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel2.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SecurityLevel2.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,190 @@
+//File: SecurityLevel2.idl
+//Part of the Security Service
+
+#if !defined(_SECURITY_LEVEL_2_IDL_)
+#define _SECURITY_LEVEL_2_IDL_
+#include <SecurityLevel1.idl>
+#pragma prefix "omg.org"
+module SecurityLevel2 {
+#	pragma version SecurityLevel2 1.8
+	// Forward declaration of interfaces
+	local interface PrincipalAuthenticator;
+	local interface Credentials;
+	local interface Current;
+// Interface PrincipalAuthenticator
+	local interface PrincipalAuthenticator {
+#		pragma version PrincipalAuthenticator 1.8
+		Security::AuthenticationMethodList
+		get_supported_authen_methods(
+			in		Security::MechanismType		mechanism
+		);
+		Security::AuthenticationStatus authenticate (
+			in 		Security::AuthenticationMethod	method,
+			in		Security::MechanismType		mechanism,
+			in 		Security::SecurityName		security_name,
+			in 		any					auth_data,
+			in 		Security::AttributeList		privileges,
+			out 		Credentials				creds,
+			out 		any					continuation_data,
+			out 		any					auth_specific_data
+		);
+		Security::AuthenticationStatus continue_authentication (
+			in		any					response_data,
+			in		Credentials				creds,
+			out	 	any					continuation_data,
+			out	 	any					auth_specific_data
+		);
+	};
+	// Interface Credentials
+	local interface Credentials {				
+#		pragma version Credentials 1.8
+		Credentials copy ();
+		void destroy();
+		readonly attribute Security::InvocationCredentialsType
+										credentials_type;
+		readonly attribute Security::AuthenticationStatus
+										authentication_state;
+		readonly attribute Security::MechanismType mechanism;
+		attribute Security::AssociationOptions
+										accepting_options_supported;
+		attribute Security::AssociationOptions 
+										accepting_options_required;
+		attribute Security::AssociationOptions
+										invocation_options_supported;
+		attribute Security::AssociationOptions
+										invocation_options_required;
+		boolean get_security_feature(
+			in		Security::CommunicationDirection	direction,
+			in		Security::SecurityFeature		feature
+		);
+		boolean set_attributes (
+			in		Security::AttributeList	requested_attributes,
+			out		Security::AttributeList	actual_attributes
+		);
+		Security::AttributeList get_attributes (
+			in 		Security::AttributeTypeList	attributes
+		);
+		boolean is_valid (
+			out		Security::UtcT			expiry_time
+		);
+		boolean refresh(
+			in		any					refresh_data
+		);
+	};
+	typedef sequence <Credentials> CredentialsList;
+	local interface ReceivedCredentials : Credentials {
+#		pragma version ReceivedCredentials 1.8
+		readonly attribute Credentials accepting_credentials;
+		readonly attribute Security::AssociationOptions
+											association_options_used;
+		readonly attribute Security::DelegationState
+											delegation_state;
+		readonly attribute Security::DelegationMode
+											delegation_mode;
+	};
+	local interface TargetCredentials : Credentials {
+#		pragma version TargetCredentials 1.8
+		readonly attribute Credentials									initiating_credentials;
+		readonly attribute Security::AssociationOptions
+											association_options_used;
+	};
+	// RequiredRights Interface
+	interface RequiredRights{
+		void get_required_rights(
+			in 		Object				obj,
+			in 		CORBA::Identifier			operation_name,
+			in 		CORBA::RepositoryId		interface_name,
+			out 		Security::RightsList		rights,
+			out 		Security::RightsCombinator	rights_combinator
+		);
+		void set_required_rights(
+			in 		CORBA::Identifier			operation_name,
+			in 		CORBA::RepositoryId    		interface_name,
+			in 		Security::RightsList		rights,
+			in 		Security::RightsCombinator 	rights_combinator
+		);
+	};
+	// interface audit channel
+	local interface AuditChannel {
+#		pragma version AuditChannel 1.8
+		void audit_write (
+			in		Security::AuditEventType	event_type,
+			in		CredentialsList			creds,  
+			in		Security::UtcT			time,
+			in		Security::SelectorValueList	descriptors,
+			in		any					event_specific_data
+		);
+		readonly attribute Security::AuditChannelId 												audit_channel_id;
+	};
+	// interface for Audit Decision 
+	local interface AuditDecision {
+		#pragma version AuditDecision 1.8
+		boolean audit_needed (
+			in 		Security::	AuditEventType		event_type,
+			in 		Security::SelectorValueList		value_list
+		);
+		readonly attribute AuditChannel audit_channel;
+	};
+	local interface AccessDecision {
+		#pragma version AccessDecision 1.8
+		boolean access_allowed (
+			in		SecurityLevel2::CredentialsList	cred_list,
+			in		Object	               		target,
+			in		CORBA::Identifier           	operation_name,
+			in		CORBA::Identifier		target_interface_name
+		);
+	};
+	// Policy interfaces to control bindings
+	local interface QOPPolicy : CORBA::Policy {
+		#pragma version QOPPolicy 1.8
+		readonly attribute Security::QOP												qop;
+	};
+	local interface MechanismPolicy : CORBA::Policy {
+		#pragma version MechanismPolicy 1.8
+		readonly attribute Security::MechanismTypeList													mechanisms;
+	};
+	local interface InvocationCredentialsPolicy : CORBA::Policy {
+		#pragma version InvocationCredentialsPolicy 1.8
+		readonly attribute CredentialsList												creds;
+	};
+	local interface EstablishTrustPolicy : CORBA::Policy {
+		#pragma version EstablishTrustPolicy 1.8
+		readonly attribute Security::EstablishTrust												trust;
+	};
+	local interface DelegationDirectivePolicy : CORBA::Policy { 
+		#pragma version DelegationDirectivePolicy 1.8
+		readonly attribute Security::DelegationDirective
+											delegation_directive;
+	};
+	local interface SecurityManager {
+		#pragma version SecurityManager 1.8
+		// Process/Capsule/ORB Instance specific operations
+		readonly attribute Security::MechandOptionsList
+												supported_mechanisms;
+		readonly attribute CredentialsList 										own_credentials;
+		readonly attribute RequiredRights										required_rights_object;
+		readonly attribute PrincipalAuthenticator
+												principal_authenticator;
+		readonly attribute AccessDecision										access_decision;
+		readonly attribute AuditDecision										audit_decision;
+		TargetCredentials get_target_credentials (
+			in		Object				obj_ref
+		);
+		void remove_own_credentials(
+			in		Credentials				creds
+		);
+		CORBA::Policy get_security_policy (
+			in		CORBA::PolicyType			policy_type
+		);
+	};
+	// Interface Current derived from SecurityLevel1::Current  providing 
+	// additional operations on Current at this security level. 
+	// This is implemented by the ORB
+	local interface Current : SecurityLevel1::Current {
+#		pragma version Current 1.8
+	// Thread specific
+		readonly attribute ReceivedCredentials received_credentials;
+	};
+};
+
+#endif /* _SECURITY_LEVEL_2_IDL_ */
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SendingContext.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SendingContext.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SendingContext.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/SendingContext.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,49 @@
+// File: SendingContext.idl
+// CORBA 2.5.1, Chapter 5
+
+#ifndef _SENDING_CONTEXT_IDL_
+#define _SENDING_CONTEXT_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#include <orb.idl>
+#pragma prefix "omg.org"
+#else
+import ::CORBA;
+#endif // _PRE_3_0_COMPILER_
+
+module SendingContext {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix SendingContext "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    interface RunTime {}; // so that we can provide more 
+                          // sending context run time
+                          // services in the future
+
+    interface CodeBase: RunTime {
+        typedef string          URL; // blank-separated list of one or more URLs
+        typedef sequence<URL>   URLSeq;
+        typedef sequence<CORBA::ValueDef::FullValueDescription> ValueDescSeq;
+
+        // Operation to obtain the IR from the sending context 
+        CORBA::Repository get_ir();
+
+        // Operations to obtain a location of the implementation code
+        URL     implementation(             in CORBA::RepositoryId    x);
+        URL     implementationx(            in CORBA::RepositoryId    x);
+        URLSeq  implementations(            in CORBA::RepositoryIdSeq x);
+
+        // Operations to obtain complete meta information about a Value 
+        // This is just a performance optimization the IR can provide
+        // the same information
+        CORBA::ValueDef::FullValueDescription meta( in CORBA::RepositoryId    x);
+        ValueDescSeq                          metas(in CORBA::RepositoryIdSeq x);
+
+        // To obtain a type graph for a value type
+        // same comment as before the IR can provide similar
+        // information
+        CORBA::RepositoryIdSeq      bases(  in CORBA::RepositoryId x);    
+    };
+};
+#endif // _SENDING_CONTEXT_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/TimeBase.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/TimeBase.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/TimeBase.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/TimeBase.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,40 @@
+//File: TimeBase.idl
+//Part of the Time Service
+// Note: if your IDL compiler does not yet support the 
+//   "long long" data type, compile this module with the 
+//   preprocessor definition "NOLONGLONG". With many 
+//   compilers this would be done with a qualifier on 
+//   the command line, something like -DNOLONGLONG
+
+#ifndef _TIME_BASE_IDL_
+#define _TIME_BASE_IDL_
+#pragma prefix "omg.org"
+
+module TimeBase {
+
+#ifdef NOLONGLONG
+	struct ulonglong{
+		unsigned long 		low;
+		unsigned long		high;
+	};
+	typedef ulonglong 		TimeT;
+#else
+	typedef unsigned long long	TimeT;
+#endif
+	
+	typedef TimeT 			InaccuracyT;
+	typedef short 			TdfT;
+	struct UtcT {
+		TimeT			time;		// 8 octets
+		unsigned long	inacclo;	// 4 octets
+		unsigned short	inacchi;	// 2 octets
+		TdfT			tdf;		// 2 octets 
+									// total 16 octets.
+	};
+
+	struct IntervalT {
+		TimeT			lower_bound;
+		TimeT			upper_bound;
+	};
+};
+#endif /* ifndef _TIME_BASE_IDL_ */

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_CORBA_Stream.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_CORBA_Stream.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_CORBA_Stream.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_CORBA_Stream.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,177 @@
+// File: _CORBA_Stream.idl
+// From CORBA 3.0
+#ifndef __CORBA_STREAM_IDL_
+#define __CORBA_STREAM_IDL_
+module CORBA {
+    exception BadFixedValue {
+        unsigned long offset;
+    };
+
+    abstract valuetype DataOutputStream {
+        void write_any              (in any                 value);
+        void write_boolean          (in boolean             value);
+        void write_char             (in char                value);
+        void write_wchar            (in wchar               value);
+        void write_octet            (in octet               value);
+        void write_short            (in short               value);
+        void write_ushort           (in unsigned short      value);
+        void write_long             (in long                value);
+        void write_ulong            (in unsigned long       value);
+        void write_longlong         (in long long           value);
+        void write_ulonglong        (in unsigned long long  value);
+        void write_float            (in float               value);
+        void write_double           (in double              value);
+        void write_longdouble       (in long double         value);
+        void write_string           (in string              value);
+        void write_wstring          (in wstring             value);
+        void write_Object           (in Object              value);
+        // Removed, no support in JacORB compiler
+        // void write_Abstract         (in AbstractBase        value);
+        void write_Value            (in ValueBase           value);
+        void write_TypeCode         (in TypeCode            value);
+        void write_any_array        (in AnySeq              seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_boolean_array    (in BooleanSeq          seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_char_array       (in CharSeq             seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_wchar_array      (in WCharSeq            seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_octet_array      (in OctetSeq            seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_short_array      (in ShortSeq            seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_ushort_array     (in UShortSeq           seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_long_array       (in LongSeq             seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_ulong_array      (in ULongSeq            seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_ulonglong_array  (in ULongLongSeq        seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_longlong_array   (in LongLongSeq         seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_float_array      (in FloatSeq            seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_double_array     (in DoubleSeq           seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_long_double_array(
+                                     in LongDoubleSeq       seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length);
+        void write_fixed            (
+                                     in any                 fixed_value
+                                    ) raises (BadFixedValue);
+        void write_fixed_array      (
+                                     in AnySeq              seq,
+                                     in unsigned long       offset,
+                                     in unsigned long       length
+                                    ) raises (BadFixedValue);   
+    };
+
+    abstract valuetype DataInputStream {
+        any         read_any();
+        boolean     read_boolean();
+        char        read_char();
+        wchar       read_wchar();
+        octet       read_octet();
+        short       read_short();
+        unsigned    short read_ushort();
+        long        read_long();
+        unsigned    long read_ulong();
+        long long   read_longlong();
+        unsigned long long read_ulonglong();
+        float       read_float();
+        double      read_double();
+        long double read_longdouble();
+        string      read_string();
+        wstring     read_wstring();
+        Object      read_Object();
+        // Removed, no support in JacORB compiler
+        // AbstractBase read_Abstract();
+        ValueBase   read_Value();
+        TypeCode    read_TypeCode();
+
+        void read_any_array        (
+                                    inout AnySeq        seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_boolean_array    (
+                                    inout BooleanSeq    seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_char_array       (
+                                    inout CharSeq       seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_wchar_array      (
+                                    inout WCharSeq      seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_octet_array      (
+                                    inout OctetSeq      seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_short_array      (
+                                    inout ShortSeq      seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_ushort_array     (
+                                    inout UShortSeq     seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_long_array       (
+                                    inout LongSeq       seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_ulong_array      (
+                                    inout ULongSeq      seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_ulonglong_array  (
+                                    inout ULongLongSeq  seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_longlong_array   (
+                                    inout LongLongSeq   seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_float_array      (
+                                    inout FloatSeq      seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_double_array     (     
+                                    inout DoubleSeq     seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        void read_long_double_array(
+                                    inout DoubleSeq     seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length);
+        any read_fixed             (
+                                    in unsigned short   digits,
+                                    in short            scale
+                                   ) raises (BadFixedValue);
+        void read_fixed_array      (
+                                    inout AnySeq        seq,
+                                    in unsigned long    offset,
+                                    in unsigned long    length,
+                                    in unsigned short   digits,
+                                    in short            scale
+                                   ) raises (BadFixedValue);
+    };
+};
+#endif __CORBA_STREAM_IDL_
\ No newline at end of file

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
+// From CORBA 3.0
+#ifndef __TYPECODE_IDL_
+#define __TYPECODE_IDL_
+
+module CORBA {
+   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);
+    };
+};
+
+#endif
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_orb.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_orb.idl?rev=370336&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_orb.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba-3.0/src/main/idl/_orb.idl Wed Jan 18 17:09:50 2006
@@ -0,0 +1,69 @@
+// File: _orb.idl
+// From CORBA 3.0
+#ifndef __ORB_IDL_
+#define __ORB_IDL_
+
+#ifdef _PRE_3_0_COMPILER_
+#pragma prefix "omg.org"
+#else
+typeprefix CORBA "omg.org"
+#endif
+
+#ifdef _PRE_3_0_COMPILER_ 
+#ifdef _NO_LOCAL_
+#define local
+#endif
+#endif
+
+module CORBA {
+// Forward references, alphabetically
+    interface ConstructionPolicy;        // Chapter  4, CORBA_DomainManager.idl
+    local interface Current;             // Chapter  4, CORBA_Current.idl
+    interface DomainManager;             // Chapter  4, CORBA_DomainManager.idl
+    interface Policy;                    // Chapter  4, CORBA_Policy.idl
+    local interface PollableSet;         // Chapter  7, CORBA_Pollable.idl
+    abstract valuetype CustomMarshal;    // Chapter  5, CORBA_valuetype.idl
+    abstract valuetype DataInputStream;  // Chapter  5, CORBA_Stream.idl
+    abstract valuetype DataOutputStream; // Chapter  5, CORBA_Stream.idl
+
+// Forward references to Chapter 10, CORBA_InterfaceRepository.idl
+    interface AbstractInterfaceDef;
+    interface AliasDef;
+    interface ArrayDef;
+    interface AttributeDef;
+    interface ConstantDef;
+    interface Contained;
+    interface Container;
+    interface EnumDef;
+    interface ExceptionDef;
+    interface ExtInterfaceDef;
+    interface ExtValueDef;
+    interface ExtAbstractInterfaceDef;
+    interface ExtLocalInterfaceDef;
+    interface FixedDef;
+    interface IDLType;
+    interface InterfaceDef;
+    interface IRObject;
+    interface LocalInterfaceDef;
+    interface ModuleDef;
+    interface NativeDef;
+    interface OperationDef;
+    interface PrimitiveDef; 
+    interface Repository;
+    interface SequenceDef;
+    interface StringDef;
+    interface StructDef;
+    interface TypeCode;
+    interface TypedefDef;
+    interface UnionDef;
+    interface ValueDef;
+    interface ValueBoxDef;
+    interface ValueMemberDef;
+    interface WstringDef;
+
+// Chapter 3: IDL Syntax and Semantics
+#include <CORBA_StandardExceptions.idl>
+
+};
+
+#endif // __ORB_IDL_



Mime
View raw message