diff options
author | bala <balanatarajan@users.noreply.github.com> | 2001-05-27 15:15:23 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2001-05-27 15:15:23 +0000 |
commit | 74b151445c1b47f7595745f31c97f329ebcfebc6 (patch) | |
tree | f25ff14d0de3609bb9a53fb5113aca899c52ee6f | |
parent | f39f0953e43bc1b5db694478f332bd5e4f6f8846 (diff) | |
download | ATCD-74b151445c1b47f7595745f31c97f329ebcfebc6.tar.gz |
*** empty log message ***
33 files changed, 835 insertions, 756 deletions
diff --git a/TAO/tao/ClientRequestInfo.cpp b/TAO/tao/ClientRequestInfo.cpp index 2e3aab087b5..8dab949ae98 100644 --- a/TAO/tao/ClientRequestInfo.cpp +++ b/TAO/tao/ClientRequestInfo.cpp @@ -85,7 +85,7 @@ TAO_ClientRequestInfo::received_exception (CORBA::Environment &ACE_TRY_ENV) if (this->reply_status_ != PortableInterceptor::SYSTEM_EXCEPTION && this->reply_status_ != PortableInterceptor::USER_EXCEPTION) { - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), 0); } @@ -129,7 +129,7 @@ TAO_ClientRequestInfo::received_exception_id ( if (this->reply_status_ != PortableInterceptor::SYSTEM_EXCEPTION && this->reply_status_ != PortableInterceptor::USER_EXCEPTION) { - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), 0); } @@ -177,7 +177,7 @@ TAO_ClientRequestInfo::get_effective_component ( // No tagged component was found that matched the given // IOP::ComponentId. - ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 25, + ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 28, CORBA::COMPLETED_NO), 0); } @@ -229,7 +229,7 @@ TAO_ClientRequestInfo::get_effective_components ( // No tagged component sequence was allocated, meaning no tagged // components were found that matched the given // IOP::ComponentId. - ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 25, + ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 28, CORBA::COMPLETED_NO), 0); } @@ -272,7 +272,7 @@ TAO_ClientRequestInfo::add_request_service_context ( if (service_context_list.set_context (service_context, replace) == 0) { - ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 11, + ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 15, CORBA::COMPLETED_NO)); } } @@ -368,7 +368,7 @@ Dynamic::ParameterList * TAO_ClientRequestInfo::arguments (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), 0); } @@ -377,7 +377,7 @@ Dynamic::ExceptionList * TAO_ClientRequestInfo::exceptions (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), 0); } @@ -386,7 +386,7 @@ Dynamic::ContextList * TAO_ClientRequestInfo::contexts (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), 0); } @@ -395,7 +395,7 @@ Dynamic::RequestContext * TAO_ClientRequestInfo::operation_context (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), 0); } @@ -404,7 +404,7 @@ CORBA::Any * TAO_ClientRequestInfo::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), 0); } @@ -434,7 +434,7 @@ TAO_ClientRequestInfo::sync_scope (CORBA::Environment &ACE_TRY_ENV) if (inv != 0 && this->response_expected_ == 0) return inv->sync_scope (); - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), -1); } @@ -446,7 +446,7 @@ TAO_ClientRequestInfo::reply_status (CORBA::Environment &ACE_TRY_ENV) { if (this->reply_status_ == -1) // A reply hasn't been received yet. - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), -1); @@ -458,7 +458,7 @@ TAO_ClientRequestInfo::forward_reference (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { if (this->reply_status_ != PortableInterceptor::LOCATION_FORWARD) - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 10, + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 14, CORBA::COMPLETED_NO), CORBA::Object::_nil ()); diff --git a/TAO/tao/Exception.cpp b/TAO/tao/Exception.cpp index 7cf9aab2b7f..9d9f12fe3e9 100644 --- a/TAO/tao/Exception.cpp +++ b/TAO/tao/Exception.cpp @@ -408,9 +408,6 @@ CORBA_SystemException::_info (void) const const char *location; switch (this->minor () & 0x00000F80u) { - case TAO_INVOCATION_CONNECT_MINOR_CODE: - location = "invocation connect failed"; - break; case TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE: location = "location forward failed"; break; @@ -423,6 +420,9 @@ CORBA_SystemException::_info (void) const case TAO_POA_HOLDING: location = "poa in holding state"; break; + case TAO_POA_INACTIVE: + location = "poa in inactive state"; + break; case TAO_UNHANDLED_SERVER_CXX_EXCEPTION: location = "unhandled c++ exception in server side"; break; @@ -644,20 +644,25 @@ CORBA_SystemException::_tao_get_omg_exception_description ( "Supplied discriminator type illegitimate in create_union_tc.", // 20 "Any passed to ServerRequest::set_exception does not contain an exception.", // 21 "Unlisted user exception passed to ServerRequest::set_exception", // 22 - "Invalid service context ID in portable interceptor.", // 23 - "Attempt to call register_initial_reference with a null Object.", // 24 - "Invalid component ID in portable interceptor.", // 25 - "Invalid profile ID in portable interceptor." // 26 + "wchar transmission code set not in service context.", // 23 + "Service context is not in OMG-defined range.", // 24 + "Enum value out of range.", // 25 + "Invalid service context Id in portable interceptor.", // 26 + "Attempt to call register_initial_reference with a null Object.", // 27 + "Invalid component Id in portable interceptor.", // 28 + "Invalid profile Id in portable interceptor.", // 29 + "Two or more Policy objects with the same PolicyType value supplied to Object::set_policy_overrides or PolicyManager::set_policy_overrides." // 30 }; static const char *IMP_LIMIT_TABLE[] = - { + { "Unable to use any profile in IOR." // 1 }; static const char *INV_OBJREF_TABLE[] = { - "wchar Code Set support not specified." // 1 + "wchar Code Set support not specified.", // 1 + "Codeset component required for type using wchar or wstring data." // 2 }; static const char *MARSHAL_TABLE[] = @@ -665,7 +670,9 @@ CORBA_SystemException::_tao_get_omg_exception_description ( "Unable to locate value factory.", // 1 "ServerRequest::set_result called before ServerRequest::ctx when the operation IDL contains a context clause.", // 2 "NVList passed to ServerRequest::arguments does not describe all parameters passed by client.", // 3 - "Attempt to marshal Local object." // 4 + "Attempt to marshal Local object.", // 4 + "wchar or wstring data erroneously sent by client over GIOP 1.0 connection.", // 5 + "wchar or wstring data erroneously returned by server over GIOP 1.0 connection." //6 }; static const char *BAD_TYPECODE_TABLE[] = @@ -698,15 +705,22 @@ CORBA_SystemException::_tao_get_omg_exception_description ( "ServerRequest::arguments called more than once or after a call to ServerRequest::set_exception.", // 7 "ServerRequest::ctx called more than once or before ServerRequest::arguments or after ServerRequest::ctx, ServerRequest::set_result or ServerRequest::set_exception.", // 8 "ServerRequest::result called more than once or before ServerRequest::arguments or after ServerRequest::set_result or ServerRequest::set_exception.", // 9 - "Invalid portable interceptor call", // 10 - "Service context add failed in portable interceptor because a service context with the given id already exists.", // 11 - "Registration of PolicyFactory failed because a factory already exists for the given type." // 12 + "Attempt to send a DII request after it was sent previously.", // 10 + "Attempt to poll a DII request or to retrieve its result before the request was sent.", // 11 + "Attempt to poll a DII request or to retrieve its result after the result was retrieved previously.", // 12 + "Attempt to poll a synchronous DII request or to retrieve results from a synchronous DII request.", // 13 + "Invalid portable interceptor call", // 14 + "Service context add failed in portable interceptor because a service context with the given id already exists.", // 15 + "Registration of PolicyFactory failed because a factory already exists for the given type.", // 16 + "POA cannot create POAs while undergoing destruction." // 17 }; static const char *TRANSIENT_TABLE[] = { - "Request discarded due to resource exhaustion in POA.", // 1 - "Request cancelled." // 2 + "Request discarded due to resource exhaustion in POA, or because POA is in discarding state.", // 1 + "No usable profile in IOR.", // 2 + "Request cancelled.", // 3 + "POA destroyed." // 4 }; static const char *OBJ_ADAPTER_TABLE[] = @@ -731,8 +745,9 @@ CORBA_SystemException::_tao_get_omg_exception_description ( static const char *INV_POLICY_TABLE[] = { - "Invalid PolicyType.", // 1 - "No PolicyFactory has been registered for the given PolicyType." // 2 + "Unable to reconcile IOR specified policy with the effective policy override." // 1 + "Invalid PolicyType.", // 2 + "No PolicyFactory has been registered for the given PolicyType." // 3 }; if (minor_code == 0) diff --git a/TAO/tao/IIOP_Acceptor.cpp b/TAO/tao/IIOP_Acceptor.cpp index 71b713f35ee..1c1f16cc81f 100644 --- a/TAO/tao/IIOP_Acceptor.cpp +++ b/TAO/tao/IIOP_Acceptor.cpp @@ -85,12 +85,27 @@ TAO_IIOP_Acceptor::~TAO_IIOP_Acceptor (void) // 2) For V1.[1,2] there are tagged components int TAO_IIOP_Acceptor::create_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) + TAO_MProfile &mprofile, + CORBA::Boolean share_profile) { // Sanity check. if (this->endpoint_count_ == 0) return -1; + // Check if multiple endpoints should be put in one profile or + // if they should be spread across multiple profiles. + if (share_profile == 1) + return this->create_shared_profile (object_key, + mprofile); + else + return this->create_new_profiles (object_key, + mprofile); +} + +int +TAO_IIOP_Acceptor::create_new_profiles (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile) +{ // Adding this->endpoint_count_ to the TAO_MProfile. int count = mprofile.profile_count (); if ((mprofile.size () - count) < this->endpoint_count_ @@ -134,8 +149,8 @@ TAO_IIOP_Acceptor::create_mprofile (const TAO_ObjectKey &object_key, } int -TAO_IIOP_Acceptor::create_endpoint_for_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) +TAO_IIOP_Acceptor::create_shared_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile) { size_t index = 0; TAO_Profile *pfile = 0; diff --git a/TAO/tao/IIOP_Acceptor.h b/TAO/tao/IIOP_Acceptor.h index fe46b59e1a2..d2a97bdb3b8 100644 --- a/TAO/tao/IIOP_Acceptor.h +++ b/TAO/tao/IIOP_Acceptor.h @@ -77,10 +77,8 @@ public: const char *options = 0); virtual int close (void); virtual int create_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile); - - virtual int create_endpoint_for_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile); + TAO_MProfile &mprofile, + CORBA::Boolean share_profile); virtual int is_collocated (const TAO_Endpoint *endpoint); virtual CORBA::ULong endpoint_count (void); @@ -141,6 +139,16 @@ protected: /// initialize <tcp_properties_>. int init_tcp_properties (void); + /// Helper method to add a new profile to the mprofile for + /// each endpoint. + int create_new_profiles (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile); + + /// Helper method to create a profile that contains all of + /// our endpoints. + int create_shared_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile); + protected: /// Array of ACE_INET_Addr instances, each one corresponding to a diff --git a/TAO/tao/IORInfo.cpp b/TAO/tao/IORInfo.cpp index 305ea12228e..ab7edb16ccb 100644 --- a/TAO/tao/IORInfo.cpp +++ b/TAO/tao/IORInfo.cpp @@ -97,7 +97,6 @@ TAO_IORInfo::add_ior_component_to_profile ( // supposed to throw a CORBA::BAD_PARAM exception if no profile // matched the given ProfileId. if (found_profile == 0) - ACE_THROW (CORBA::BAD_PARAM ( - TAO_OMG_VMCID | 26, - CORBA::COMPLETED_NO)); + ACE_THROW (CORBA::BAD_PARAM (TAO_OMG_VMCID | 29, + CORBA::COMPLETED_NO)); } diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp index 098f46bea12..dee6244238c 100644 --- a/TAO/tao/Invocation.cpp +++ b/TAO/tao/Invocation.cpp @@ -942,7 +942,7 @@ TAO_GIOP_Twoway_Invocation::invoke (TAO_Exception_Data *excepts, // If we couldn't find the right exception, report it as // CORBA::UNKNOWN. - ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, + ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_OMG_VMCID | 1, CORBA::COMPLETED_YES), TAO_INVOKE_EXCEPTION); } @@ -1023,7 +1023,7 @@ TAO_GIOP_Oneway_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) // This kind of exception shouldn't happen with oneways, // but if it does, we turn it into a CORBA::UNKNOWN exception. - ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, + ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_OMG_VMCID | 1, CORBA::COMPLETED_YES), TAO_INVOKE_EXCEPTION); } @@ -1088,7 +1088,7 @@ TAO_GIOP_Locate_Request_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) // This kind of exception shouldn't happen with oneways, // but if it does, we turn it into a CORBA::UNKNOWN exception. - ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, + ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_OMG_VMCID | 1, CORBA::COMPLETED_YES), TAO_INVOKE_EXCEPTION); } diff --git a/TAO/tao/Invocation_Endpoint_Selectors.cpp b/TAO/tao/Invocation_Endpoint_Selectors.cpp index 00499063bcd..1cd29aa4127 100644 --- a/TAO/tao/Invocation_Endpoint_Selectors.cpp +++ b/TAO/tao/Invocation_Endpoint_Selectors.cpp @@ -64,10 +64,7 @@ TAO_Default_Endpoint_Selector::select_endpoint (TAO_GIOP_Invocation *invocation, // If we get here, we completely failed to find an endpoint selector // that we know how to use, so throw an exception. - ACE_THROW (CORBA::TRANSIENT ( - CORBA_SystemException::_tao_minor_code ( - TAO_INVOCATION_CONNECT_MINOR_CODE, - errno), + ACE_THROW (CORBA::TRANSIENT (TAO_OMG_VMCID | 2, CORBA::COMPLETED_NO)); } @@ -78,10 +75,7 @@ TAO_Default_Endpoint_Selector::next (TAO_GIOP_Invocation *, { ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("This method is DEPRECATED!\n"))); // if (invocation->stub_->next_profile_retry () == 0) - // ACE_THROW (CORBA::TRANSIENT ( - // CORBA_SystemException::_tao_minor_code ( - // TAO_INVOCATION_CONNECT_MINOR_CODE, - // errno), + // ACE_THROW (CORBA::TRANSIENT (TAO_OMG_VMCID | 2, // CORBA::COMPLETED_NO)); } diff --git a/TAO/tao/LocalObject.cpp b/TAO/tao/LocalObject.cpp index 45843769958..e8952ac76b2 100644 --- a/TAO/tao/LocalObject.cpp +++ b/TAO/tao/LocalObject.cpp @@ -1,17 +1,15 @@ +// -*- C++ -*- // // $Id$ -// #include "LocalObject.h" -#include "Stub.h" -#include "IFR_Client_Adapter.h" - -#include "ace/Dynamic_Service.h" #if !defined (__ACE_INLINE__) # include "LocalObject.i" #endif /* ! __ACE_INLINE__ */ +#include "PolicyC.h" + ACE_RCSID (tao, LocalObject, "$Id$") @@ -65,6 +63,7 @@ CORBA_LocalObject::_is_equivalent (CORBA_Object_ptr other_obj, // TAO's extensions + TAO_ObjectKey * CORBA_LocalObject::_key (CORBA_Environment &ACE_TRY_ENV) { @@ -104,7 +103,8 @@ CORBA_LocalObject::_tao_QueryInterface (ptr_arith_t type) CORBA::Boolean CORBA_LocalObject::_non_existent (CORBA_Environment &) { - return 0; // Always returns false. + // Always return false. + return 0; } void @@ -116,7 +116,10 @@ CORBA_LocalObject::_create_request (CORBA::Context_ptr, CORBA::Flags, CORBA_Environment &ACE_TRY_ENV) { - ACE_THROW (CORBA::NO_IMPLEMENT ()); + // @@ Correct minor code? CCM spec says one thing CORBA spec says + // another! + ACE_THROW (CORBA::NO_IMPLEMENT (TAO_OMG_VMCID | 4, + CORBA::COMPLETED_NO)); } void @@ -130,29 +133,27 @@ CORBA_LocalObject::_create_request (CORBA::Context_ptr, CORBA::Flags, CORBA_Environment &ACE_TRY_ENV) { - ACE_THROW (CORBA::NO_IMPLEMENT ()); + // @@ Correct minor code? CCM spec says one thing CORBA spec says + // another! + ACE_THROW (CORBA::NO_IMPLEMENT (TAO_OMG_VMCID | 4, + CORBA::COMPLETED_NO)); } CORBA::Request_ptr CORBA_LocalObject::_request (const CORBA::Char *, CORBA_Environment &ACE_TRY_ENV) { - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); + // @@ Correct minor code? CCM spec says one thing CORBA spec says + // another! + ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (TAO_OMG_VMCID | 4, + CORBA::COMPLETED_NO), + 0); } CORBA_InterfaceDef_ptr CORBA_LocalObject::_get_interface (CORBA_Environment &ACE_TRY_ENV) { - TAO_IFR_Client_Adapter *adapter = - ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - CORBA::ORB_var orb = this->_stubobj ()->servant_orb_var (); - - return adapter->get_interface (orb.in (), - this->_interface_repository_id (), - ACE_TRY_ENV); + ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); } CORBA::ImplementationDef_ptr @@ -164,6 +165,7 @@ CORBA_LocalObject::_get_implementation (CORBA_Environment &ACE_TRY_ENV) #endif /* TAO_HAS_MINIMUM_CORBA */ // **************************************************************** + void TAO_Local_RefCounted_Object::_add_ref (void) { @@ -180,40 +182,39 @@ TAO_Local_RefCounted_Object::_remove_ref (void) CORBA::Policy_ptr CORBA_LocalObject::_get_policy (CORBA::PolicyType, - CORBA_Environment &ACE_TRY_ENV) + CORBA_Environment &ACE_TRY_ENV) { - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA::Policy::_nil ()); + ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), + CORBA::Policy::_nil ()); } CORBA::Policy_ptr CORBA_LocalObject::_get_client_policy (CORBA::PolicyType, - CORBA_Environment &ACE_TRY_ENV) + CORBA_Environment &ACE_TRY_ENV) { ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA::Policy::_nil ()); } CORBA::Object_ptr CORBA_LocalObject::_set_policy_overrides (const CORBA::PolicyList &, - CORBA::SetOverrideType, - CORBA_Environment &ACE_TRY_ENV) + CORBA::SetOverrideType, + CORBA_Environment &ACE_TRY_ENV) { ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA::Policy::_nil ()); } CORBA::PolicyList * CORBA_LocalObject::_get_policy_overrides (const CORBA::PolicyTypeSeq &, - CORBA_Environment &ACE_TRY_ENV) + CORBA_Environment &ACE_TRY_ENV) { ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); } CORBA::Boolean CORBA_LocalObject::_validate_connection (CORBA::PolicyList_out, - CORBA_Environment &ACE_TRY_ENV) + CORBA_Environment &ACE_TRY_ENV) { ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); } - - #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/LocalObject.h b/TAO/tao/LocalObject.h index a28279b84c7..b3a9175dc60 100644 --- a/TAO/tao/LocalObject.h +++ b/TAO/tao/LocalObject.h @@ -1,28 +1,28 @@ -// This may look like C, but it's really -*- C++ -*- +// -*- C++ -*- //============================================================================= /** - * @file LocalObject.h + * @file LocalObject.h * - * $Id$ + * $Id$ * - * Header file for CORBA's base "LocalObject" type. + * Header file for CORBA's base "LocalObject" type. * - * A "LocalObject" is an entity that can be the target of an local - * invocation. See the CORBA Component Model specification for details. + * A "LocalObject" is an entity that can be the target of a local + * invocation. See the CORBA Component Model specification for + * details. * - * - * @author Portions Copyright 1997 by Washington University + * @author Nanbor Wang <nanbor@cs.wustl.edu> */ //============================================================================= #ifndef TAO_CORBA_LOCALOBJECT_H #define TAO_CORBA_LOCALOBJECT_H + #include "ace/pre.h" -#include "tao/corbafwd.h" -#include "tao/Object.h" +#include "Object.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once @@ -30,19 +30,21 @@ /** * @class CORBA_LocalObject - * @@ NW: It is not clear whether minimum CORBA should support + * + * @note NW: It is not clear whether minimum CORBA should support * LocalObject or not. I think it should. */ class TAO_Export CORBA_LocalObject : public virtual CORBA_Object { public: - /// destructor + + /// Destructor virtual ~CORBA_LocalObject (void); - /// increment the ref count + /// Increment the ref count static CORBA_LocalObject_ptr _duplicate (CORBA_LocalObject_ptr obj); - /// return a NUL object + /// Return a NIL object static CORBA_LocalObject_ptr _nil (void); /** @@ -52,14 +54,15 @@ public: * object. Or, even easier, add a <is_local> member into * CORBA_Object. I'll take the easier route for now. */ - static CORBA_LocalObject_ptr _narrow (CORBA_Object_ptr obj, + static CORBA_LocalObject_ptr _narrow (CORBA::Object_ptr obj, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); - /// no-op it is just here to simplify some templates. - static CORBA_LocalObject_ptr _unchecked_narrow (CORBA_Object_ptr obj, - CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()); + /// No-op it is just here to simplify some templates. + static CORBA_LocalObject_ptr _unchecked_narrow ( + CORBA::Object_ptr obj, + CORBA_Environment &ACE_TRY_ENV = + TAO_default_environment ()); #if (TAO_HAS_MINIMUM_CORBA == 0) @@ -67,7 +70,7 @@ public: virtual CORBA::Boolean _non_existent (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); - /// throws NO_IMPLEMENT. + /// Throws CORBA::NO_IMPLEMENT. virtual CORBA::ImplementationDef_ptr _get_implementation (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -77,7 +80,7 @@ public: CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); - /// throws NO_IMPLEMENT. + /// Throws NO_IMPLEMENT. virtual void _create_request (CORBA::Context_ptr ctx, const CORBA::Char *operation, CORBA::NVList_ptr arg_list, @@ -98,9 +101,7 @@ public: CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); - // throws NO_IMPLEMENT. - - /// throws NO_IMPLEMENT. + /// Throws NO_IMPLEMENT. virtual CORBA::Request_ptr _request (const CORBA::Char *operation, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -109,21 +110,21 @@ public: #if (TAO_HAS_CORBA_MESSAGING == 1) - /// throws NO_IMPLEMENT. + /// Throws CORBA::NO_IMPLEMENT. CORBA::Policy_ptr _get_policy ( CORBA::PolicyType type, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); - /// throws NO_IMPLEMENT. + /// Throws CORBA::NO_IMPLEMENT. CORBA::Policy_ptr _get_client_policy ( CORBA::PolicyType type, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); - /// throws NO_IMPLEMENT. + /// Throws CORBA::NO_IMPLEMENT. CORBA::Object_ptr _set_policy_overrides ( const CORBA::PolicyList & policies, CORBA::SetOverrideType set_add, @@ -131,14 +132,14 @@ public: TAO_default_environment () ); - /// throws NO_IMPLEMENT. + /// Throws CORBA::NO_IMPLEMENT. CORBA::PolicyList * _get_policy_overrides ( const CORBA::PolicyTypeSeq & types, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); - /// throws NO_IMPLEMENT. + /// Throws CORBA::NO_IMPLEMENT. CORBA::Boolean _validate_connection ( CORBA::PolicyList_out inconsistent_policies, CORBA_Environment &ACE_TRY_ENV = @@ -148,11 +149,9 @@ public: #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ /** - * Return a (potentially non-unique) hash value for this object. - * This method relies on the representation of the object - * reference's private state. Since that changes easily (when - * different ORB protocols are in use) there is no default - * implementation. + * Return a hash value for this object. The hash is based on the + * address of the object. On non-32 bit platforms, the hash may be + * non-unique. */ virtual CORBA::ULong _hash (CORBA::ULong maximum, CORBA_Environment &ACE_TRY_ENV = @@ -178,41 +177,33 @@ public: // = TAO extensions - /// throws NO_IMPLEMENT. - virtual TAO_ObjectKey *_key (CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()); - -#if 0 - /** - * Return a reference to the object key of profile in-use. - * If there's no in-use profile, then the program will - * probably crash. This method does not create a new copy. - */ - virtual const TAO_ObjectKey &_object_key (void); - - /// Downcasting this object pointer to some other derived class. - /// This QueryInterface stuff only work for local object. - virtual void * _tao_QueryInterface (ptr_arith_t type); -#endif /* 0 */ + /// Throws CORBA::NO_IMPLEMENT. + virtual TAO_ObjectKey *_key (CORBA_Environment &ACE_TRY_ENV); #if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8 + /// Useful for template programming. typedef CORBA_LocalObject_ptr _ptr_type; typedef CORBA_LocalObject_var _var_type; #endif /* __GNUC__ */ - // Useful for template programming. protected: + + /// Default constructor. + /** + * Make it protected to prevent instantiation of this class. + */ CORBA_LocalObject (void); - // Default constructor. Make it protected to prevent instantiation - // of this class. private: - // = Unimplemented methods - // constructor - + /** + * @name Unimplemented methods + */ + //@{ CORBA_LocalObject (const CORBA_LocalObject &); CORBA_LocalObject &operator = (const CORBA_LocalObject &); + //@} + }; class TAO_Export CORBA_LocalObject_var @@ -272,21 +263,27 @@ public: virtual void _remove_ref (void); protected: + + // Default constructor. + /** + * Make it protected to prevent instantiation of this class. + */ TAO_Local_RefCounted_Object (void); - // Default constructor. Make it protected to prevent instantiation - // of this class. private: - // = Unimplemented methods - // constructor - + /** + * @name Unimplemented methods + */ + //@{ TAO_Local_RefCounted_Object (const TAO_Local_RefCounted_Object &); TAO_Local_RefCounted_Object &operator = (const TAO_Local_RefCounted_Object &); + //@} + }; #if defined (__ACE_INLINE__) -# include "tao/LocalObject.i" +# include "LocalObject.i" #endif /* __ACE_INLINE__ */ #include "ace/post.h" diff --git a/TAO/tao/LocalObject.i b/TAO/tao/LocalObject.i index 4ed53a54694..f2b83c3f88b 100644 --- a/TAO/tao/LocalObject.i +++ b/TAO/tao/LocalObject.i @@ -1,3 +1,5 @@ +// -*- C++ -*- +// // $Id$ // **************************************************************** @@ -20,27 +22,31 @@ CORBA_LocalObject::_nil (void) ACE_INLINE CORBA_LocalObject_ptr CORBA_LocalObject::_narrow (CORBA_Object_ptr obj, - CORBA_Environment&) + CORBA_Environment &) { if (obj->_is_local () != 0) return - ACE_reinterpret_cast (CORBA_LocalObject_ptr, - obj->_tao_QueryInterface - (ACE_reinterpret_cast (ptr_arith_t, - &CORBA_LocalObject::_narrow))); + ACE_reinterpret_cast ( + CORBA_LocalObject_ptr, + obj->_tao_QueryInterface ( + ACE_reinterpret_cast (ptr_arith_t, + &CORBA_LocalObject::_narrow))); + return 0; } ACE_INLINE CORBA_LocalObject_ptr CORBA_LocalObject::_unchecked_narrow (CORBA_Object_ptr obj, - CORBA_Environment&) + CORBA_Environment &) { if (obj->_is_local () != 0) return - ACE_reinterpret_cast (CORBA_LocalObject_ptr, - obj->_tao_QueryInterface - (ACE_reinterpret_cast (ptr_arith_t, - &CORBA_LocalObject::_narrow))); + ACE_reinterpret_cast ( + CORBA_LocalObject_ptr, + obj->_tao_QueryInterface ( + ACE_reinterpret_cast (ptr_arith_t, + &CORBA_LocalObject::_narrow))); + return 0; } @@ -52,7 +58,7 @@ CORBA_LocalObject::CORBA_LocalObject (void) ACE_INLINE TAO_Local_RefCounted_Object::TAO_Local_RefCounted_Object (void) - // : CORBA_LocalObject () + // : CORBA_LocalObject () { } @@ -85,9 +91,9 @@ CORBA_LocalObject_var::ptr (void) const ACE_INLINE CORBA_LocalObject_var::CORBA_LocalObject_var (const CORBA_LocalObject_var &p) - // copy constructor : ptr_ (CORBA_LocalObject::_duplicate (p.ptr ())) -{} +{ +} ACE_INLINE CORBA_LocalObject_var & CORBA_LocalObject_var::operator= (CORBA_LocalObject_ptr p) @@ -101,10 +107,11 @@ ACE_INLINE CORBA_LocalObject_var & CORBA_LocalObject_var::operator= (const CORBA_LocalObject_var &p) { if (this != &p) - { - CORBA::release (this->ptr_); - this->ptr_ = CORBA_LocalObject::_duplicate (p.ptr ()); - } + { + CORBA::release (this->ptr_); + this->ptr_ = CORBA_LocalObject::_duplicate (p.ptr ()); + } + return *this; } @@ -161,23 +168,24 @@ CORBA_LocalObject_var::_retn (void) ACE_INLINE CORBA_LocalObject_out::CORBA_LocalObject_out (CORBA_LocalObject_ptr &p) - : ptr_ (p) + : ptr_ (p) { this->ptr_ = CORBA_LocalObject::_nil (); } ACE_INLINE -CORBA_LocalObject_out::CORBA_LocalObject_out (CORBA_LocalObject_var &p) // constructor from _var - : ptr_ (p.out ()) +CORBA_LocalObject_out::CORBA_LocalObject_out (CORBA_LocalObject_var &p) + : ptr_ (p.out ()) { CORBA::release (this->ptr_); this->ptr_ = CORBA_LocalObject::_nil (); } ACE_INLINE -CORBA_LocalObject_out::CORBA_LocalObject_out (const CORBA_LocalObject_out &p) // copy constructor - : ptr_ (p.ptr_) -{} +CORBA_LocalObject_out::CORBA_LocalObject_out (const CORBA_LocalObject_out &p) + : ptr_ (p.ptr_) +{ +} ACE_INLINE CORBA_LocalObject_out & CORBA_LocalObject_out::operator= (const CORBA_LocalObject_out &p) diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp index 3c1e1eb02c1..fb0bde4a745 100644 --- a/TAO/tao/ORB.cpp +++ b/TAO/tao/ORB.cpp @@ -1803,6 +1803,13 @@ CORBA_ORB::object_to_string (CORBA::Object_ptr obj, this->check_shutdown (ACE_TRY_ENV); ACE_CHECK_RETURN (0); + if (obj->_is_local ()) + // @@ The CCM spec says one minor code, and the CORBA spec says + // another. Which is the correct one? + ACE_THROW_RETURN (CORBA::MARSHAL (TAO_OMG_VMCID | 4, + CORBA::COMPLETED_NO), + 0); + // Application writer controls what kind of objref strings they get, // maybe along with other things, by how they initialize the ORB. @@ -1814,9 +1821,13 @@ CORBA_ORB::object_to_string (CORBA::Object_ptr obj, // XXX there should be a simple way to reuse this code in other // ORB implementations ... - char buf [ACE_CDR::DEFAULT_BUFSIZE]; #if defined(ACE_HAS_PURIFY) - (void) ACE_OS::memset (buf, '\0', sizeof(buf)); + char buf [ACE_CDR::DEFAULT_BUFSIZE] = { 0 }; +#else + // Avoid the initialization overhead if not compiling with + // support for Purify. There is no need to actually perform + // initialization otherwise. + char buf [ACE_CDR::DEFAULT_BUFSIZE]; #endif /* ACE_HAS_PURIFY */ TAO_OutputCDR cdr (buf, sizeof buf, @@ -1888,19 +1899,15 @@ CORBA_ORB::object_to_string (CORBA::Object_ptr obj, 0); } - // @@ According to Carlos, we shouldn't be using - // profile_in_use(). Instead we should use the first profile - // in the MProfile instead, for example. - // - // For now, I'll just throw an exception since I was getting - // segmentation faults. - // -Ossama - if (obj->_stubobj ()->profile_in_use () == 0) + TAO_MProfile &mp = obj->_stubobj ()->base_profiles (); + + if (mp.profile_count () == 0) { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - ACE_TEXT ("TAO_Profile pointer in ") - ACE_TEXT ("CORBA::ORB::object_to_string() is zero.\n"))); + ACE_TEXT ("(%P|%t) Cannot stringify given ") + ACE_TEXT ("object. No profiles.\n"))); + ACE_THROW_RETURN (CORBA::MARSHAL ( CORBA_SystemException::_tao_minor_code ( @@ -1910,7 +1917,10 @@ CORBA_ORB::object_to_string (CORBA::Object_ptr obj, 0); } - return obj->_stubobj ()->profile_in_use ()->to_string (ACE_TRY_ENV); + // For now we just use the first profile. + TAO_Profile *profile = mp.get_profile (0); + + return profile->to_string (ACE_TRY_ENV); } } diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 6702c7d3c13..a88a05e50be 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -245,6 +245,8 @@ TAO_ORB_Core::~TAO_ORB_Core (void) delete this->endpoint_selector_factory_; + delete this->stub_factory_; + delete this->transport_sync_strategy_; } diff --git a/TAO/tao/Object.h b/TAO/tao/Object.h index a3ab7ce91e5..cbbe8798f40 100644 --- a/TAO/tao/Object.h +++ b/TAO/tao/Object.h @@ -191,8 +191,7 @@ public: /// Return the object key as an out parameter. Caller should release /// return value when finished with it. - virtual TAO_ObjectKey *_key (CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()); + virtual TAO_ObjectKey *_key (CORBA_Environment &ACE_TRY_ENV); /** * Return a reference to the object key of profile in-use. diff --git a/TAO/tao/Object_Ref_Table.cpp b/TAO/tao/Object_Ref_Table.cpp index b9299716b1c..c883296595d 100644 --- a/TAO/tao/Object_Ref_Table.cpp +++ b/TAO/tao/Object_Ref_Table.cpp @@ -34,14 +34,14 @@ TAO_Object_Ref_Table::register_initial_reference ( CORBA::Environment &ACE_TRY_ENV) { if (id == 0) - ACE_THROW (CORBA::BAD_PARAM (TAO_OMG_VMCID | 24, + ACE_THROW (CORBA::BAD_PARAM (TAO_OMG_VMCID | 27, CORBA::COMPLETED_NO)); else if (ACE_OS_String::strlen (id) == 0) - ACE_THROW (CORBA::BAD_PARAM (TAO_OMG_VMCID | 24, + ACE_THROW (CORBA::BAD_PARAM (TAO_OMG_VMCID | 27, CORBA::COMPLETED_NO)); if (CORBA::is_nil (obj)) - ACE_THROW (CORBA::BAD_PARAM (TAO_OMG_VMCID | 24, + ACE_THROW (CORBA::BAD_PARAM (TAO_OMG_VMCID | 27, CORBA::COMPLETED_NO)); int result = this->bind (id, obj); diff --git a/TAO/tao/Pluggable.h b/TAO/tao/Pluggable.h index 16eaa474f69..daf51356c5d 100644 --- a/TAO/tao/Pluggable.h +++ b/TAO/tao/Pluggable.h @@ -96,16 +96,15 @@ public: /// Closes the acceptor virtual int close (void) = 0; - /// Create the corresponding profile for this endpoint. + /** Create the corresponding profile for this endpoint. + * If share_profile is set to true, the pluggable protocol + * implementation should try to add the endpoint to a profile + * in the mprofile that is of the same type. Currently, this + * is used when RT CORBA is enabled. + */ virtual int create_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) = 0; - - - /// Create an endpoint for a profile, and if the profile does not - /// exist it creates the profile and then adds the endpoint. - virtual int create_endpoint_for_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) = 0; - + TAO_MProfile &mprofile, + CORBA::Boolean share_profile) = 0; /// Return 1 if the <endpoint> has the same address as the acceptor. virtual int is_collocated (const TAO_Endpoint* endpoint) = 0; diff --git a/TAO/tao/PolicyFactory_Registry.cpp b/TAO/tao/PolicyFactory_Registry.cpp index 69faf583ce7..29910a7f3c7 100644 --- a/TAO/tao/PolicyFactory_Registry.cpp +++ b/TAO/tao/PolicyFactory_Registry.cpp @@ -43,7 +43,7 @@ TAO_PolicyFactory_Registry::register_policy_factory ( { // PolicyFactory of given type already exists. - ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 12, + ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 16, CORBA::COMPLETED_NO)); } else if (result == -1) diff --git a/TAO/tao/PortableInterceptor.pidl b/TAO/tao/PortableInterceptor.pidl index a36b8d0b4e5..e8421db4f8e 100644 --- a/TAO/tao/PortableInterceptor.pidl +++ b/TAO/tao/PortableInterceptor.pidl @@ -170,7 +170,7 @@ module PortableInterceptor { void register_initial_reference (in ObjectId id, in Object obj) raises (InvalidName); - CORBA::Object resolve_initial_references (in ObjectId id) raises (InvalidName); + Object resolve_initial_references (in ObjectId id) raises (InvalidName); void add_client_request_interceptor ( in ClientRequestInterceptor interceptor) raises (DuplicateName); diff --git a/TAO/tao/PortableServer/Active_Object_Map.cpp b/TAO/tao/PortableServer/Active_Object_Map.cpp index 1a2143b1a30..972483260bc 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.cpp +++ b/TAO/tao/PortableServer/Active_Object_Map.cpp @@ -90,7 +90,8 @@ TAO_Active_Object_Map::TAO_Active_Object_Map (int user_id_policy, id_uniqueness_strategy_ (0), lifespan_strategy_ (0), id_assignment_strategy_ (0), - id_hint_strategy_ (0) + id_hint_strategy_ (0), + using_active_maps_ (0) { TAO_Active_Object_Map::set_system_id_size (creation_parameters); @@ -166,6 +167,8 @@ TAO_Active_Object_Map::TAO_Active_Object_Map (int user_id_policy, || creation_parameters.allow_reactivation_of_system_ids_) && creation_parameters.use_active_hint_in_ids_) { + this->using_active_maps_ = 1; + ACE_NEW_THROW_EX (id_hint_strategy, TAO_Active_Hint_Strategy (creation_parameters.active_object_map_size_), CORBA::NO_MEMORY ()); @@ -275,6 +278,9 @@ TAO_Active_Object_Map::TAO_Active_Object_Map (int user_id_policy, case TAO_ACTIVE_DEMUX: default: + + this->using_active_maps_ = 1; + ACE_NEW_THROW_EX (uim, user_id_active_map (creation_parameters.active_object_map_size_), CORBA::NO_MEMORY ()); diff --git a/TAO/tao/PortableServer/Active_Object_Map.h b/TAO/tao/PortableServer/Active_Object_Map.h index 1e0a2fa4c91..9722c2d6ffc 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.h +++ b/TAO/tao/PortableServer/Active_Object_Map.h @@ -249,6 +249,10 @@ public: TAO_Id_Hint_Strategy *id_hint_strategy_; // Id hint strategy. + int using_active_maps_; + // Flag to see if we are using active maps in this active object + // map. + static size_t system_id_size_; // Size of the system id produced by the map. }; diff --git a/TAO/tao/PortableServer/Active_Object_Map.i b/TAO/tao/PortableServer/Active_Object_Map.i index fab49985db8..41aeb5e597c 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.i +++ b/TAO/tao/PortableServer/Active_Object_Map.i @@ -13,6 +13,24 @@ TAO_Active_Object_Map::bind_using_system_id_returning_system_id (PortableServer: CORBA::Short priority, PortableServer::ObjectId_out system_id) { + if (servant == 0 && + !this->using_active_maps_) + { + PortableServer::ObjectId id; + + int result = + this->user_id_map_->create_key (id); + + if (result == 0) + { + ACE_NEW_RETURN (system_id, + PortableServer::ObjectId (id), + -1); + } + + return result; + } + Map_Entry *entry = 0; int result = this->id_assignment_strategy_->bind_using_system_id (servant, @@ -59,6 +77,15 @@ TAO_Active_Object_Map::find_system_id_using_user_id (const PortableServer::Objec CORBA::Short priority, PortableServer::ObjectId_out system_id) { + if (!this->using_active_maps_) + { + ACE_NEW_RETURN (system_id, + PortableServer::ObjectId (user_id), + -1); + + return 0; + } + Map_Entry *entry = 0; int result = this->id_uniqueness_strategy_->bind_using_user_id (0, user_id, diff --git a/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp b/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp index b4bbc70f2f8..21f4cfd3249 100644 --- a/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp +++ b/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp @@ -19,7 +19,9 @@ TAO_Default_Acceptor_Filter::fill_mprofile (const TAO_ObjectKey &object_key, acceptor != acceptors_end; ++acceptor) { - if ((*acceptor)->create_mprofile (object_key, mprofile) + if ((*acceptor)->create_mprofile (object_key, + mprofile, + 0 /* one endpoint per profile */) == -1) return -1; } diff --git a/TAO/tao/PortableServer/POA.cpp b/TAO/tao/PortableServer/POA.cpp index 65575edb4cf..02dcba3f4a7 100644 --- a/TAO/tao/PortableServer/POA.cpp +++ b/TAO/tao/PortableServer/POA.cpp @@ -6,8 +6,9 @@ // ImplRepo related. // #if (TAO_HAS_MINIMUM_CORBA == 0) -# include "ImplRepoS.h" -# include "ImplRepoC.h" +# include "tao/PortableServer/ImplRepoS.h" +# include "tao/PortableServer/ImplRepoC.h" +# include "tao/PortableServer/ImplRepo_i.h" #endif /* TAO_HAS_MINIMUM_CORBA */ #include "tao/ORB_Core.h" @@ -21,66 +22,12 @@ #include "tao/RT_Policy_i.h" - #include "Default_Acceptor_Filter.h" #include "RT_Acceptor_Filters.h" // auto_ptr class #include "ace/Auto_Ptr.h" -// -// ImplRepo related. -// -#if (TAO_HAS_MINIMUM_CORBA == 0) - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#if (_MSC_VER >= 1200) -#pragma warning(push) -#endif /* _MSC_VER >= 1200 */ -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -// @@ Darrell: could you move this to some other file? It is kind of -// ugly around here. Also: we probably want this "optional", -// i.e. some kind of hook that creates this object only when IMR is -// enabled, we should talk about it. -class ServerObject_i - : public POA_ImplementationRepository::ServerObject, - public PortableServer::RefCountServantBase -{ - // = TITLE - // IMR Server Object Implementation - // - // = DESCRIPTION - // Implementation Repository uses this to communicate with the IMR - // registered server. -public: - ServerObject_i (CORBA::ORB_ptr orb) - : orb_ (orb) {} - - virtual void ping (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - } - - virtual void shutdown (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - this->orb_->shutdown (0, ACE_TRY_ENV); - ACE_CHECK; - } -private: - CORBA::ORB_ptr orb_; -}; - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_HAS_MINIMUM_CORBA */ - #if !defined (__ACE_INLINE__) # include "POA.i" #endif /* ! __ACE_INLINE__ */ @@ -208,14 +155,18 @@ TAO_POA::TAO_POA (const TAO_POA::String &name, ACE_THROW (CORBA::OBJ_ADAPTER ()); } + // Set the id for this POA. + this->set_id (); + // Finally everything is fine. Make sure to take ownership away // from the auto pointer. this->active_object_map_ = new_active_object_map.release (); -// -// ImplRepo related. -// + // + // ImplRepo related. + // #if (TAO_HAS_MINIMUM_CORBA == 0) + if (this->policies_.lifespan () == PortableServer::PERSISTENT) { int temp = this->use_imr_; @@ -565,11 +516,11 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects, ACE_CHECK; } - // // ImplRepo related. // #if (TAO_HAS_MINIMUM_CORBA == 0) + if (this->policies_.lifespan () == PortableServer::PERSISTENT) { this->imr_notify_shutdown (); @@ -577,19 +528,37 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects, if (this->server_object_) { - TAO_POA *root_poa = this->object_adapter ().root_poa (); + TAO_POA *tao_poa = 0; - PortableServer::ObjectId_var id = - root_poa->servant_to_id_i (this->server_object_, ACE_TRY_ENV); + PortableServer::POA_var poa = + this->server_object_->_default_POA (ACE_TRY_ENV); ACE_CHECK; - root_poa->deactivate_object_i (id.in (), ACE_TRY_ENV); +#if (TAO_HAS_RT_CORBA == 1) + + RTPortableServer::POA_var rt_poa = + RTPortableServer::POA::_narrow (poa.in ()); + ACE_CHECK; + + tao_poa = + ACE_dynamic_cast (TAO_POA *, rt_poa.in ()); + +#else + + tao_poa = + ACE_dynamic_cast (TAO_POA *, poa.in ()); + +#endif /* TAO_HAS_RT_CORBA == 1 */ + + PortableServer::ObjectId_var id = + tao_poa->servant_to_id_i (this->server_object_, ACE_TRY_ENV); ACE_CHECK; - this->server_object_->_remove_ref (ACE_TRY_ENV); + tao_poa->deactivate_object_i (id.in (), ACE_TRY_ENV); ACE_CHECK; } } + #endif /* TAO_HAS_MINIMUM_CORBA */ // When a POA is destroyed, any requests that have started execution @@ -1362,15 +1331,16 @@ TAO_POA::check_poa_manager_state (CORBA::Environment &ACE_TRY_ENV) // When a POA manager is in the discarding state, the associated // POAs will discard all incoming requests (whose processing has // not yet begun). When a request is discarded, the TRANSIENT - // system exception must be returned to the client-side to - // indicate that the request should be re-issued. (Of course, an - // ORB may always reject a request for other reasons and raise - // some other system exception.) + // system exception, with standard minor code 1, must be + // returned to the client-side to indicate that the request + // should be re-issued. (Of course, an ORB may always reject a + // request for other reasons and raise some other system + // exception.) ACE_THROW ( CORBA::TRANSIENT ( CORBA_SystemException::_tao_minor_code ( TAO_POA_DISCARDING, - 0), + 1), CORBA::COMPLETED_NO)); } @@ -1380,17 +1350,17 @@ TAO_POA::check_poa_manager_state (CORBA::Environment &ACE_TRY_ENV) // POAs will queue incoming requests. The number of requests // that can be queued is an implementation limit. If this limit // is reached, the POAs may discard requests and return the - // TRANSIENT system exception to the client to indicate that the - // client should reissue the request. (Of course, an ORB may - // always reject a request for other reasons and raise some - // other system exception.) + // TRANSIENT system exception, with standard minor code 1, to + // the client to indicate that the client should reissue the + // request. (Of course, an ORB may always reject a request for + // other reasons and raise some other system exception.) // Since there is no queuing in TAO, we immediately raise a // TRANSIENT exception. ACE_THROW (CORBA::TRANSIENT ( CORBA_SystemException::_tao_minor_code ( TAO_POA_HOLDING, - 0), + 1), CORBA::COMPLETED_NO)); } @@ -1405,9 +1375,13 @@ TAO_POA::check_poa_manager_state (CORBA::Environment &ACE_TRY_ENV) // CloseConnection message are examples of mechanisms that could // be used to indicate the rejection. If the client is // co-resident in the same process, the ORB could raise the - // OBJ_ADAPTER exception to indicate that the object - // implementation is unavailable. - ACE_THROW (CORBA::OBJ_ADAPTER ()); + // OBJ_ADAPTER system exception, with standard minor code 1, to + // indicate that the object implementation is unavailable. + ACE_THROW (CORBA::OBJ_ADAPTER ( + CORBA_SystemException::_tao_minor_code ( + TAO_POA_INACTIVE, + 1), + CORBA::COMPLETED_NO)); } } @@ -2124,6 +2098,13 @@ TAO_POA::id_to_reference_i (const PortableServer::ObjectId &id, } } +CORBA::OctetSeq * +TAO_POA::id (CORBA::Environment & /*ACE_TRY_ENV*/) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return new CORBA::OctetSeq (this->id_); +} + #if (TAO_HAS_RT_CORBA == 1) int @@ -2666,6 +2647,40 @@ TAO_POA::parse_key (const TAO_ObjectKey &key, TAO_ObjectKey * TAO_POA::create_object_key (const PortableServer::ObjectId &id) { + // Calculate the space required for the key. + CORBA::ULong buffer_size = + this->id_.length () + + id.length (); + + // Create the buffer for the key. + CORBA::Octet *buffer = TAO_ObjectKey::allocbuf (buffer_size); + + // First copy the POA id into the key. + ACE_OS::memcpy (&buffer[0], + this->id_.get_buffer (), + this->id_.length ()); + + // Then copy the object id into the key. + ACE_OS::memcpy (&buffer[this->id_.length ()], + id.get_buffer (), + id.length ()); + + // Create the key, giving the ownership of the buffer to the + // sequence. + TAO_ObjectKey *key = 0; + ACE_NEW_RETURN (key, + TAO_ObjectKey (buffer_size, + buffer_size, + buffer, + 1), + 0); + + return key; +} + +void +TAO_POA::set_id (void) +{ // Calculate the prefix size. CORBA::ULong prefix_size = 0; prefix_size += TAO_OBJECTKEY_PREFIX_SIZE; @@ -2706,17 +2721,17 @@ TAO_POA::create_object_key (const PortableServer::ObjectId &id) } #endif /* POA_NO_TIMESTAMP */ - // Calculate the space required for the key. + // Calculate the space required for the POA id. CORBA::ULong buffer_size = prefix_size + this->root_key_type_length () + this->system_id_key_type_length () + creation_time + - poa_name + - id.length (); + poa_name; - // Create the buffer for the key. - CORBA::Octet *buffer = TAO_ObjectKey::allocbuf (buffer_size); + // Create the buffer for the POA id. + this->id_.length (buffer_size); + CORBA::Octet *buffer = &this->id_[0]; // Keeps track of where the next infomation goes; start at 0 byte. CORBA::ULong starting_at = 0; @@ -2769,23 +2784,6 @@ TAO_POA::create_object_key (const PortableServer::ObjectId &id) this->system_name_->length ()); starting_at += this->system_name_->length (); } - - // Then copy the object id into the key. - ACE_OS::memcpy (&buffer[starting_at], - id.get_buffer (), - id.length ()); - - // Create the key, giving the ownership of the buffer to the - // sequence. - TAO_ObjectKey *key = 0; - ACE_NEW_RETURN (key, - TAO_ObjectKey (buffer_size, - buffer_size, - buffer, - 1), - 0); - - return key; } int @@ -4025,6 +4023,7 @@ TAO_POA::key_to_object (const TAO_ObjectKey &key, // ImplRepo related. // #if (TAO_HAS_MINIMUM_CORBA == 0) + CORBA::Object_ptr obj = CORBA::Object::_nil (); if (this->use_imr_ @@ -4094,6 +4093,7 @@ TAO_POA::key_to_object (const TAO_ObjectKey &key, } orbkey: + #endif /* TAO_HAS_MINIMUM_CORBA */ TAO_Stub *data = @@ -4305,13 +4305,17 @@ TAO_POA::imr_notify_startup (CORBA_Environment &ACE_TRY_ENV) if (CORBA::is_nil (imr.in ())) return; + TAO_POA *root_poa = this->object_adapter ().root_poa (); ACE_NEW_THROW_EX (this->server_object_, - ServerObject_i (this->orb_core_.orb ()), + ServerObject_i (this->orb_core_.orb (), + root_poa), CORBA::NO_MEMORY ()); ACE_CHECK; + PortableServer::ServantBase_var safe_servant (this->server_object_); + ACE_UNUSED_ARG (safe_servant); + // Activate the servant in the root poa. - TAO_POA *root_poa = this->object_adapter ().root_poa (); PortableServer::ObjectId_var id = root_poa->activate_object_i (this->server_object_, TAO_INVALID_PRIORITY, @@ -4389,7 +4393,6 @@ TAO_POA::imr_notify_startup (CORBA_Environment &ACE_TRY_ENV) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "Successfully notified IMR of Startup\n")); - } void diff --git a/TAO/tao/PortableServer/POA.h b/TAO/tao/PortableServer/POA.h index 5d883d14637..2d438e3d2d6 100644 --- a/TAO/tao/PortableServer/POA.h +++ b/TAO/tao/PortableServer/POA.h @@ -52,6 +52,9 @@ // Locking #include "ace/Synch.h" +// OctetSeq +#include "tao/OctetSeqC.h" + // This is to remove "inherits via dominance" warnings from MSVC. // MSVC is being a little too paranoid. #if defined(_MSC_VER) @@ -585,6 +588,9 @@ public: PortableServer::POA::ObjectNotActive, PortableServer::POA::WrongPolicy)); + CORBA::OctetSeq *id (CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException)); + #if (TAO_HAS_RT_CORBA == 1) CORBA::Object_ptr create_reference_with_priority (const char * intf, @@ -875,6 +881,8 @@ protected: void set_folded_name (void); + void set_id (void); + TAO_ObjectKey *create_object_key (const PortableServer::ObjectId &id); int is_poa_generated_id (const PortableServer::ObjectId &id); @@ -958,6 +966,8 @@ protected: TAO_Object_Adapter::poa_name_var system_name_; + CORBA::OctetSeq id_; + TAO_POA_Manager &poa_manager_; TAO_POA_Policies policies_; diff --git a/TAO/tao/PortableServer/PortableServer.pidl b/TAO/tao/PortableServer/PortableServer.pidl index 88429b22ad8..5eedf6f0487 100644 --- a/TAO/tao/PortableServer/PortableServer.pidl +++ b/TAO/tao/PortableServer/PortableServer.pidl @@ -280,6 +280,8 @@ module PortableServer { raises (ObjectNotActive, WrongPolicy); Object id_to_reference( in ObjectId oid) raises (ObjectNotActive, WrongPolicy); + + readonly attribute CORBA::OctetSeq id; }; // Current interface diff --git a/TAO/tao/PortableServer/PortableServerC.h b/TAO/tao/PortableServer/PortableServerC.h index 8da3bdba971..d670f353bc7 100644 --- a/TAO/tao/PortableServer/PortableServerC.h +++ b/TAO/tao/PortableServer/PortableServerC.h @@ -75,7 +75,7 @@ TAO_NAMESPACE PortableServer typedef TAO_DynamicImplementation DynamicImplementation; class POA; - + #if !defined (_PORTABLESERVER_POA___PTR_CH_) #define _PORTABLESERVER_POA___PTR_CH_ @@ -91,23 +91,23 @@ TAO_NAMESPACE PortableServer { public: POA_var (void); // default constructor - POA_var (POA_ptr p) : ptr_ (p) {} + POA_var (POA_ptr p) : ptr_ (p) {} POA_var (const POA_var &); // copy constructor ~POA_var (void); // destructor - + POA_var &operator= (POA_ptr); POA_var &operator= (const POA_var &); POA_ptr operator-> (void) const; - + operator const POA_ptr &() const; operator POA_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn POA_ptr in (void) const; POA_ptr &inout (void); POA_ptr &out (void); POA_ptr _retn (void); POA_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static POA_ptr duplicate (POA_ptr); @@ -115,7 +115,7 @@ TAO_NAMESPACE PortableServer static POA_ptr nil (void); static POA_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: POA_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -142,7 +142,7 @@ TAO_NAMESPACE PortableServer operator POA_ptr &(); POA_ptr &ptr (void); POA_ptr operator-> (void); - + private: POA_ptr &ptr_; }; @@ -152,7 +152,7 @@ TAO_NAMESPACE PortableServer #if !defined (TAO_USE_SEQUENCE_TEMPLATES) - + #if !defined (__TAO_UNBOUNDED_OBJECT_SEQUENCE_PORTABLESERVER_POALIST_CH_) #define __TAO_UNBOUNDED_OBJECT_SEQUENCE_PORTABLESERVER_POALIST_CH_ @@ -160,7 +160,7 @@ TAO_NAMESPACE PortableServer { public: // = Initialization and termination methods. - + _TAO_Unbounded_Object_Sequence_PortableServer_POAList (void); _TAO_Unbounded_Object_Sequence_PortableServer_POAList (CORBA::ULong maximum); _TAO_Unbounded_Object_Sequence_PortableServer_POAList (CORBA::ULong maximum, @@ -182,42 +182,42 @@ TAO_NAMESPACE PortableServer virtual void _downcast ( void* target, CORBA_Object *src, - CORBA_Environment &ACE_TRY_ENV = + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); virtual CORBA_Object* _upcast (void *src) const; - + }; #endif /* end #if !defined */ -#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ - +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + #if !defined (_PORTABLESERVER_POALIST_CH_) #define _PORTABLESERVER_POALIST_CH_ class POAList; class POAList_var; - + // ************************************************************* // POAList // ************************************************************* - - class TAO_PortableServer_Export POAList : public + + class TAO_PortableServer_Export POAList : public #if !defined (TAO_USE_SEQUENCE_TEMPLATES) _TAO_Unbounded_Object_Sequence_PortableServer_POAList #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Object_Sequence<POA,POA_var> -#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ { public: POAList (void); // default ctor POAList (CORBA::ULong max); // uses max size POAList ( - CORBA::ULong max, - CORBA::ULong length, - POA_ptr *buffer, + CORBA::ULong max, + CORBA::ULong length, + POA_ptr *buffer, CORBA::Boolean release = 0 ); POAList (const POAList &); // copy ctor @@ -229,7 +229,7 @@ TAO_NAMESPACE PortableServer #endif /* ! __GNUC__ || g++ >= 2.8 */ }; - + #endif /* end #if !defined */ @@ -247,20 +247,20 @@ TAO_NAMESPACE PortableServer POAList_var (POAList *); POAList_var (const POAList_var &); // copy constructor ~POAList_var (void); // destructor - + POAList_var &operator= (POAList *); POAList_var &operator= (const POAList_var &); POAList *operator-> (void); const POAList *operator-> (void) const; - + operator const POAList &() const; operator POAList &(); operator POAList &() const; operator POAList *&(); // variable-size base types only - + TAO_Object_Manager<POA, POA_var> operator[] (CORBA::ULong index); - - // in, inout, out, _retn + + // in, inout, out, _retn const POAList &in (void) const; POAList &inout (void); POAList *&out (void); @@ -290,7 +290,7 @@ TAO_NAMESPACE PortableServer POAList *&ptr (void); POAList *operator-> (void); TAO_Object_Manager<POA, POA_var> operator[] (CORBA::ULong index); - + private: POAList *&ptr_; // assignment from T_var not allowed @@ -306,25 +306,25 @@ TAO_NAMESPACE PortableServer class ObjectId; class ObjectId_var; - + // ************************************************************* // ObjectId // ************************************************************* - - class TAO_PortableServer_Export ObjectId : public + + class TAO_PortableServer_Export ObjectId : public #if !defined (TAO_USE_SEQUENCE_TEMPLATES) TAO_Unbounded_Sequence<CORBA::Octet> #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Sequence<CORBA::Octet> -#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ { public: ObjectId (void); // default ctor ObjectId (CORBA::ULong max); // uses max size ObjectId ( - CORBA::ULong max, - CORBA::ULong length, - CORBA::Octet *buffer, + CORBA::ULong max, + CORBA::ULong length, + CORBA::Octet *buffer, CORBA::Boolean release = 0 ); ObjectId (const ObjectId &); // copy ctor @@ -345,7 +345,7 @@ TAO_NAMESPACE PortableServer #endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */ }; - + #endif /* end #if !defined */ @@ -364,21 +364,21 @@ TAO_NAMESPACE PortableServer ObjectId_var (const ObjectId_var &); // copy constructor ObjectId_var (const ObjectId &); // fixed-size base types only ~ObjectId_var (void); // destructor - + ObjectId_var &operator= (ObjectId *); ObjectId_var &operator= (const ObjectId_var &); ObjectId_var &operator= (const ObjectId &); // fixed-size base types only ObjectId *operator-> (void); const ObjectId *operator-> (void) const; - + operator const ObjectId &() const; operator ObjectId &(); operator ObjectId &() const; - + CORBA::Octet & operator[] (CORBA::ULong index); const CORBA::Octet & operator[] (CORBA::ULong index) const; - - // in, inout, out, _retn + + // in, inout, out, _retn const ObjectId &in (void) const; ObjectId &inout (void); ObjectId *&out (void); @@ -408,7 +408,7 @@ TAO_NAMESPACE PortableServer ObjectId *&ptr (void); ObjectId *operator-> (void); CORBA::Octet & operator[] (CORBA::ULong index); - + private: ObjectId *&ptr_; // assignment from T_var not allowed @@ -433,35 +433,35 @@ TAO_NAMESPACE PortableServer ForwardRequest (void); // Default constructor. - + ForwardRequest (const ForwardRequest &); // Copy constructor. - + ~ForwardRequest (void); // Destructor. - + static void _tao_any_destructor (void*); - + ForwardRequest &operator= (const ForwardRequest &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static ForwardRequest *_downcast (CORBA::Exception *); ForwardRequest ( const CORBA::Object_ptr _tao_forward_reference ); - + // = TAO extension. static CORBA::Exception *_alloc (void); virtual CORBA::TypeCode_ptr _type (void) const; @@ -491,7 +491,7 @@ TAO_NAMESPACE PortableServer enum ThreadPolicyValue { ORB_CTRL_MODEL, - SINGLE_THREAD_MODEL + SINGLE_THREAD_MODEL }; #if (TAO_HAS_MINIMUM_POA == 0) @@ -505,7 +505,7 @@ TAO_NAMESPACE PortableServer class ThreadPolicy; typedef ThreadPolicy *ThreadPolicy_ptr; - + #endif /* end #if !defined */ @@ -516,23 +516,23 @@ TAO_NAMESPACE PortableServer { public: ThreadPolicy_var (void); // default constructor - ThreadPolicy_var (ThreadPolicy_ptr p) : ptr_ (p) {} + ThreadPolicy_var (ThreadPolicy_ptr p) : ptr_ (p) {} ThreadPolicy_var (const ThreadPolicy_var &); // copy constructor ~ThreadPolicy_var (void); // destructor - + ThreadPolicy_var &operator= (ThreadPolicy_ptr); ThreadPolicy_var &operator= (const ThreadPolicy_var &); ThreadPolicy_ptr operator-> (void) const; - + operator const ThreadPolicy_ptr &() const; operator ThreadPolicy_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn ThreadPolicy_ptr in (void) const; ThreadPolicy_ptr &inout (void); ThreadPolicy_ptr &out (void); ThreadPolicy_ptr _retn (void); ThreadPolicy_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static ThreadPolicy_ptr duplicate (ThreadPolicy_ptr); @@ -540,7 +540,7 @@ TAO_NAMESPACE PortableServer static ThreadPolicy_ptr nil (void); static ThreadPolicy_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: ThreadPolicy_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -567,7 +567,7 @@ TAO_NAMESPACE PortableServer operator ThreadPolicy_ptr &(); ThreadPolicy_ptr &ptr (void); ThreadPolicy_ptr operator-> (void); - + private: ThreadPolicy_ptr &ptr_; }; @@ -591,12 +591,12 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy static ThreadPolicy_ptr _duplicate (ThreadPolicy_ptr obj); static ThreadPolicy_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ThreadPolicy_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ThreadPolicy_ptr _nil (void) @@ -605,7 +605,7 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy } virtual PortableServer::ThreadPolicyValue value ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -613,12 +613,12 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: ThreadPolicy (); - + virtual ~ThreadPolicy (void); private: ThreadPolicy (const ThreadPolicy &); @@ -633,7 +633,7 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy enum LifespanPolicyValue { TRANSIENT, - PERSISTENT + PERSISTENT }; typedef LifespanPolicyValue &LifespanPolicyValue_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_LifespanPolicyValue; @@ -644,7 +644,7 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy class LifespanPolicy; typedef LifespanPolicy *LifespanPolicy_ptr; - + #endif /* end #if !defined */ @@ -655,23 +655,23 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy { public: LifespanPolicy_var (void); // default constructor - LifespanPolicy_var (LifespanPolicy_ptr p) : ptr_ (p) {} + LifespanPolicy_var (LifespanPolicy_ptr p) : ptr_ (p) {} LifespanPolicy_var (const LifespanPolicy_var &); // copy constructor ~LifespanPolicy_var (void); // destructor - + LifespanPolicy_var &operator= (LifespanPolicy_ptr); LifespanPolicy_var &operator= (const LifespanPolicy_var &); LifespanPolicy_ptr operator-> (void) const; - + operator const LifespanPolicy_ptr &() const; operator LifespanPolicy_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn LifespanPolicy_ptr in (void) const; LifespanPolicy_ptr &inout (void); LifespanPolicy_ptr &out (void); LifespanPolicy_ptr _retn (void); LifespanPolicy_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static LifespanPolicy_ptr duplicate (LifespanPolicy_ptr); @@ -679,7 +679,7 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy static LifespanPolicy_ptr nil (void); static LifespanPolicy_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: LifespanPolicy_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -706,7 +706,7 @@ class TAO_PortableServer_Export ThreadPolicy: public virtual CORBA::Policy operator LifespanPolicy_ptr &(); LifespanPolicy_ptr &ptr (void); LifespanPolicy_ptr operator-> (void); - + private: LifespanPolicy_ptr &ptr_; }; @@ -730,12 +730,12 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy static LifespanPolicy_ptr _duplicate (LifespanPolicy_ptr obj); static LifespanPolicy_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static LifespanPolicy_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static LifespanPolicy_ptr _nil (void) @@ -744,7 +744,7 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy } virtual PortableServer::LifespanPolicyValue value ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -752,12 +752,12 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: LifespanPolicy (); - + virtual ~LifespanPolicy (void); private: LifespanPolicy (const LifespanPolicy &); @@ -770,7 +770,7 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy enum IdUniquenessPolicyValue { UNIQUE_ID, - MULTIPLE_ID + MULTIPLE_ID }; typedef IdUniquenessPolicyValue &IdUniquenessPolicyValue_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_IdUniquenessPolicyValue; @@ -781,7 +781,7 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy class IdUniquenessPolicy; typedef IdUniquenessPolicy *IdUniquenessPolicy_ptr; - + #endif /* end #if !defined */ @@ -792,23 +792,23 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy { public: IdUniquenessPolicy_var (void); // default constructor - IdUniquenessPolicy_var (IdUniquenessPolicy_ptr p) : ptr_ (p) {} + IdUniquenessPolicy_var (IdUniquenessPolicy_ptr p) : ptr_ (p) {} IdUniquenessPolicy_var (const IdUniquenessPolicy_var &); // copy constructor ~IdUniquenessPolicy_var (void); // destructor - + IdUniquenessPolicy_var &operator= (IdUniquenessPolicy_ptr); IdUniquenessPolicy_var &operator= (const IdUniquenessPolicy_var &); IdUniquenessPolicy_ptr operator-> (void) const; - + operator const IdUniquenessPolicy_ptr &() const; operator IdUniquenessPolicy_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn IdUniquenessPolicy_ptr in (void) const; IdUniquenessPolicy_ptr &inout (void); IdUniquenessPolicy_ptr &out (void); IdUniquenessPolicy_ptr _retn (void); IdUniquenessPolicy_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static IdUniquenessPolicy_ptr duplicate (IdUniquenessPolicy_ptr); @@ -816,7 +816,7 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy static IdUniquenessPolicy_ptr nil (void); static IdUniquenessPolicy_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: IdUniquenessPolicy_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -843,7 +843,7 @@ class TAO_PortableServer_Export LifespanPolicy: public virtual CORBA::Policy operator IdUniquenessPolicy_ptr &(); IdUniquenessPolicy_ptr &ptr (void); IdUniquenessPolicy_ptr operator-> (void); - + private: IdUniquenessPolicy_ptr &ptr_; }; @@ -867,12 +867,12 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy static IdUniquenessPolicy_ptr _duplicate (IdUniquenessPolicy_ptr obj); static IdUniquenessPolicy_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static IdUniquenessPolicy_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static IdUniquenessPolicy_ptr _nil (void) @@ -881,7 +881,7 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy } virtual PortableServer::IdUniquenessPolicyValue value ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -889,12 +889,12 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: IdUniquenessPolicy (); - + virtual ~IdUniquenessPolicy (void); private: IdUniquenessPolicy (const IdUniquenessPolicy &); @@ -907,7 +907,7 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy enum IdAssignmentPolicyValue { USER_ID, - SYSTEM_ID + SYSTEM_ID }; typedef IdAssignmentPolicyValue &IdAssignmentPolicyValue_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_IdAssignmentPolicyValue; @@ -918,7 +918,7 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy class IdAssignmentPolicy; typedef IdAssignmentPolicy *IdAssignmentPolicy_ptr; - + #endif /* end #if !defined */ @@ -929,23 +929,23 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy { public: IdAssignmentPolicy_var (void); // default constructor - IdAssignmentPolicy_var (IdAssignmentPolicy_ptr p) : ptr_ (p) {} + IdAssignmentPolicy_var (IdAssignmentPolicy_ptr p) : ptr_ (p) {} IdAssignmentPolicy_var (const IdAssignmentPolicy_var &); // copy constructor ~IdAssignmentPolicy_var (void); // destructor - + IdAssignmentPolicy_var &operator= (IdAssignmentPolicy_ptr); IdAssignmentPolicy_var &operator= (const IdAssignmentPolicy_var &); IdAssignmentPolicy_ptr operator-> (void) const; - + operator const IdAssignmentPolicy_ptr &() const; operator IdAssignmentPolicy_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn IdAssignmentPolicy_ptr in (void) const; IdAssignmentPolicy_ptr &inout (void); IdAssignmentPolicy_ptr &out (void); IdAssignmentPolicy_ptr _retn (void); IdAssignmentPolicy_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static IdAssignmentPolicy_ptr duplicate (IdAssignmentPolicy_ptr); @@ -953,7 +953,7 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy static IdAssignmentPolicy_ptr nil (void); static IdAssignmentPolicy_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: IdAssignmentPolicy_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -980,7 +980,7 @@ class TAO_PortableServer_Export IdUniquenessPolicy: public virtual CORBA::Policy operator IdAssignmentPolicy_ptr &(); IdAssignmentPolicy_ptr &ptr (void); IdAssignmentPolicy_ptr operator-> (void); - + private: IdAssignmentPolicy_ptr &ptr_; }; @@ -1004,12 +1004,12 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy static IdAssignmentPolicy_ptr _duplicate (IdAssignmentPolicy_ptr obj); static IdAssignmentPolicy_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static IdAssignmentPolicy_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static IdAssignmentPolicy_ptr _nil (void) @@ -1018,7 +1018,7 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy } virtual PortableServer::IdAssignmentPolicyValue value ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1026,12 +1026,12 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: IdAssignmentPolicy (); - + virtual ~IdAssignmentPolicy (void); private: IdAssignmentPolicy (const IdAssignmentPolicy &); @@ -1044,7 +1044,7 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy enum ImplicitActivationPolicyValue { IMPLICIT_ACTIVATION, - NO_IMPLICIT_ACTIVATION + NO_IMPLICIT_ACTIVATION }; #if (TAO_HAS_MINIMUM_POA == 0) @@ -1058,7 +1058,7 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy class ImplicitActivationPolicy; typedef ImplicitActivationPolicy *ImplicitActivationPolicy_ptr; - + #endif /* end #if !defined */ @@ -1069,23 +1069,23 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy { public: ImplicitActivationPolicy_var (void); // default constructor - ImplicitActivationPolicy_var (ImplicitActivationPolicy_ptr p) : ptr_ (p) {} + ImplicitActivationPolicy_var (ImplicitActivationPolicy_ptr p) : ptr_ (p) {} ImplicitActivationPolicy_var (const ImplicitActivationPolicy_var &); // copy constructor ~ImplicitActivationPolicy_var (void); // destructor - + ImplicitActivationPolicy_var &operator= (ImplicitActivationPolicy_ptr); ImplicitActivationPolicy_var &operator= (const ImplicitActivationPolicy_var &); ImplicitActivationPolicy_ptr operator-> (void) const; - + operator const ImplicitActivationPolicy_ptr &() const; operator ImplicitActivationPolicy_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn ImplicitActivationPolicy_ptr in (void) const; ImplicitActivationPolicy_ptr &inout (void); ImplicitActivationPolicy_ptr &out (void); ImplicitActivationPolicy_ptr _retn (void); ImplicitActivationPolicy_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static ImplicitActivationPolicy_ptr duplicate (ImplicitActivationPolicy_ptr); @@ -1093,7 +1093,7 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy static ImplicitActivationPolicy_ptr nil (void); static ImplicitActivationPolicy_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: ImplicitActivationPolicy_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -1120,7 +1120,7 @@ class TAO_PortableServer_Export IdAssignmentPolicy: public virtual CORBA::Policy operator ImplicitActivationPolicy_ptr &(); ImplicitActivationPolicy_ptr &ptr (void); ImplicitActivationPolicy_ptr operator-> (void); - + private: ImplicitActivationPolicy_ptr &ptr_; }; @@ -1144,12 +1144,12 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: static ImplicitActivationPolicy_ptr _duplicate (ImplicitActivationPolicy_ptr obj); static ImplicitActivationPolicy_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ImplicitActivationPolicy_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ImplicitActivationPolicy_ptr _nil (void) @@ -1158,7 +1158,7 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: } virtual PortableServer::ImplicitActivationPolicyValue value ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1166,12 +1166,12 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: ImplicitActivationPolicy (); - + virtual ~ImplicitActivationPolicy (void); private: ImplicitActivationPolicy (const ImplicitActivationPolicy &); @@ -1186,7 +1186,7 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: enum ServantRetentionPolicyValue { RETAIN, - NON_RETAIN + NON_RETAIN }; #if (TAO_HAS_MINIMUM_POA == 0) @@ -1200,7 +1200,7 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: class ServantRetentionPolicy; typedef ServantRetentionPolicy *ServantRetentionPolicy_ptr; - + #endif /* end #if !defined */ @@ -1211,23 +1211,23 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: { public: ServantRetentionPolicy_var (void); // default constructor - ServantRetentionPolicy_var (ServantRetentionPolicy_ptr p) : ptr_ (p) {} + ServantRetentionPolicy_var (ServantRetentionPolicy_ptr p) : ptr_ (p) {} ServantRetentionPolicy_var (const ServantRetentionPolicy_var &); // copy constructor ~ServantRetentionPolicy_var (void); // destructor - + ServantRetentionPolicy_var &operator= (ServantRetentionPolicy_ptr); ServantRetentionPolicy_var &operator= (const ServantRetentionPolicy_var &); ServantRetentionPolicy_ptr operator-> (void) const; - + operator const ServantRetentionPolicy_ptr &() const; operator ServantRetentionPolicy_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn ServantRetentionPolicy_ptr in (void) const; ServantRetentionPolicy_ptr &inout (void); ServantRetentionPolicy_ptr &out (void); ServantRetentionPolicy_ptr _retn (void); ServantRetentionPolicy_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static ServantRetentionPolicy_ptr duplicate (ServantRetentionPolicy_ptr); @@ -1235,7 +1235,7 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: static ServantRetentionPolicy_ptr nil (void); static ServantRetentionPolicy_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: ServantRetentionPolicy_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -1262,7 +1262,7 @@ class TAO_PortableServer_Export ImplicitActivationPolicy: public virtual CORBA:: operator ServantRetentionPolicy_ptr &(); ServantRetentionPolicy_ptr &ptr (void); ServantRetentionPolicy_ptr operator-> (void); - + private: ServantRetentionPolicy_ptr &ptr_; }; @@ -1286,12 +1286,12 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po static ServantRetentionPolicy_ptr _duplicate (ServantRetentionPolicy_ptr obj); static ServantRetentionPolicy_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantRetentionPolicy_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantRetentionPolicy_ptr _nil (void) @@ -1300,7 +1300,7 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po } virtual PortableServer::ServantRetentionPolicyValue value ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1308,12 +1308,12 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: ServantRetentionPolicy (); - + virtual ~ServantRetentionPolicy (void); private: ServantRetentionPolicy (const ServantRetentionPolicy &); @@ -1329,7 +1329,7 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po { USE_ACTIVE_OBJECT_MAP_ONLY, USE_DEFAULT_SERVANT, - USE_SERVANT_MANAGER + USE_SERVANT_MANAGER }; #if (TAO_HAS_MINIMUM_POA == 0) @@ -1343,7 +1343,7 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po class RequestProcessingPolicy; typedef RequestProcessingPolicy *RequestProcessingPolicy_ptr; - + #endif /* end #if !defined */ @@ -1354,23 +1354,23 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po { public: RequestProcessingPolicy_var (void); // default constructor - RequestProcessingPolicy_var (RequestProcessingPolicy_ptr p) : ptr_ (p) {} + RequestProcessingPolicy_var (RequestProcessingPolicy_ptr p) : ptr_ (p) {} RequestProcessingPolicy_var (const RequestProcessingPolicy_var &); // copy constructor ~RequestProcessingPolicy_var (void); // destructor - + RequestProcessingPolicy_var &operator= (RequestProcessingPolicy_ptr); RequestProcessingPolicy_var &operator= (const RequestProcessingPolicy_var &); RequestProcessingPolicy_ptr operator-> (void) const; - + operator const RequestProcessingPolicy_ptr &() const; operator RequestProcessingPolicy_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn RequestProcessingPolicy_ptr in (void) const; RequestProcessingPolicy_ptr &inout (void); RequestProcessingPolicy_ptr &out (void); RequestProcessingPolicy_ptr _retn (void); RequestProcessingPolicy_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static RequestProcessingPolicy_ptr duplicate (RequestProcessingPolicy_ptr); @@ -1378,7 +1378,7 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po static RequestProcessingPolicy_ptr nil (void); static RequestProcessingPolicy_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: RequestProcessingPolicy_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -1405,7 +1405,7 @@ class TAO_PortableServer_Export ServantRetentionPolicy: public virtual CORBA::Po operator RequestProcessingPolicy_ptr &(); RequestProcessingPolicy_ptr &ptr (void); RequestProcessingPolicy_ptr operator-> (void); - + private: RequestProcessingPolicy_ptr &ptr_; }; @@ -1429,12 +1429,12 @@ class TAO_PortableServer_Export RequestProcessingPolicy: public virtual CORBA::P static RequestProcessingPolicy_ptr _duplicate (RequestProcessingPolicy_ptr obj); static RequestProcessingPolicy_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static RequestProcessingPolicy_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static RequestProcessingPolicy_ptr _nil (void) @@ -1443,7 +1443,7 @@ class TAO_PortableServer_Export RequestProcessingPolicy: public virtual CORBA::P } virtual PortableServer::RequestProcessingPolicyValue value ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1451,12 +1451,12 @@ class TAO_PortableServer_Export RequestProcessingPolicy: public virtual CORBA::P )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: RequestProcessingPolicy (); - + virtual ~RequestProcessingPolicy (void); private: RequestProcessingPolicy (const RequestProcessingPolicy &); @@ -1474,7 +1474,7 @@ class TAO_PortableServer_Export RequestProcessingPolicy: public virtual CORBA::P class POAManager; typedef POAManager *POAManager_ptr; - + #endif /* end #if !defined */ @@ -1485,23 +1485,23 @@ class TAO_PortableServer_Export RequestProcessingPolicy: public virtual CORBA::P { public: POAManager_var (void); // default constructor - POAManager_var (POAManager_ptr p) : ptr_ (p) {} + POAManager_var (POAManager_ptr p) : ptr_ (p) {} POAManager_var (const POAManager_var &); // copy constructor ~POAManager_var (void); // destructor - + POAManager_var &operator= (POAManager_ptr); POAManager_var &operator= (const POAManager_var &); POAManager_ptr operator-> (void) const; - + operator const POAManager_ptr &() const; operator POAManager_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn POAManager_ptr in (void) const; POAManager_ptr &inout (void); POAManager_ptr &out (void); POAManager_ptr _retn (void); POAManager_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static POAManager_ptr duplicate (POAManager_ptr); @@ -1509,7 +1509,7 @@ class TAO_PortableServer_Export RequestProcessingPolicy: public virtual CORBA::P static POAManager_ptr nil (void); static POAManager_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: POAManager_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -1536,7 +1536,7 @@ class TAO_PortableServer_Export RequestProcessingPolicy: public virtual CORBA::P operator POAManager_ptr &(); POAManager_ptr &ptr (void); POAManager_ptr operator-> (void); - + private: POAManager_ptr &ptr_; }; @@ -1560,12 +1560,12 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object static POAManager_ptr _duplicate (POAManager_ptr obj); static POAManager_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static POAManager_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static POAManager_ptr _nil (void) @@ -1583,27 +1583,27 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object AdapterInactive (void); // Default constructor. - + AdapterInactive (const AdapterInactive &); // Copy constructor. - + ~AdapterInactive (void); // Destructor. - + AdapterInactive &operator= (const AdapterInactive &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static AdapterInactive *_downcast (CORBA::Exception *); @@ -1619,11 +1619,11 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object HOLDING, ACTIVE, DISCARDING, - INACTIVE + INACTIVE }; typedef State &State_out; virtual void activate ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1635,7 +1635,7 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object virtual void hold_requests ( CORBA::Boolean wait_for_completion, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1645,7 +1645,7 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object virtual void discard_requests ( CORBA::Boolean wait_for_completion, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1656,7 +1656,7 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object virtual void deactivate ( CORBA::Boolean etherealize_objects, CORBA::Boolean wait_for_completion, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1667,7 +1667,7 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object #endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual PortableServer::POAManager::State get_state ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1675,12 +1675,12 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: POAManager (); - + virtual ~POAManager (void); private: POAManager (const POAManager &); @@ -1698,7 +1698,7 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object class AdapterActivator; typedef AdapterActivator *AdapterActivator_ptr; - + #endif /* end #if !defined */ @@ -1709,23 +1709,23 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object { public: AdapterActivator_var (void); // default constructor - AdapterActivator_var (AdapterActivator_ptr p) : ptr_ (p) {} + AdapterActivator_var (AdapterActivator_ptr p) : ptr_ (p) {} AdapterActivator_var (const AdapterActivator_var &); // copy constructor ~AdapterActivator_var (void); // destructor - + AdapterActivator_var &operator= (AdapterActivator_ptr); AdapterActivator_var &operator= (const AdapterActivator_var &); AdapterActivator_ptr operator-> (void) const; - + operator const AdapterActivator_ptr &() const; operator AdapterActivator_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn AdapterActivator_ptr in (void) const; AdapterActivator_ptr &inout (void); AdapterActivator_ptr &out (void); AdapterActivator_ptr _retn (void); AdapterActivator_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static AdapterActivator_ptr duplicate (AdapterActivator_ptr); @@ -1733,7 +1733,7 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object static AdapterActivator_ptr nil (void); static AdapterActivator_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: AdapterActivator_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -1760,7 +1760,7 @@ class TAO_PortableServer_Export POAManager : public virtual CORBA_Object operator AdapterActivator_ptr &(); AdapterActivator_ptr &ptr (void); AdapterActivator_ptr operator-> (void); - + private: AdapterActivator_ptr &ptr_; }; @@ -1784,12 +1784,12 @@ class TAO_PortableServer_Export AdapterActivator : public virtual CORBA_Object static AdapterActivator_ptr _duplicate (AdapterActivator_ptr obj); static AdapterActivator_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static AdapterActivator_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static AdapterActivator_ptr _nil (void) @@ -1800,7 +1800,7 @@ class TAO_PortableServer_Export AdapterActivator : public virtual CORBA_Object virtual CORBA::Boolean unknown_adapter ( PortableServer::POA_ptr parent, const char * name, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -1808,12 +1808,12 @@ class TAO_PortableServer_Export AdapterActivator : public virtual CORBA_Object )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: AdapterActivator (); - + virtual ~AdapterActivator (void); private: AdapterActivator (const AdapterActivator &); @@ -1829,7 +1829,7 @@ class TAO_PortableServer_Export AdapterActivator : public virtual CORBA_Object class ServantManager; typedef ServantManager *ServantManager_ptr; - + #endif /* end #if !defined */ @@ -1840,23 +1840,23 @@ class TAO_PortableServer_Export AdapterActivator : public virtual CORBA_Object { public: ServantManager_var (void); // default constructor - ServantManager_var (ServantManager_ptr p) : ptr_ (p) {} + ServantManager_var (ServantManager_ptr p) : ptr_ (p) {} ServantManager_var (const ServantManager_var &); // copy constructor ~ServantManager_var (void); // destructor - + ServantManager_var &operator= (ServantManager_ptr); ServantManager_var &operator= (const ServantManager_var &); ServantManager_ptr operator-> (void) const; - + operator const ServantManager_ptr &() const; operator ServantManager_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn ServantManager_ptr in (void) const; ServantManager_ptr &inout (void); ServantManager_ptr &out (void); ServantManager_ptr _retn (void); ServantManager_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static ServantManager_ptr duplicate (ServantManager_ptr); @@ -1864,7 +1864,7 @@ class TAO_PortableServer_Export AdapterActivator : public virtual CORBA_Object static ServantManager_ptr nil (void); static ServantManager_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: ServantManager_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -1891,7 +1891,7 @@ class TAO_PortableServer_Export AdapterActivator : public virtual CORBA_Object operator ServantManager_ptr &(); ServantManager_ptr &ptr (void); ServantManager_ptr operator-> (void); - + private: ServantManager_ptr &ptr_; }; @@ -1915,12 +1915,12 @@ class TAO_PortableServer_Export ServantManager : public virtual CORBA_Object static ServantManager_ptr _duplicate (ServantManager_ptr obj); static ServantManager_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantManager_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantManager_ptr _nil (void) @@ -1929,12 +1929,12 @@ class TAO_PortableServer_Export ServantManager : public virtual CORBA_Object } virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: ServantManager (); - + virtual ~ServantManager (void); private: ServantManager (const ServantManager &); @@ -1950,7 +1950,7 @@ class TAO_PortableServer_Export ServantManager : public virtual CORBA_Object class ServantActivator; typedef ServantActivator *ServantActivator_ptr; - + #endif /* end #if !defined */ @@ -1961,23 +1961,23 @@ class TAO_PortableServer_Export ServantManager : public virtual CORBA_Object { public: ServantActivator_var (void); // default constructor - ServantActivator_var (ServantActivator_ptr p) : ptr_ (p) {} + ServantActivator_var (ServantActivator_ptr p) : ptr_ (p) {} ServantActivator_var (const ServantActivator_var &); // copy constructor ~ServantActivator_var (void); // destructor - + ServantActivator_var &operator= (ServantActivator_ptr); ServantActivator_var &operator= (const ServantActivator_var &); ServantActivator_ptr operator-> (void) const; - + operator const ServantActivator_ptr &() const; operator ServantActivator_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn ServantActivator_ptr in (void) const; ServantActivator_ptr &inout (void); ServantActivator_ptr &out (void); ServantActivator_ptr _retn (void); ServantActivator_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static ServantActivator_ptr duplicate (ServantActivator_ptr); @@ -1985,7 +1985,7 @@ class TAO_PortableServer_Export ServantManager : public virtual CORBA_Object static ServantActivator_ptr nil (void); static ServantActivator_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: ServantActivator_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -2012,7 +2012,7 @@ class TAO_PortableServer_Export ServantManager : public virtual CORBA_Object operator ServantActivator_ptr &(); ServantActivator_ptr &ptr (void); ServantActivator_ptr operator-> (void); - + private: ServantActivator_ptr &ptr_; }; @@ -2036,12 +2036,12 @@ class TAO_PortableServer_Export ServantActivator: public virtual ServantManager static ServantActivator_ptr _duplicate (ServantActivator_ptr obj); static ServantActivator_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantActivator_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantActivator_ptr _nil (void) @@ -2078,12 +2078,12 @@ class TAO_PortableServer_Export ServantActivator: public virtual ServantManager )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: ServantActivator (); - + virtual ~ServantActivator (void); private: ServantActivator (const ServantActivator &); @@ -2099,7 +2099,7 @@ class TAO_PortableServer_Export ServantActivator: public virtual ServantManager class ServantLocator; typedef ServantLocator *ServantLocator_ptr; - + #endif /* end #if !defined */ @@ -2110,23 +2110,23 @@ class TAO_PortableServer_Export ServantActivator: public virtual ServantManager { public: ServantLocator_var (void); // default constructor - ServantLocator_var (ServantLocator_ptr p) : ptr_ (p) {} + ServantLocator_var (ServantLocator_ptr p) : ptr_ (p) {} ServantLocator_var (const ServantLocator_var &); // copy constructor ~ServantLocator_var (void); // destructor - + ServantLocator_var &operator= (ServantLocator_ptr); ServantLocator_var &operator= (const ServantLocator_var &); ServantLocator_ptr operator-> (void) const; - + operator const ServantLocator_ptr &() const; operator ServantLocator_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn ServantLocator_ptr in (void) const; ServantLocator_ptr &inout (void); ServantLocator_ptr &out (void); ServantLocator_ptr _retn (void); ServantLocator_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static ServantLocator_ptr duplicate (ServantLocator_ptr); @@ -2134,7 +2134,7 @@ class TAO_PortableServer_Export ServantActivator: public virtual ServantManager static ServantLocator_ptr nil (void); static ServantLocator_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: ServantLocator_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -2161,7 +2161,7 @@ class TAO_PortableServer_Export ServantActivator: public virtual ServantManager operator ServantLocator_ptr &(); ServantLocator_ptr &ptr (void); ServantLocator_ptr operator-> (void); - + private: ServantLocator_ptr &ptr_; }; @@ -2188,12 +2188,12 @@ class TAO_PortableServer_Export ServantLocator: public virtual ServantManager static ServantLocator_ptr _duplicate (ServantLocator_ptr obj); static ServantLocator_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantLocator_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static ServantLocator_ptr _nil (void) @@ -2232,12 +2232,12 @@ class TAO_PortableServer_Export ServantLocator: public virtual ServantManager )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: ServantLocator (); - + virtual ~ServantLocator (void); private: ServantLocator (const ServantLocator &); @@ -2265,12 +2265,12 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object static POA_ptr _duplicate (POA_ptr obj); static POA_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static POA_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static POA_ptr _nil (void) @@ -2288,27 +2288,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object AdapterAlreadyExists (void); // Default constructor. - + AdapterAlreadyExists (const AdapterAlreadyExists &); // Copy constructor. - + ~AdapterAlreadyExists (void); // Destructor. - + AdapterAlreadyExists &operator= (const AdapterAlreadyExists &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static AdapterAlreadyExists *_downcast (CORBA::Exception *); @@ -2329,27 +2329,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object AdapterNonExistent (void); // Default constructor. - + AdapterNonExistent (const AdapterNonExistent &); // Copy constructor. - + ~AdapterNonExistent (void); // Destructor. - + AdapterNonExistent &operator= (const AdapterNonExistent &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static AdapterNonExistent *_downcast (CORBA::Exception *); @@ -2371,33 +2371,33 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object InvalidPolicy (void); // Default constructor. - + InvalidPolicy (const InvalidPolicy &); // Copy constructor. - + ~InvalidPolicy (void); // Destructor. - + InvalidPolicy &operator= (const InvalidPolicy &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static InvalidPolicy *_downcast (CORBA::Exception *); InvalidPolicy ( CORBA::UShort _tao_index ); - + // = TAO extension. static CORBA::Exception *_alloc (void); }; // Exception PortableServer::POA::InvalidPolicy. @@ -2417,27 +2417,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object NoServant (void); // Default constructor. - + NoServant (const NoServant &); // Copy constructor. - + ~NoServant (void); // Destructor. - + NoServant &operator= (const NoServant &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static NoServant *_downcast (CORBA::Exception *); @@ -2460,27 +2460,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object ObjectAlreadyActive (void); // Default constructor. - + ObjectAlreadyActive (const ObjectAlreadyActive &); // Copy constructor. - + ~ObjectAlreadyActive (void); // Destructor. - + ObjectAlreadyActive &operator= (const ObjectAlreadyActive &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static ObjectAlreadyActive *_downcast (CORBA::Exception *); @@ -2501,27 +2501,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object ObjectNotActive (void); // Default constructor. - + ObjectNotActive (const ObjectNotActive &); // Copy constructor. - + ~ObjectNotActive (void); // Destructor. - + ObjectNotActive &operator= (const ObjectNotActive &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static ObjectNotActive *_downcast (CORBA::Exception *); @@ -2542,27 +2542,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object ServantAlreadyActive (void); // Default constructor. - + ServantAlreadyActive (const ServantAlreadyActive &); // Copy constructor. - + ~ServantAlreadyActive (void); // Destructor. - + ServantAlreadyActive &operator= (const ServantAlreadyActive &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static ServantAlreadyActive *_downcast (CORBA::Exception *); @@ -2583,27 +2583,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object ServantNotActive (void); // Default constructor. - + ServantNotActive (const ServantNotActive &); // Copy constructor. - + ~ServantNotActive (void); // Destructor. - + ServantNotActive &operator= (const ServantNotActive &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static ServantNotActive *_downcast (CORBA::Exception *); @@ -2624,27 +2624,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object WrongAdapter (void); // Default constructor. - + WrongAdapter (const WrongAdapter &); // Copy constructor. - + ~WrongAdapter (void); // Destructor. - + WrongAdapter &operator= (const WrongAdapter &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static WrongAdapter *_downcast (CORBA::Exception *); @@ -2665,27 +2665,27 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object WrongPolicy (void); // Default constructor. - + WrongPolicy (const WrongPolicy &); // Copy constructor. - + ~WrongPolicy (void); // Destructor. - + WrongPolicy &operator= (const WrongPolicy &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static WrongPolicy *_downcast (CORBA::Exception *); @@ -2700,7 +2700,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object const char * adapter_name, PortableServer::POAManager_ptr a_POAManager, const CORBA::PolicyList & policies, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2712,7 +2712,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::POA_ptr find_POA ( const char * adapter_name, CORBA::Boolean activate_it, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2723,7 +2723,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual void destroy ( CORBA::Boolean etherealize_objects, CORBA::Boolean wait_for_completion, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2734,7 +2734,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::ThreadPolicy_ptr create_thread_policy ( PortableServer::ThreadPolicyValue value, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2745,7 +2745,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::LifespanPolicy_ptr create_lifespan_policy ( PortableServer::LifespanPolicyValue value, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2754,7 +2754,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::IdUniquenessPolicy_ptr create_id_uniqueness_policy ( PortableServer::IdUniquenessPolicyValue value, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2763,7 +2763,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::IdAssignmentPolicy_ptr create_id_assignment_policy ( PortableServer::IdAssignmentPolicyValue value, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2774,7 +2774,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::ImplicitActivationPolicy_ptr create_implicit_activation_policy ( PortableServer::ImplicitActivationPolicyValue value, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2783,7 +2783,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::ServantRetentionPolicy_ptr create_servant_retention_policy ( PortableServer::ServantRetentionPolicyValue value, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2792,7 +2792,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::RequestProcessingPolicy_ptr create_request_processing_policy ( PortableServer::RequestProcessingPolicyValue value, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2802,7 +2802,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object #endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual char * the_name ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2810,7 +2810,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object )) = 0; virtual PortableServer::POA_ptr the_parent ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2818,7 +2818,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object )) = 0; virtual PortableServer::POAList * the_children ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2826,7 +2826,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object )) = 0; virtual PortableServer::POAManager_ptr the_POAManager ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2836,7 +2836,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object #if (TAO_HAS_MINIMUM_POA == 0) virtual PortableServer::AdapterActivator_ptr the_activator ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2845,7 +2845,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual void the_activator ( PortableServer::AdapterActivator_ptr the_activator, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2853,7 +2853,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object )) = 0; virtual PortableServer::ServantManager_ptr get_servant_manager ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2863,7 +2863,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual void set_servant_manager ( PortableServer::ServantManager_ptr imgr, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2872,7 +2872,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object )) = 0; virtual PortableServer::Servant get_servant ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2883,7 +2883,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual void set_servant ( PortableServer::Servant p_servant, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2895,7 +2895,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::ObjectId * activate_object ( PortableServer::Servant p_servant, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2907,7 +2907,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual void activate_object_with_id ( const PortableServer::ObjectId & id, PortableServer::Servant p_servant, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2919,7 +2919,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual void deactivate_object ( const PortableServer::ObjectId & oid, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2930,7 +2930,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual CORBA::Object_ptr create_reference ( const char * intf, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2941,7 +2941,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual CORBA::Object_ptr create_reference_with_id ( const PortableServer::ObjectId & oid, const char * intf, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2951,7 +2951,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::ObjectId * servant_to_id ( PortableServer::Servant p_servant, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2962,7 +2962,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual CORBA::Object_ptr servant_to_reference ( PortableServer::Servant p_servant, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2973,7 +2973,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::Servant reference_to_servant ( CORBA::Object_ptr reference, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2985,7 +2985,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::ObjectId * reference_to_id ( CORBA::Object_ptr reference, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -2996,7 +2996,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual PortableServer::Servant id_to_servant ( const PortableServer::ObjectId & oid, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -3007,7 +3007,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object virtual CORBA::Object_ptr id_to_reference ( const PortableServer::ObjectId & oid, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -3016,13 +3016,21 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object PortableServer::POA::WrongPolicy )) = 0; + virtual CORBA::OctetSeq * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: POA (); - + virtual ~POA (void); private: POA (const POA &); @@ -3038,7 +3046,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object class Current; typedef Current *Current_ptr; - + #endif /* end #if !defined */ @@ -3049,23 +3057,23 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object { public: Current_var (void); // default constructor - Current_var (Current_ptr p) : ptr_ (p) {} + Current_var (Current_ptr p) : ptr_ (p) {} Current_var (const Current_var &); // copy constructor ~Current_var (void); // destructor - + Current_var &operator= (Current_ptr); Current_var &operator= (const Current_var &); Current_ptr operator-> (void) const; - + operator const Current_ptr &() const; operator Current_ptr &(); - // in, inout, out, _retn + // in, inout, out, _retn Current_ptr in (void) const; Current_ptr &inout (void); Current_ptr &out (void); Current_ptr _retn (void); Current_ptr ptr (void) const; - + // Hooks used by template sequence and object manager classes // for non-defined forward declared interfaces. static Current_ptr duplicate (Current_ptr); @@ -3073,7 +3081,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object static Current_ptr nil (void); static Current_ptr narrow (CORBA::Object *, CORBA::Environment &); static CORBA::Object * upcast (void *); - + private: Current_ptr ptr_; // Unimplemented - prevents widening assignment. @@ -3100,7 +3108,7 @@ class TAO_PortableServer_Export POA : public virtual CORBA_Object operator Current_ptr &(); Current_ptr &ptr (void); Current_ptr operator-> (void); - + private: Current_ptr &ptr_; }; @@ -3124,12 +3132,12 @@ class TAO_PortableServer_Export Current: public virtual CORBA::Current static Current_ptr _duplicate (Current_ptr obj); static Current_ptr _narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static Current_ptr _unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); static Current_ptr _nil (void) @@ -3147,27 +3155,27 @@ class TAO_PortableServer_Export Current: public virtual CORBA::Current NoContext (void); // Default constructor. - + NoContext (const NoContext &); // Copy constructor. - + ~NoContext (void); // Destructor. - + NoContext &operator= (const NoContext &); - + virtual void _raise (void); virtual void _tao_encode ( TAO_OutputCDR &, CORBA::Environment & ) const; - + virtual void _tao_decode ( TAO_InputCDR &, CORBA::Environment & ); - + static NoContext *_downcast (CORBA::Exception *); @@ -3179,7 +3187,7 @@ class TAO_PortableServer_Export Current: public virtual CORBA::Current #endif /* end #if !defined */ virtual PortableServer::POA_ptr get_POA ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -3188,7 +3196,7 @@ class TAO_PortableServer_Export Current: public virtual CORBA::Current )) = 0; virtual PortableServer::ObjectId * get_object_id ( - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -3197,12 +3205,12 @@ class TAO_PortableServer_Export Current: public virtual CORBA::Current )) = 0; virtual void *_tao_QueryInterface (ptr_arith_t type); - + virtual const char* _interface_repository_id (void) const; protected: Current (); - + virtual ~Current (void); private: Current (const Current &); @@ -3286,25 +3294,25 @@ TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableSer #if (TAO_HAS_MINIMUM_POA == 0) -TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ThreadPolicyValue &); // +TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ThreadPolicyValue &); // TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::ThreadPolicyValue &); #endif /* TAO_HAS_MINIMUM_POA == 0 */ -TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::LifespanPolicyValue &); // +TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::LifespanPolicyValue &); // TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::LifespanPolicyValue &); -TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::IdUniquenessPolicyValue &); // +TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::IdUniquenessPolicyValue &); // TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::IdUniquenessPolicyValue &); -TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::IdAssignmentPolicyValue &); // +TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::IdAssignmentPolicyValue &); // TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::IdAssignmentPolicyValue &); #if (TAO_HAS_MINIMUM_POA == 0) -TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ImplicitActivationPolicyValue &); // +TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ImplicitActivationPolicyValue &); // TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::ImplicitActivationPolicyValue &); -TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ServantRetentionPolicyValue &); // +TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ServantRetentionPolicyValue &); // TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::ServantRetentionPolicyValue &); -TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::RequestProcessingPolicyValue &); // +TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::RequestProcessingPolicyValue &); // TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::RequestProcessingPolicyValue &); #endif /* TAO_HAS_MINIMUM_POA == 0 */ diff --git a/TAO/tao/PortableServer/RT_Acceptor_Filters.cpp b/TAO/tao/PortableServer/RT_Acceptor_Filters.cpp index eb13ffe42f9..1d0ebcfd6db 100644 --- a/TAO/tao/PortableServer/RT_Acceptor_Filters.cpp +++ b/TAO/tao/PortableServer/RT_Acceptor_Filters.cpp @@ -36,8 +36,10 @@ fill_mprofile (const TAO_ObjectKey &object_key, ++acceptor) if ((*acceptor)->tag () == protocol_type && this->validate_acceptor (*acceptor) - && (*acceptor)->create_endpoint_for_mprofile (object_key, - mprofile) == -1) + && (*acceptor)->create_mprofile (object_key, + mprofile, + 1 /* >=1 endpoints per profile */) + == -1) return -1; } diff --git a/TAO/tao/RT_Invocation_Endpoint_Selectors.cpp b/TAO/tao/RT_Invocation_Endpoint_Selectors.cpp index 33028c6ce18..ecb52fe077c 100644 --- a/TAO/tao/RT_Invocation_Endpoint_Selectors.cpp +++ b/TAO/tao/RT_Invocation_Endpoint_Selectors.cpp @@ -149,10 +149,7 @@ TAO_Priority_Endpoint_Selector::select_endpoint (TAO_GIOP_Invocation *invocation // If we get here, we completely failed to find an endpoint selector // that we know how to use, so throw an exception. - ACE_THROW (CORBA::TRANSIENT ( - CORBA_SystemException::_tao_minor_code ( - TAO_INVOCATION_CONNECT_MINOR_CODE, - errno), + ACE_THROW (CORBA::TRANSIENT (TAO_OMG_VMCID | 2, CORBA::COMPLETED_NO)); } @@ -332,10 +329,7 @@ TAO_Bands_Endpoint_Selector::select_endpoint (TAO_GIOP_Invocation *invocation, // If we get here, we completely failed to find an endpoint selector // that we know how to use, so throw an exception. - ACE_THROW (CORBA::TRANSIENT ( - CORBA_SystemException::_tao_minor_code ( - TAO_INVOCATION_CONNECT_MINOR_CODE, - errno), + ACE_THROW (CORBA::TRANSIENT (TAO_OMG_VMCID | 2, CORBA::COMPLETED_NO)); @@ -497,10 +491,7 @@ TAO_Protocol_Endpoint_Selector::select_endpoint (TAO_GIOP_Invocation // If we get here, we completely failed to find an endpoint selector // that we know how to use, so throw an exception. - ACE_THROW (CORBA::TRANSIENT ( - CORBA_SystemException::_tao_minor_code ( - TAO_INVOCATION_CONNECT_MINOR_CODE, - errno), + ACE_THROW (CORBA::TRANSIENT (TAO_OMG_VMCID | 2, CORBA::COMPLETED_NO)); @@ -749,10 +740,7 @@ TAO_Client_Priority_Policy_Selector::select_endpoint (TAO_GIOP_Invocation ACE_THROW (CORBA::INV_POLICY ()); } - ACE_THROW (CORBA::TRANSIENT ( - CORBA_SystemException::_tao_minor_code ( - TAO_INVOCATION_CONNECT_MINOR_CODE, - errno), + ACE_THROW (CORBA::TRANSIENT (TAO_OMG_VMCID | 2, CORBA::COMPLETED_NO)); diff --git a/TAO/tao/Strategies/SHMIOP_Acceptor.cpp b/TAO/tao/Strategies/SHMIOP_Acceptor.cpp index 77f19b8a432..b8f1604801f 100644 --- a/TAO/tao/Strategies/SHMIOP_Acceptor.cpp +++ b/TAO/tao/Strategies/SHMIOP_Acceptor.cpp @@ -73,7 +73,20 @@ TAO_SHMIOP_Acceptor::~TAO_SHMIOP_Acceptor (void) // 3) Create multiple profiles for wild carded endpoints (may be multiple // interfaces over which we can receive requests. Thus a profile // must be made for each one. - +int +TAO_SHMIOP_Acceptor::create_mprofile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile, + CORBA::Boolean share_profile) +{ + // Check if multiple endpoints should be put in one profile or + // if they should be spread across multiple profiles. + if (share_profile == 1) + return this->create_shared_profile (object_key, + mprofile); + else + return this->create_profile (object_key, + mprofile); +} int TAO_SHMIOP_Acceptor::create_profile (const TAO_ObjectKey &object_key, @@ -120,34 +133,8 @@ TAO_SHMIOP_Acceptor::create_profile (const TAO_ObjectKey &object_key, } int -TAO_SHMIOP_Acceptor::create_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) -{ - // If RT_CORBA is enabled, only one SHMIOP profile is created per - // <mprofile> and all SHMIOP endpoints are added into that profile. - // If RT_CORBA is not enabled, we create a separate profile for each - // endpoint. - -#if (TAO_HAS_RT_CORBA == 1) - ACE_UNUSED_ARG (object_key); - ACE_UNUSED_ARG (mprofile); - - // @@ RTCORBA_SUBSETTING - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("This method is deprecated for RTCORBA, \ncreate_endpoint_for_mprofile should be called instead"))); - // This method should not be called anymore - return -1; - -#else - - return create_profile (object_key, mprofile); - -#endif /* TAO_HAS_RT_CORBA == 1 */ -} - -int -TAO_SHMIOP_Acceptor::create_endpoint_for_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) +TAO_SHMIOP_Acceptor::create_shared_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile) { TAO_Profile *pfile = 0; TAO_SHMIOP_Profile *shmiop_profile = 0; diff --git a/TAO/tao/Strategies/SHMIOP_Acceptor.h b/TAO/tao/Strategies/SHMIOP_Acceptor.h index 803521f4aef..a49d6ceee22 100644 --- a/TAO/tao/Strategies/SHMIOP_Acceptor.h +++ b/TAO/tao/Strategies/SHMIOP_Acceptor.h @@ -43,7 +43,7 @@ class TAO_Strategies_Export TAO_SHMIOP_Acceptor : public TAO_Acceptor // TAO_SHMIOP_Acceptor // // = DESCRIPTION - // The IIOP-specific bridge class for the concrete acceptor. + // The SHMIOP-specific bridge class for the concrete acceptor. // public: TAO_SHMIOP_Acceptor (CORBA::Boolean flag = 0); @@ -70,15 +70,8 @@ public: const char *options = 0); virtual int close (void); virtual int create_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile); - - virtual int create_endpoint_for_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile); - // Rather than creating a separate profile for each endpoint, this - // version of <create_mprofile> method adds all endpoints to a - // single SHMIOP profile, i.e., <mprofile> will not contain more than - // one SHMIOP_Profile, no matter how many acceptors there are. - + TAO_MProfile &mprofile, + CORBA::Boolean share_profile); virtual int is_collocated (const TAO_Endpoint* endpoint); virtual CORBA::ULong endpoint_count (void); @@ -101,7 +94,11 @@ private: int create_profile (const TAO_ObjectKey &object_key, TAO_MProfile &mprofile); // Create a SHMIOP profile representing this acceptor. Factors out - // common functionality of <create_mprofile> and <create_rt_mprofile>. + // common functionality of <create_mprofile> and <create_shared_mprofile>. + + int create_shared_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile); + // Add the endpoints on this acceptor to a shared profile. protected: ACE_CString host_; diff --git a/TAO/tao/Strategies/UIOP_Acceptor.cpp b/TAO/tao/Strategies/UIOP_Acceptor.cpp index adee6ab560e..a41f51b7133 100644 --- a/TAO/tao/Strategies/UIOP_Acceptor.cpp +++ b/TAO/tao/Strategies/UIOP_Acceptor.cpp @@ -84,6 +84,21 @@ TAO_UIOP_Acceptor::~TAO_UIOP_Acceptor (void) } int +TAO_UIOP_Acceptor::create_mprofile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile, + CORBA::Boolean share_profile) +{ + // Check if multiple endpoints should be put in one profile or + // if they should be spread across multiple profiles. + if (share_profile == 1) + return this->create_shared_profile (object_key, + mprofile); + else + return this->create_profile (object_key, + mprofile); +} + +int TAO_UIOP_Acceptor::create_profile (const TAO_ObjectKey &object_key, TAO_MProfile &mprofile) { @@ -128,33 +143,8 @@ TAO_UIOP_Acceptor::create_profile (const TAO_ObjectKey &object_key, } int -TAO_UIOP_Acceptor::create_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) -{ -#if (TAO_HAS_RT_CORBA == 1) - ACE_UNUSED_ARG (object_key); - ACE_UNUSED_ARG (mprofile); - - // @@ RTCORBA_SUBSETTING - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("This method is deprecated for RTCORBA, \ncreate_endpoint_for_mprofile should be called instead"))); - // This method should not be called anymore - return -1; - -#else - // If RT_CORBA is enabled, only one UIOP profile is created per - // <mprofile>, and all UIOP endpoints are added into that profile. - // If RT_CORBA is not enabled, we create a separate profile for each - // endpoint. - - return create_profile (object_key, mprofile); -#endif /* TAO_HAS_RT_CORBA == 1 */ - -} - -int -TAO_UIOP_Acceptor::create_endpoint_for_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile) +TAO_UIOP_Acceptor::create_shared_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile) { TAO_Profile *pfile = 0; TAO_UIOP_Profile *uiop_profile = 0; diff --git a/TAO/tao/Strategies/UIOP_Acceptor.h b/TAO/tao/Strategies/UIOP_Acceptor.h index 7188cff9bd7..186b3cad00b 100644 --- a/TAO/tao/Strategies/UIOP_Acceptor.h +++ b/TAO/tao/Strategies/UIOP_Acceptor.h @@ -75,15 +75,8 @@ public: const char *options = 0); virtual int close (void); virtual int create_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile); - - virtual int create_endpoint_for_mprofile(const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile); - - // Rather than creating a separate profile for each endpoint, this - // version of <create_mprofile> method adds all endpoints to a - // single UIOP profile, i.e., <mprofile> will not contain more than - // one UIOP_Profile, no matter how many acceptors there are. + TAO_MProfile &mprofile, + CORBA::Boolean share_profile); virtual int is_collocated (const TAO_Endpoint* endpoint); virtual CORBA::ULong endpoint_count (void); @@ -105,12 +98,16 @@ private: // Obtains uiop properties that must be used by this acceptor, i.e., // initializes <uiop_properties_>. - int create_profile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile); + int create_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile); // Create a UIOP profile representing this acceptor. This method // factors out common functionality of <create_mprofile> and // <create_endpoint_for_mprofile>. + int create_shared_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile); + // Add the endpoints on this acceptor to a shared profile. + private: TAO_UIOP_BASE_ACCEPTOR base_acceptor_; // the concrete acceptor, as a pointer to its base class. diff --git a/TAO/tao/corbafwd.h b/TAO/tao/corbafwd.h index 57269e7258a..71b6fea64cf 100644 --- a/TAO/tao/corbafwd.h +++ b/TAO/tao/corbafwd.h @@ -1711,24 +1711,24 @@ TAO_NAMESPACE_CLOSE // end of class (namespace) CORBA // T A 0 location errno // Location encoding: 5 bits, after the errno encoding. -#define TAO_INVOCATION_CONNECT_MINOR_CODE (0x01U << 7) -#define TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE (0x02U << 7) -#define TAO_INVOCATION_SEND_REQUEST_MINOR_CODE (0x03U << 7) -#define TAO_POA_DISCARDING (0x04U << 7) -#define TAO_POA_HOLDING (0x05U << 7) -#define TAO_UNHANDLED_SERVER_CXX_EXCEPTION (0x06U << 7) -#define TAO_INVOCATION_RECV_REQUEST_MINOR_CODE (0x07U << 7) -#define TAO_CONNECTOR_REGISTRY_NO_USABLE_PROTOCOL (0x08U << 7) -#define TAO_MPROFILE_CREATION_ERROR (0x09U << 7) -#define TAO_TIMEOUT_CONNECT_MINOR_CODE (0x0AU << 7) -#define TAO_TIMEOUT_SEND_MINOR_CODE (0x0BU << 7) -#define TAO_TIMEOUT_RECV_MINOR_CODE (0x0CU << 7) -#define TAO_IMPLREPO_MINOR_CODE (0x0DU << 7) -#define TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE (0x0EU << 7) -#define TAO_ORB_CORE_INIT_LOCATION_CODE (0x0FU << 7) -#define TAO_POLICY_NARROW_CODE (0x10U << 7) -#define TAO_GUARD_FAILURE (0x11U << 7) -#define TAO_POA_BEING_DESTROYED (0x12U << 7) +#define TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE (0x01U << 7) +#define TAO_INVOCATION_SEND_REQUEST_MINOR_CODE (0x02U << 7) +#define TAO_POA_DISCARDING (0x03U << 7) +#define TAO_POA_HOLDING (0x04U << 7) +#define TAO_UNHANDLED_SERVER_CXX_EXCEPTION (0x05U << 7) +#define TAO_INVOCATION_RECV_REQUEST_MINOR_CODE (0x06U << 7) +#define TAO_CONNECTOR_REGISTRY_NO_USABLE_PROTOCOL (0x07U << 7) +#define TAO_MPROFILE_CREATION_ERROR (0x08U << 7) +#define TAO_TIMEOUT_CONNECT_MINOR_CODE (0x09U << 7) +#define TAO_TIMEOUT_SEND_MINOR_CODE (0x0AU << 7) +#define TAO_TIMEOUT_RECV_MINOR_CODE (0x0BU << 7) +#define TAO_IMPLREPO_MINOR_CODE (0x0CU << 7) +#define TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE (0x0DU << 7) +#define TAO_ORB_CORE_INIT_LOCATION_CODE (0x0EU << 7) +#define TAO_POLICY_NARROW_CODE (0x0FU << 7) +#define TAO_GUARD_FAILURE (0x10U << 7) +#define TAO_POA_BEING_DESTROYED (0x11U << 7) +#define TAO_POA_INACTIVE (0x12U << 7) // *Don't* use TAO_<location>_MINOR_CODE greater than 0x1FU! // errno encoding: bottom 7 bits. diff --git a/TAO/tao/orb.idl b/TAO/tao/orb.idl index a7a16b9f9bb..489cb6026ad 100644 --- a/TAO/tao/orb.idl +++ b/TAO/tao/orb.idl @@ -1,3 +1,5 @@ +// -*- IDL -*- + // $Id$ // Included for compatibility with the CORBA 2 specification. @@ -30,6 +32,13 @@ module CORBA SYSTEM_EXCEPTION }; + enum ParameterMode + { + PARAM_IN, + PARAM_OUT, + PARAM_INOUT + }; + interface Request; interface NVList; |