diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-06-20 06:40:22 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-06-20 06:40:22 +0000 |
commit | 4b95cb18b5a3d57ce08a5a3bc6ed454eaa5f7eea (patch) | |
tree | faeda976278673ce1998fff68ddc936ad5f0853d /TAO/tao/PortableServer | |
parent | 22848a06dc6da702b044c5d8f0f0779e102c1b5f (diff) | |
download | ATCD-4b95cb18b5a3d57ce08a5a3bc6ed454eaa5f7eea.tar.gz |
ChangeLogTag: Mon Jun 19 12:11:09 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/PortableServer')
34 files changed, 482 insertions, 309 deletions
diff --git a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp index 1e6990e906a..5fa5e197343 100644 --- a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp +++ b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp @@ -11,7 +11,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -<<<<<<< Fixed_Array_SArgument_T.cpp template<typename S_forany, template <typename> class Insert_Policy> CORBA::Boolean diff --git a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.cpp b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.cpp index 2fc65cd99cf..66e53e98988 100644 --- a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.cpp +++ b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.cpp @@ -12,7 +12,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::In_Fixed_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR & cdr) { @@ -22,12 +22,12 @@ TAO::In_Fixed_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR & cdr) #if TAO_HAS_INTERCEPTORS == 1 template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::In_Fixed_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_); + Insert_Policy<S>::any_insert (any, this->x_); } #endif /* TAO_HAS_INTERCEPTORS */ @@ -35,7 +35,7 @@ TAO::In_Fixed_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( // =========================================================== template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -43,7 +43,7 @@ TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) } template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::demarshal ( TAO_InputCDR & cdr) @@ -54,12 +54,12 @@ TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::demarshal ( #if TAO_HAS_INTERCEPTORS == 1 template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_); + Insert_Policy<S>::any_insert (any, this->x_); } #endif /* TAO_HAS_INTERCEPTORS */ @@ -67,7 +67,7 @@ TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( // ============================================================== template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Out_Fixed_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -77,12 +77,12 @@ TAO::Out_Fixed_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) #if TAO_HAS_INTERCEPTORS == 1 template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::Out_Fixed_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_); + Insert_Policy<S>::any_insert (any, this->x_); } #endif /* TAO_HAS_INTERCEPTORS */ @@ -90,7 +90,7 @@ TAO::Out_Fixed_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( // ============================================================ template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Ret_Fixed_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -100,12 +100,12 @@ TAO::Ret_Fixed_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) #if TAO_HAS_INTERCEPTORS == 1 template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::Ret_Fixed_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_); + Insert_Policy<S>::any_insert (any, this->x_); } #endif /* TAO_HAS_INTERCEPTORS */ diff --git a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h index eadf9ce3f2b..83e2481916d 100644 --- a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h +++ b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h @@ -36,8 +36,8 @@ namespace TAO * Skeleton class template for operation "IN" arguments of fixed * size IDL types. */ - template<typename S, typename Insert_Policy> - class In_Fixed_Size_SArgument_T : public InArgument, private Insert_Policy + template<typename S, template <typename> class Insert_Policy> + class In_Fixed_Size_SArgument_T : public InArgument { public: @@ -75,8 +75,8 @@ namespace TAO * @brief Template class for INOUT skeleton arg of fixed size IDL types. * */ - template<typename S, typename Insert_Policy> - class Inout_Fixed_Size_SArgument_T : public InoutArgument, private Insert_Policy + template<typename S, template <typename> class Insert_Policy> + class Inout_Fixed_Size_SArgument_T : public InoutArgument { public: @@ -114,8 +114,8 @@ namespace TAO * @brief Template class for OUT skeleton argument of fixed size IDL types. * */ - template<typename S, typename Insert_Policy> - class Out_Fixed_Size_SArgument_T : public OutArgument, private Insert_Policy + template<typename S, template <typename> class Insert_Policy> + class Out_Fixed_Size_SArgument_T : public OutArgument { public: @@ -153,8 +153,8 @@ namespace TAO * @brief Template class for return skeleton value of fixed size IDL types. * */ - template<typename S, typename Insert_Policy> - class Ret_Fixed_Size_SArgument_T : public RetArgument, private Insert_Policy + template<typename S, template <typename> class Insert_Policy> + class Ret_Fixed_Size_SArgument_T : public RetArgument { public: @@ -192,7 +192,7 @@ namespace TAO * @brief Template class for argument traits of fixed size IDL types. * */ - template<typename T, typename Insert_Policy> + template<typename T, template <typename> class Insert_Policy> struct Fixed_Size_SArg_Traits_T { typedef T ret_type; diff --git a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.inl b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.inl index 3a265297105..4c6288a4954 100644 --- a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.inl +++ b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.inl @@ -5,7 +5,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S const & TAO::In_Fixed_Size_SArgument_T<S,Insert_Policy>::arg (void) const @@ -16,7 +16,7 @@ TAO::In_Fixed_Size_SArgument_T<S,Insert_Policy>::arg (void) const // ========================================================================== template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>:: Inout_Fixed_Size_SArgument_T (void) @@ -24,7 +24,7 @@ Inout_Fixed_Size_SArgument_T (void) } template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S & TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::arg (void) @@ -35,7 +35,7 @@ TAO::Inout_Fixed_Size_SArgument_T<S,Insert_Policy>::arg (void) // ========================================================================== template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE TAO::Out_Fixed_Size_SArgument_T<S, Insert_Policy>:: @@ -43,7 +43,7 @@ Out_Fixed_Size_SArgument_T (void) {} template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S & TAO::Out_Fixed_Size_SArgument_T<S,Insert_Policy>::arg (void) @@ -54,13 +54,13 @@ TAO::Out_Fixed_Size_SArgument_T<S,Insert_Policy>::arg (void) // ========================================================================== template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE TAO::Ret_Fixed_Size_SArgument_T<S,Insert_Policy>::Ret_Fixed_Size_SArgument_T (void) {} template<typename S, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S & TAO::Ret_Fixed_Size_SArgument_T<S,Insert_Policy>::arg (void) diff --git a/TAO/tao/PortableServer/IdAssignmentPolicy.cpp b/TAO/tao/PortableServer/IdAssignmentPolicy.cpp index f3744823ab9..7d036f83c72 100644 --- a/TAO/tao/PortableServer/IdAssignmentPolicy.cpp +++ b/TAO/tao/PortableServer/IdAssignmentPolicy.cpp @@ -5,6 +5,8 @@ ACE_RCSID (PortableServer, IdAssignmentPolicy, "$Id$") +#if !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO @@ -65,3 +67,5 @@ namespace TAO } TAO_END_VERSIONED_NAMESPACE_DECL + +#endif diff --git a/TAO/tao/PortableServer/IdAssignmentPolicy.h b/TAO/tao/PortableServer/IdAssignmentPolicy.h index c8c6d9f9cf3..83cec156f2c 100644 --- a/TAO/tao/PortableServer/IdAssignmentPolicy.h +++ b/TAO/tao/PortableServer/IdAssignmentPolicy.h @@ -30,6 +30,8 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ +#if !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO @@ -69,6 +71,8 @@ namespace TAO TAO_END_VERSIONED_NAMESPACE_DECL +#endif + #if defined(_MSC_VER) #pragma warning(pop) #endif /* _MSC_VER */ diff --git a/TAO/tao/PortableServer/IdAssignmentPolicy.pidl b/TAO/tao/PortableServer/IdAssignmentPolicy.pidl index 123adc4e558..af99fc0469c 100644 --- a/TAO/tao/PortableServer/IdAssignmentPolicy.pidl +++ b/TAO/tao/PortableServer/IdAssignmentPolicy.pidl @@ -3,15 +3,7 @@ * * $Id$ * - * @brief Pre-compiled IDL source for the PortableServer module. - * - * tao_idl.exe \ - * -o orig -Gp -Gd -Ge 1 -Sci -GA -I$(TAO_ROOT) - * -Wb,export_macro=TAO_PortableServer_Export \ - * -Wb,export_include="portableserver_export.h" \ - * -Wb,pre_include="ace/pre.h" \ - * -Wb,post_include="ace/post.h" \ - * IdAssignmentPolicy.pidl + * @brief PIDL source for the PortableServer module. */ #ifndef _PORTABLESERVER_IDASSIGNMENTPOLICY_IDL_ @@ -31,10 +23,14 @@ module PortableServer SYSTEM_ID }; +#if !defined (CORBA_E_MICRO) + local interface IdAssignmentPolicy : CORBA::Policy { readonly attribute IdAssignmentPolicyValue value; }; + +#endif }; #endif // _PORTABLESERVER_IDASSIGNMENTPOLICY_IDL_ diff --git a/TAO/tao/PortableServer/IdUniquenessPolicy.cpp b/TAO/tao/PortableServer/IdUniquenessPolicy.cpp index 03a206a6301..8796492f65d 100644 --- a/TAO/tao/PortableServer/IdUniquenessPolicy.cpp +++ b/TAO/tao/PortableServer/IdUniquenessPolicy.cpp @@ -5,6 +5,8 @@ ACE_RCSID (PortableServer, IdUniquenessPolicy, "$Id$") +#if !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO @@ -65,3 +67,5 @@ namespace TAO } TAO_END_VERSIONED_NAMESPACE_DECL + +#endif diff --git a/TAO/tao/PortableServer/IdUniquenessPolicy.h b/TAO/tao/PortableServer/IdUniquenessPolicy.h index 20e641bc3bf..f1446d6e2fe 100644 --- a/TAO/tao/PortableServer/IdUniquenessPolicy.h +++ b/TAO/tao/PortableServer/IdUniquenessPolicy.h @@ -30,6 +30,8 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ +#if !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO @@ -69,6 +71,8 @@ namespace TAO TAO_END_VERSIONED_NAMESPACE_DECL +#endif + #if defined(_MSC_VER) #pragma warning(pop) #endif /* _MSC_VER */ diff --git a/TAO/tao/PortableServer/ImplicitActivationPolicy.cpp b/TAO/tao/PortableServer/ImplicitActivationPolicy.cpp index 3c968d993da..c683f2640c7 100644 --- a/TAO/tao/PortableServer/ImplicitActivationPolicy.cpp +++ b/TAO/tao/PortableServer/ImplicitActivationPolicy.cpp @@ -5,7 +5,7 @@ ACE_RCSID (PortableServer, ImplicitActivationPolicy, "$Id$") -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -68,4 +68,4 @@ namespace TAO TAO_END_VERSIONED_NAMESPACE_DECL -#endif /* TAO_HAS_MINIMUM_POA == 0 */ +#endif /* TAO_HAS_MINIMUM_POA == 0 && !CORBA_E_COMPACT && !CORBA_E_MICRO */ diff --git a/TAO/tao/PortableServer/ImplicitActivationPolicy.h b/TAO/tao/PortableServer/ImplicitActivationPolicy.h index ee7f98bbbe5..fb0a3d99179 100644 --- a/TAO/tao/PortableServer/ImplicitActivationPolicy.h +++ b/TAO/tao/PortableServer/ImplicitActivationPolicy.h @@ -30,7 +30,7 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -71,7 +71,7 @@ namespace TAO TAO_END_VERSIONED_NAMESPACE_DECL -#endif /* TAO_HAS_MINIMUM_POA == 0 */ +#endif /* TAO_HAS_MINIMUM_POA == 0 && !CORBA_E_COMPACT && !CORBA_E_MICRO */ #if defined(_MSC_VER) #pragma warning(pop) diff --git a/TAO/tao/PortableServer/LifespanPolicy.cpp b/TAO/tao/PortableServer/LifespanPolicy.cpp index f3eb4894a21..b61dd7b3cbb 100644 --- a/TAO/tao/PortableServer/LifespanPolicy.cpp +++ b/TAO/tao/PortableServer/LifespanPolicy.cpp @@ -5,6 +5,8 @@ ACE_RCSID (PortableServer, LifespanPolicy, "$Id$") +#if !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO @@ -65,3 +67,5 @@ namespace TAO } TAO_END_VERSIONED_NAMESPACE_DECL + +#endif diff --git a/TAO/tao/PortableServer/LifespanPolicy.h b/TAO/tao/PortableServer/LifespanPolicy.h index eb0de5aae3c..8782763623f 100644 --- a/TAO/tao/PortableServer/LifespanPolicy.h +++ b/TAO/tao/PortableServer/LifespanPolicy.h @@ -30,6 +30,8 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ +#if !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO @@ -69,6 +71,8 @@ namespace TAO TAO_END_VERSIONED_NAMESPACE_DECL +#endif + #if defined(_MSC_VER) #pragma warning(pop) #endif /* _MSC_VER */ diff --git a/TAO/tao/PortableServer/Object_Adapter.cpp b/TAO/tao/PortableServer/Object_Adapter.cpp index 45519170d6e..7cdbd0d6b50 100644 --- a/TAO/tao/PortableServer/Object_Adapter.cpp +++ b/TAO/tao/PortableServer/Object_Adapter.cpp @@ -52,6 +52,14 @@ ACE_RCSID (PortableServer, Object_Adapter, "$Id$") +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) +namespace PortableServer +{ + class POAManagerFactory; + typedef POAManagerFactory *POAManagerFactory_ptr; +} +#endif + // Timeprobes class #include "tao/Timeprobe.h" @@ -235,7 +243,7 @@ TAO_Object_Adapter::init_default_policies (TAO_POA_Policy_Set &policies ACE_ENV_ARG_DECL) { // Initialize the default policies. -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) TAO::Portable_Server::ThreadPolicy thread_policy (PortableServer::ORB_CTRL_MODEL); policies.merge_policy (&thread_policy ACE_ENV_ARG_PARAMETER); @@ -243,22 +251,28 @@ TAO_Object_Adapter::init_default_policies (TAO_POA_Policy_Set &policies #endif /* TAO_HAS_MINIMUM_POA == 0 */ +#if !defined (CORBA_E_MICRO) // Lifespan policy. TAO::Portable_Server::LifespanPolicy lifespan_policy (PortableServer::TRANSIENT); policies.merge_policy (&lifespan_policy ACE_ENV_ARG_PARAMETER); ACE_CHECK; +#endif +#if !defined (CORBA_E_MICRO) // ID uniqueness policy. TAO::Portable_Server::IdUniquenessPolicy id_uniqueness_policy (PortableServer::UNIQUE_ID); policies.merge_policy (&id_uniqueness_policy ACE_ENV_ARG_PARAMETER); ACE_CHECK; +#endif +#if !defined (CORBA_E_MICRO) // ID assignment policy. TAO::Portable_Server::IdAssignmentPolicy id_assignment_policy (PortableServer::SYSTEM_ID); policies.merge_policy (&id_assignment_policy ACE_ENV_ARG_PARAMETER); ACE_CHECK; +#endif -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) // Implicit activation policy. TAO::Portable_Server::ImplicitActivationPolicy implicit_activation_policy (PortableServer::NO_IMPLICIT_ACTIVATION); @@ -277,6 +291,9 @@ TAO_Object_Adapter::init_default_policies (TAO_POA_Policy_Set &policies policies.merge_policy (&request_processing_policy ACE_ENV_ARG_PARAMETER); ACE_CHECK; #endif /* TAO_HAS_MINIMUM_POA == 0 */ +#if defined (CORBA_E_MICRO) + ACE_UNUSED_ARG (policies); +#endif } TAO_Object_Adapter::~TAO_Object_Adapter (void) @@ -418,7 +435,7 @@ TAO_Object_Adapter::activate_poa (const poa_name &folded_name, { int result = -1; -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) iteratable_poa_name ipn (folded_name); iteratable_poa_name::iterator iterator = ipn.begin (); @@ -592,6 +609,7 @@ TAO_Object_Adapter::open (ACE_ENV_SINGLE_ARG_DECL) TAO_Default_Servant_Dispatcher); } +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) ACE_NEW_THROW_EX (this->poa_manager_factory_, TAO_POAManager_Factory (*this), CORBA::NO_MEMORY ()); @@ -602,6 +620,19 @@ TAO_Object_Adapter::open (ACE_ENV_SINGLE_ARG_DECL) policy ACE_ENV_ARG_PARAMETER); ACE_CHECK; +#else + PortableServer::POAManager_var poa_manager; + PortableServer::POAManager_ptr pm = PortableServer::POAManager::_nil (); + ::CORBA::PolicyList policy_list; + PortableServer::POAManagerFactory_ptr fptr; + ACE_NEW_THROW_EX (pm, + TAO_POA_Manager (*this, 0, policy_list, fptr), + CORBA::NO_MEMORY + (CORBA::SystemException::_tao_minor_code (0, ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK_RETURN (::PortableServer::POAManager::_nil ()); + poa_manager = pm; +#endif // This makes sure that the default resources are open when the Root // POA is created. @@ -610,7 +641,7 @@ TAO_Object_Adapter::open (ACE_ENV_SINGLE_ARG_DECL) TAO_POA_Policy_Set policies (this->default_poa_policies ()); -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) // Specify the implicit activation policy since it should // be different from the default. Note that merge_policy // takes a const reference and makes its own copy of the @@ -702,7 +733,9 @@ TAO_Object_Adapter::close (int wait_for_completion ACE_ENV_ARG_PARAMETER); ACE_CHECK; ::CORBA::release (root); +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) ::CORBA::release (factory); +#endif } void diff --git a/TAO/tao/PortableServer/Object_SArg_Traits.h b/TAO/tao/PortableServer/Object_SArg_Traits.h index 62bd7156d5f..6f9189fbb1f 100644 --- a/TAO/tao/PortableServer/Object_SArg_Traits.h +++ b/TAO/tao/PortableServer/Object_SArg_Traits.h @@ -48,7 +48,7 @@ namespace TAO : public Object_SArg_Traits_T<CORBA::Object_ptr, CORBA::Object_var, CORBA::Object_out, - TAO::Any_Insert_Policy_Stream <CORBA::Object_ptr> > + TAO::Any_Insert_Policy_Stream> { }; } diff --git a/TAO/tao/PortableServer/Object_SArgument_T.cpp b/TAO/tao/PortableServer/Object_SArgument_T.cpp index 598619694c6..00e5b8948e4 100644 --- a/TAO/tao/PortableServer/Object_SArgument_T.cpp +++ b/TAO/tao/PortableServer/Object_SArgument_T.cpp @@ -13,7 +13,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::In_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::demarshal (TAO_InputCDR &cdr) { @@ -24,12 +24,12 @@ TAO::In_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::demarshal (TAO_InputCDR & template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::In_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_.in ()); + Insert_Policy<S_ptr>::any_insert (any, this->x_.in ()); } #endif /* TAO_HAS_INTERCEPTORS */ @@ -38,7 +38,7 @@ TAO::In_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::interceptor_value ( template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -47,7 +47,7 @@ TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::marshal (TAO_OutputCDR template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::demarshal (TAO_InputCDR & cdr) { @@ -58,12 +58,12 @@ TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::demarshal (TAO_InputCD template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_.in ()); + Insert_Policy<S_ptr>::any_insert (any, this->x_.in ()); } #endif /* TAO_HAS_INTERCEPTORS */ @@ -73,7 +73,7 @@ TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::interceptor_value ( template<typename S_ptr, typename S_var, typename S_out, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Out_Object_SArgument_T<S_ptr,S_var,S_out,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -85,12 +85,12 @@ TAO::Out_Object_SArgument_T<S_ptr,S_var,S_out,Insert_Policy>::marshal (TAO_Outpu template<typename S_ptr, typename S_var, typename S_out, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::Out_Object_SArgument_T<S_ptr,S_var,S_out,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_.in ()); + Insert_Policy<S_ptr>::any_insert (any, this->x_.in ()); } #endif /* TAO_HAS_INTERCEPTORS */ @@ -99,7 +99,7 @@ TAO::Out_Object_SArgument_T<S_ptr,S_var,S_out,Insert_Policy>::interceptor_value template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> CORBA::Boolean TAO::Ret_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -110,12 +110,12 @@ TAO::Ret_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::marshal (TAO_OutputCDR & template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> void TAO::Ret_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_.in ()); + Insert_Policy<S_ptr>::any_insert (any, this->x_.in ()); } #endif /* TAO_HAS_INTERCEPTORS */ diff --git a/TAO/tao/PortableServer/Object_SArgument_T.h b/TAO/tao/PortableServer/Object_SArgument_T.h index 4611bd24a12..a359304715d 100644 --- a/TAO/tao/PortableServer/Object_SArgument_T.h +++ b/TAO/tao/PortableServer/Object_SArgument_T.h @@ -39,8 +39,8 @@ namespace TAO */ template<typename S_ptr, typename S_var, - typename Insert_Policy> - class In_Object_SArgument_T : public InArgument, private Insert_Policy + template <typename> class Insert_Policy> + class In_Object_SArgument_T : public InArgument { public: @@ -62,8 +62,8 @@ namespace TAO */ template<typename S_ptr, typename S_var, - typename Insert_Policy> - class Inout_Object_SArgument_T : public InoutArgument, private Insert_Policy + template <typename> class Insert_Policy> + class Inout_Object_SArgument_T : public InoutArgument { public: Inout_Object_SArgument_T (void); @@ -88,8 +88,8 @@ namespace TAO template<typename S_ptr, typename S_var, typename S_out, - typename Insert_Policy> - class Out_Object_SArgument_T : public OutArgument, private Insert_Policy + template <typename> class Insert_Policy> + class Out_Object_SArgument_T : public OutArgument { public: Out_Object_SArgument_T (void); @@ -112,8 +112,8 @@ namespace TAO */ template<typename S_ptr, typename S_var, - typename Insert_Policy> - class Ret_Object_SArgument_T : public RetArgument, private Insert_Policy + template <typename> class Insert_Policy> + class Ret_Object_SArgument_T : public RetArgument { public: Ret_Object_SArgument_T (void); @@ -137,7 +137,7 @@ namespace TAO template<typename T_ptr, typename T_var, typename T_out, - typename Insert_Policy> + template <typename> class Insert_Policy> struct Object_SArg_Traits_T { typedef T_ptr ret_type; diff --git a/TAO/tao/PortableServer/Object_SArgument_T.inl b/TAO/tao/PortableServer/Object_SArgument_T.inl index 6fcb78ff824..9ab6d5308ca 100644 --- a/TAO/tao/PortableServer/Object_SArgument_T.inl +++ b/TAO/tao/PortableServer/Object_SArgument_T.inl @@ -7,7 +7,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S_ptr TAO::In_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::arg (void) const @@ -19,7 +19,7 @@ TAO::In_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::arg (void) const template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>:: Inout_Object_SArgument_T (void) @@ -28,7 +28,7 @@ Inout_Object_SArgument_T (void) template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S_ptr& TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::arg (void) @@ -41,7 +41,7 @@ TAO::Inout_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::arg (void) template<typename S_ptr, typename S_var, typename S_out, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE TAO::Out_Object_SArgument_T<S_ptr,S_var,S_out,Insert_Policy>:: Out_Object_SArgument_T (void) @@ -51,7 +51,7 @@ Out_Object_SArgument_T (void) template<typename S_ptr, typename S_var, typename S_out, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S_out TAO::Out_Object_SArgument_T<S_ptr,S_var,S_out,Insert_Policy>::arg (void) @@ -63,7 +63,7 @@ TAO::Out_Object_SArgument_T<S_ptr,S_var,S_out,Insert_Policy>::arg (void) template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE TAO::Ret_Object_SArgument_T<S_ptr,S_var,Insert_Policy>:: Ret_Object_SArgument_T (void) @@ -72,7 +72,7 @@ Ret_Object_SArgument_T (void) template<typename S_ptr, typename S_var, - typename Insert_Policy> + template <typename> class Insert_Policy> ACE_INLINE S_ptr & TAO::Ret_Object_SArgument_T<S_ptr,S_var,Insert_Policy>::arg (void) diff --git a/TAO/tao/PortableServer/POA.pidl b/TAO/tao/PortableServer/POA.pidl new file mode 100644 index 00000000000..43a0791f165 --- /dev/null +++ b/TAO/tao/PortableServer/POA.pidl @@ -0,0 +1,255 @@ +/** + * @file POA.pidl + * + * $Id$ + * + * @brief Pre-compiled IDL source for the PortableServer module. + * + * This file was used to generate the code in + * PortableServerC.{h,inl,cpp}, using the following command: + * + * tao_idl.exe \ + * -o orig -Sci -Gp -Gd -Ge 1 -GA -I$(TAO_ROOT) + * -Wb,export_macro=TAO_PortableServer_Export \ + * -Wb,export_include="portableserver_export.h" \ + * -Wb,pre_include="ace/pre.h" \ + * -Wb,post_include="ace/post.h" \ + * PortableServer.pidl + * + * After the file is generated a patch from the diffs directory must + * be applied. The patch: + * + * - Disables parts of the code under certain configurations. + * + * - Eliminates cycles in the include dependencies. + * + * - Adds non-idl components of PortableServer to the namespace. + * This includes (a) Servant (b) ServantBase (c) RefCountServantBase + * (d) Cookie (e) ObjectId_to_string (f) string_to_ObjectId (g) + * ObjectId_to_wstring (h) wstring_to_ObjectId (i) ServantBase_var + * (j) DynamicImplementation (k) LocalServantBase + * + * Apply patches using the following command: + * + * patch < diffs/PortableServer.diff + * + * Note: The diffs were generated using: + * + * rm diffs/PortableServer.diff + * for i in PortableServerC.{h,i,cpp}; do + * diff -wub orig/$i $i >> diffs/PortableServer.diff + * done + */ + +#ifndef _POA_SERVER_IDL_ +#define _POA_SERVER_IDL_ + +///FUZZ: disable check_for_include/ +#include "tao/Policy_Forward.pidl" +#include "tao/OctetSeq.pidl" +#include "tao/orb_types.pidl" +#include "tao/PortableServer/PS_Forward.pidl" +#include "tao/PortableServer/IdAssignmentPolicy.pidl" +#include "tao/PortableServer/IdUniquenessPolicy.pidl" +#include "tao/PortableServer/ImplicitActivationPolicy.pidl" +#include "tao/PortableServer/LifespanPolicy.pidl" +#include "tao/PortableServer/RequestProcessingPolicy.pidl" +#include "tao/PortableServer/ServantRetentionPolicy.pidl" +#include "tao/PortableServer/ThreadPolicy.pidl" + +#pragma prefix "omg.org" + +module PortableServer +{ +# pragma version PortableServer 2.3 + + typedef sequence<POA> POAList; + + // Policy IDs +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) + const CORBA::PolicyType THREAD_POLICY_ID = 16; +# endif +# if ! defined (CORBA_E_MICRO) + const CORBA::PolicyType LIFESPAN_POLICY_ID = 17; + const CORBA::PolicyType ID_UNIQUENESS_POLICY_ID = 18; + const CORBA::PolicyType ID_ASSIGNMENT_POLICY_ID = 19; +# endif +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) + const CORBA::PolicyType IMPLICIT_ACTIVATION_POLICY_ID = 20; + const CORBA::PolicyType SERVANT_RETENTION_POLICY_ID = 21; + const CORBA::PolicyType REQUEST_PROCESSING_POLICY_ID = 22; +# endif + + // Forward declaration POAManager interface. + local interface POAManager; + +#if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) + // Forward declaration POAManagerFactory interface. + local interface POAManagerFactory; +#endif + +#if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && ! defined (TAO_HAS_MINIMUM_POA) + // Forward declaration AdapterActivator interface. + local interface AdapterActivator; +#endif + +#if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) + // Forward declaration servantManager interface. + local interface ServantManager; +#endif + + local interface POA + { +# pragma version POA 2.3 + +# if ! defined (CORBA_E_MICRO) + exception AdapterAlreadyExists {}; + exception AdapterNonExistent {}; + exception InvalidPolicy {unsigned short index;}; +#if !defined (TAO_HAS_MINIMUM_POA) + exception NoServant {}; +#endif + exception ObjectAlreadyActive {}; +# endif + exception ObjectNotActive {}; + exception ServantAlreadyActive {}; + exception ServantNotActive {}; + exception WrongAdapter {}; + exception WrongPolicy {}; + + +# if ! defined (CORBA_E_MICRO) + /// POA creation and destruction. + POA create_POA (in string adapter_name, + in POAManager a_POAManager, + in CORBA::PolicyList policies) + raises (AdapterAlreadyExists, + InvalidPolicy); + + POA find_POA (in string adapter_name, + in boolean activate_it) + raises (AdapterNonExistent); +#endif + + void destroy (in boolean etherealize_objects, + in boolean wait_for_completion); + + // Factories for Policy objects. + +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA) + ThreadPolicy create_thread_policy (in ThreadPolicyValue value); +#endif +# if ! defined (CORBA_E_MICRO) + LifespanPolicy create_lifespan_policy ( + in LifespanPolicyValue value + ); + + IdUniquenessPolicy create_id_uniqueness_policy ( + in IdUniquenessPolicyValue value + ); + + IdAssignmentPolicy create_id_assignment_policy ( + in IdAssignmentPolicyValue value + ); +#endif +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA) + ImplicitActivationPolicy create_implicit_activation_policy ( + in ImplicitActivationPolicyValue value + ); + + ServantRetentionPolicy create_servant_retention_policy ( + in ServantRetentionPolicyValue value + ); + + RequestProcessingPolicy create_request_processing_policy ( + in RequestProcessingPolicyValue value + ); +# endif + + // POA attributes + readonly attribute string the_name; + readonly attribute POA the_parent; +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) + readonly attribute POAList the_children; +# endif + readonly attribute POAManager the_POAManager; +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) + readonly attribute POAManagerFactory the_POAManagerFactory; +#endif +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA) + attribute AdapterActivator the_activator; +# endif + +# if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA) + // Servant Manager registration: + + ServantManager get_servant_manager () + raises (WrongPolicy); + + void set_servant_manager (in ServantManager imgr) + raises (WrongPolicy); + + // Operations for the USE_DEFAULT_SERVANT policy. + + Servant get_servant () + raises (NoServant, + WrongPolicy); + + void set_servant (in Servant p_servant) + raises (WrongPolicy); +# endif + + // Object activation and deactivation. + + ObjectId activate_object (in Servant p_servant) + raises (ServantAlreadyActive, + WrongPolicy); + +#if !defined (CORBA_E_MICRO) + void activate_object_with_id (in ObjectId id, + in Servant p_servant) + raises (ServantAlreadyActive, + ObjectAlreadyActive, + WrongPolicy); +#endif + + void deactivate_object (in ObjectId oid) + raises (ObjectNotActive, WrongPolicy); + + // Reference creation operations. + + Object create_reference (in CORBA::RepositoryId intf) + raises (WrongPolicy); + + Object create_reference_with_id (in ObjectId oid, + in CORBA::RepositoryId intf); + + // Identity mapping operations:. + ObjectId servant_to_id (in Servant p_servant) + raises (ServantNotActive, + WrongPolicy); + + Object servant_to_reference (in Servant p_servant) + raises (ServantNotActive, WrongPolicy); + + Servant reference_to_servant (in Object reference) + raises (ObjectNotActive, + WrongAdapter, + WrongPolicy); + + ObjectId reference_to_id (in Object reference) + raises (WrongAdapter, + WrongPolicy); + + Servant id_to_servant (in ObjectId oid) + raises (ObjectNotActive, WrongPolicy); + + Object id_to_reference (in ObjectId oid) + raises (ObjectNotActive, + WrongPolicy); + + readonly attribute CORBA::OctetSeq id; + }; +}; + +#endif // _PORTABLE_SERVER_IDL_ diff --git a/TAO/tao/PortableServer/POAManager.cpp b/TAO/tao/PortableServer/POAManager.cpp index 15b290fb82e..26519a791ee 100644 --- a/TAO/tao/PortableServer/POAManager.cpp +++ b/TAO/tao/PortableServer/POAManager.cpp @@ -28,15 +28,21 @@ TAO_POA_Manager::TAO_POA_Manager ( poa_collection_ (), object_adapter_ (object_adapter), id_ (id == 0 ? this->generate_manager_id () : CORBA::string_dup (id)), - poa_manager_factory_ (* (dynamic_cast <TAO_POAManager_Factory*> (poa_manager_factory))), +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + poa_manager_factory_ (* dynamic_cast <TAO_POAManager_Factory*> (poa_manager_factory)), +#endif policies_ (policies) { - poa_manager_factory->_add_ref (); +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + poa_manager_factory_._add_ref (); +#endif } TAO_POA_Manager::~TAO_POA_Manager (void) { +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) poa_manager_factory_._remove_ref (); +#endif } char * @@ -307,13 +313,15 @@ TAO_POA_Manager::discard_requests_i (CORBA::Boolean wait_for_completion int TAO_POA_Manager::remove_poa (TAO_Root_POA *poa) { - int result = this->poa_collection_.remove (poa); + int const result = this->poa_collection_.remove (poa); if (result == 0) { if (this->poa_collection_.is_empty ()) { +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) this->poa_manager_factory_.remove_poamanager (this); +#endif } } diff --git a/TAO/tao/PortableServer/POAManager.h b/TAO/tao/PortableServer/POAManager.h index 5e90d177cc2..bf5d217f335 100644 --- a/TAO/tao/PortableServer/POAManager.h +++ b/TAO/tao/PortableServer/POAManager.h @@ -160,7 +160,9 @@ protected: CORBA::String_var id_; +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) TAO_POAManager_Factory& poa_manager_factory_; +#endif CORBA::PolicyList policies_; diff --git a/TAO/tao/PortableServer/POAManagerFactory.cpp b/TAO/tao/PortableServer/POAManagerFactory.cpp index ae1802dd378..49c02bf3808 100644 --- a/TAO/tao/PortableServer/POAManagerFactory.cpp +++ b/TAO/tao/PortableServer/POAManagerFactory.cpp @@ -10,6 +10,8 @@ ACE_RCSID (PortableServer, POAManagerFactory, "$Id$") +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_POAManager_Factory::TAO_POAManager_Factory (TAO_Object_Adapter &object_adapter) : @@ -62,7 +64,7 @@ TAO_POAManager_Factory::create_POAManager ( } // this indirection brought to you by borland's compiler and its refusal - // to directly assign the newly crated TAO_POA_Manager to a POAManager_var. + // to directly assign the newly created TAO_POA_Manager to a POAManager_var. { PortableServer::POAManager_ptr pm = 0; ACE_NEW_THROW_EX (pm, @@ -159,3 +161,5 @@ TAO_POAManager_Factory::register_poamanager ( TAO_END_VERSIONED_NAMESPACE_DECL + +#endif diff --git a/TAO/tao/PortableServer/POAManagerFactory.h b/TAO/tao/PortableServer/POAManagerFactory.h index ac410aa88ee..ab2b6da2b19 100644 --- a/TAO/tao/PortableServer/POAManagerFactory.h +++ b/TAO/tao/PortableServer/POAManagerFactory.h @@ -34,6 +34,8 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ +#if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + TAO_BEGIN_VERSIONED_NAMESPACE_DECL class TAO_PortableServer_Export TAO_POAManager_Factory : @@ -75,6 +77,8 @@ private: TAO_END_VERSIONED_NAMESPACE_DECL +#endif + #if defined(_MSC_VER) #pragma warning(pop) #endif /* _MSC_VER */ diff --git a/TAO/tao/PortableServer/POA_Cached_Policies.cpp b/TAO/tao/PortableServer/POA_Cached_Policies.cpp index 76afbefadbc..beff73439c1 100644 --- a/TAO/tao/PortableServer/POA_Cached_Policies.cpp +++ b/TAO/tao/PortableServer/POA_Cached_Policies.cpp @@ -61,8 +61,7 @@ namespace TAO ACE_ENV_ARG_DECL) { - #if (TAO_HAS_MINIMUM_POA == 0) - + #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) ::PortableServer::ThreadPolicy_var thread = ::PortableServer::ThreadPolicy::_narrow (policy ACE_ENV_ARG_PARAMETER); @@ -75,9 +74,9 @@ namespace TAO return; } - #endif /* TAO_HAS_MINIMUM_POA == 0 */ + #if !defined (CORBA_E_MICRO) ::PortableServer::LifespanPolicy_var lifespan = ::PortableServer::LifespanPolicy::_narrow (policy ACE_ENV_ARG_PARAMETER); @@ -90,7 +89,9 @@ namespace TAO return; } + #endif + #if !defined (CORBA_E_MICRO) ::PortableServer::IdUniquenessPolicy_var id_uniqueness = ::PortableServer::IdUniquenessPolicy::_narrow (policy ACE_ENV_ARG_PARAMETER); @@ -103,7 +104,9 @@ namespace TAO return; } + #endif + #if !defined (CORBA_E_MICRO) ::PortableServer::IdAssignmentPolicy_var id_assignment = ::PortableServer::IdAssignmentPolicy::_narrow (policy ACE_ENV_ARG_PARAMETER); @@ -116,8 +119,9 @@ namespace TAO return; } + #endif - #if (TAO_HAS_MINIMUM_POA == 0) + #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) ::PortableServer::ImplicitActivationPolicy_var implicit_activation = ::PortableServer::ImplicitActivationPolicy::_narrow (policy @@ -159,6 +163,10 @@ namespace TAO } #endif /* TAO_HAS_MINIMUM_POA == 0 */ + + #if defined (CORBA_E_MICRO) + ACE_UNUSED_ARG (policy); + #endif } } } diff --git a/TAO/tao/PortableServer/POA_Policy_Set.cpp b/TAO/tao/PortableServer/POA_Policy_Set.cpp index 043020de869..c3200dbe136 100644 --- a/TAO/tao/PortableServer/POA_Policy_Set.cpp +++ b/TAO/tao/PortableServer/POA_Policy_Set.cpp @@ -84,9 +84,13 @@ TAO_POA_Policy_Set::validate_policies (TAO_Policy_Validator &validator, if (validator.legal_policy (type) == 0) { +#if ! defined (CORBA_E_MICRO) // An invalid policy was specified. Let the user know about // it. ACE_THROW (PortableServer::POA::InvalidPolicy ()); +#else + ACE_ERROR ((LM_ERROR, "Invalid policy\n")); +#endif } } } diff --git a/TAO/tao/PortableServer/PS_Current.pidl b/TAO/tao/PortableServer/PS_Current.pidl index d9c8f9b8227..3d7a646ced7 100644 --- a/TAO/tao/PortableServer/PS_Current.pidl +++ b/TAO/tao/PortableServer/PS_Current.pidl @@ -3,18 +3,7 @@ * * $Id$ * - * @brief Pre-compiled IDL source for the PortableServer module. - * - * This file was used to generate the code in - * PS_CurrentC.{h,inl,cpp}, using the following command: - * - * tao_idl.exe \ - * -o orig -Gp -Gd -Ge 1 -Sci -SS -I$(TAO_ROOT) - * -Wb,export_macro=TAO_PortableServer_Export \ - * -Wb,export_include="portableserver_export.h" \ - * -Wb,pre_include="ace/pre.h" \ - * -Wb,post_include="ace/post.h" \ - * PS_Current.pidl + * @brief PIDL source for the PortableServer module. */ #ifndef _PORTABLESERVER_CURRENT_IDL_ diff --git a/TAO/tao/PortableServer/PolicyS.cpp b/TAO/tao/PortableServer/PolicyS.cpp index 9eae2512e9b..aea5544c954 100644 --- a/TAO/tao/PortableServer/PolicyS.cpp +++ b/TAO/tao/PortableServer/PolicyS.cpp @@ -82,7 +82,7 @@ namespace TAO CORBA::Policy_ptr, CORBA::Policy_var, CORBA::Policy_out, - TAO::Any_Insert_Policy_Stream <CORBA::Policy_ptr> + TAO::Any_Insert_Policy_Stream > { }; @@ -109,7 +109,7 @@ namespace TAO CORBA::Policy_var, CORBA::Policy_out, TAO::Objref_Traits<CORBA::Policy>, - TAO::Any_Insert_Policy_Stream <CORBA::Policy_ptr> + TAO::Any_Insert_Policy_Stream > { }; diff --git a/TAO/tao/PortableServer/PortableServer.pidl b/TAO/tao/PortableServer/PortableServer.pidl index 2314b6f5630..14a8e4afdfc 100644 --- a/TAO/tao/PortableServer/PortableServer.pidl +++ b/TAO/tao/PortableServer/PortableServer.pidl @@ -45,179 +45,6 @@ #define _PORTABLE_SERVER_IDL_ ///FUZZ: disable check_for_include/ -#include "tao/Policy_Forward.pidl" -#include "tao/OctetSeq.pidl" -#include "tao/orb_types.pidl" -#include "tao/PortableServer/PS_Forward.pidl" -#include "tao/PortableServer/IdAssignmentPolicy.pidl" -#include "tao/PortableServer/IdUniquenessPolicy.pidl" -#include "tao/PortableServer/ImplicitActivationPolicy.pidl" -#include "tao/PortableServer/LifespanPolicy.pidl" -#include "tao/PortableServer/RequestProcessingPolicy.pidl" -#include "tao/PortableServer/ServantRetentionPolicy.pidl" -#include "tao/PortableServer/ThreadPolicy.pidl" +#include "tao/PortableServer/POA.pidl" -#pragma prefix "omg.org" - -module PortableServer -{ -# pragma version PortableServer 2.3 - - typedef sequence<POA> POAList; - - // Policy IDs - const CORBA::PolicyType THREAD_POLICY_ID = 16; - const CORBA::PolicyType LIFESPAN_POLICY_ID = 17; - const CORBA::PolicyType ID_UNIQUENESS_POLICY_ID = 18; - const CORBA::PolicyType ID_ASSIGNMENT_POLICY_ID = 19; - const CORBA::PolicyType IMPLICIT_ACTIVATION_POLICY_ID = 20; - const CORBA::PolicyType SERVANT_RETENTION_POLICY_ID = 21; - const CORBA::PolicyType REQUEST_PROCESSING_POLICY_ID = 22; - - // Forward declaration POAManager interface. - local interface POAManager; - - // Forward declaration POAManagerFactory interface. - local interface POAManagerFactory; - - // Forward declaration AdapterActivator interface. - local interface AdapterActivator; - - // Forward declaration servantManager interface. - local interface ServantManager; - - local interface POA - { -# pragma version POA 2.3 - - exception AdapterAlreadyExists {}; - exception AdapterNonExistent {}; - exception InvalidPolicy {unsigned short index;}; - exception NoServant {}; - exception ObjectAlreadyActive {}; - exception ObjectNotActive {}; - exception ServantAlreadyActive {}; - exception ServantNotActive {}; - exception WrongAdapter {}; - exception WrongPolicy {}; - - // POA creation and destruction. - - POA create_POA (in string adapter_name, - in POAManager a_POAManager, - in CORBA::PolicyList policies) - raises (AdapterAlreadyExists, - InvalidPolicy); - - POA find_POA (in string adapter_name, - in boolean activate_it) - raises (AdapterNonExistent); - - void destroy (in boolean etherealize_objects, - in boolean wait_for_completion); - - // Factories for Policy objects. - - ThreadPolicy create_thread_policy (in ThreadPolicyValue value); - - LifespanPolicy create_lifespan_policy ( - in LifespanPolicyValue value - ); - - IdUniquenessPolicy create_id_uniqueness_policy ( - in IdUniquenessPolicyValue value - ); - - IdAssignmentPolicy create_id_assignment_policy ( - in IdAssignmentPolicyValue value - ); - - ImplicitActivationPolicy create_implicit_activation_policy ( - in ImplicitActivationPolicyValue value - ); - - ServantRetentionPolicy create_servant_retention_policy ( - in ServantRetentionPolicyValue value - ); - - RequestProcessingPolicy create_request_processing_policy ( - in RequestProcessingPolicyValue value - ); - - // POA attributes - readonly attribute string the_name; - readonly attribute POA the_parent; - readonly attribute POAList the_children; - readonly attribute POAManager the_POAManager; - readonly attribute POAManagerFactory the_POAManagerFactory; - attribute AdapterActivator the_activator; - - // Servant Manager registration: - - ServantManager get_servant_manager () - raises (WrongPolicy); - - void set_servant_manager (in ServantManager imgr) - raises (WrongPolicy); - - // Operations for the USE_DEFAULT_SERVANT policy. - - Servant get_servant () - raises (NoServant, - WrongPolicy); - - void set_servant (in Servant p_servant) - raises (WrongPolicy); - - // Object activation and deactivation. - - ObjectId activate_object (in Servant p_servant) - raises (ServantAlreadyActive, - WrongPolicy); - - void activate_object_with_id (in ObjectId id, - in Servant p_servant) - raises (ServantAlreadyActive, - ObjectAlreadyActive, - WrongPolicy); - - void deactivate_object (in ObjectId oid) - raises (ObjectNotActive, WrongPolicy); - - // Reference creation operations. - - Object create_reference (in CORBA::RepositoryId intf) - raises (WrongPolicy); - - Object create_reference_with_id (in ObjectId oid, - in CORBA::RepositoryId intf); - - // Identity mapping operations:. - ObjectId servant_to_id (in Servant p_servant) - raises (ServantNotActive, - WrongPolicy); - - Object servant_to_reference (in Servant p_servant) - raises (ServantNotActive, WrongPolicy); - - Servant reference_to_servant (in Object reference) - raises (ObjectNotActive, - WrongAdapter, - WrongPolicy); - - ObjectId reference_to_id (in Object reference) - raises (WrongAdapter, - WrongPolicy); - - Servant id_to_servant (in ObjectId oid) - raises (ObjectNotActive, WrongPolicy); - - Object id_to_reference (in ObjectId oid) - raises (ObjectNotActive, - WrongPolicy); - - readonly attribute CORBA::OctetSeq id; - }; -}; - -#endif // _PORTABLE_SERVER_IDL_ +#endif // _POA_SERVER_IDL_ diff --git a/TAO/tao/PortableServer/RequestProcessingPolicy.cpp b/TAO/tao/PortableServer/RequestProcessingPolicy.cpp index c3f4f480b8e..7b55a084199 100644 --- a/TAO/tao/PortableServer/RequestProcessingPolicy.cpp +++ b/TAO/tao/PortableServer/RequestProcessingPolicy.cpp @@ -5,7 +5,7 @@ ACE_RCSID (PortableServer, RequestProcessingPolicy, "$Id$") -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/RequestProcessingPolicy.h b/TAO/tao/PortableServer/RequestProcessingPolicy.h index 0d8d4f7485a..34f850757f1 100644 --- a/TAO/tao/PortableServer/RequestProcessingPolicy.h +++ b/TAO/tao/PortableServer/RequestProcessingPolicy.h @@ -30,7 +30,7 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ -#if (TAO_HAS_MINIMUM_POA == 0) +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp b/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp index 29187f9c826..35fe1fb77d9 100644 --- a/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp +++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp @@ -12,7 +12,8 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> CORBA::Boolean TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR &cdr) { @@ -21,27 +22,30 @@ TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR &cdr) #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> void TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any ) const { - this->Insert_Policy::any_insert (any, this->x_); + Insert_Policy<S>::any_insert (any, this->x_); } #endif /* TAO_HAS_INTERCEPTORS */ // =========================================================== -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> CORBA::Boolean TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { return cdr << this->x_; } -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> CORBA::Boolean TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR & cdr) { @@ -50,20 +54,22 @@ TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR & cdr) #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> void TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any ) const { - this->Insert_Policy::any_insert (any, this->x_); + Insert_Policy<S>::any_insert (any, this->x_); } #endif /* TAO_HAS_INTERCEPTORS */ // ============================================================== -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> CORBA::Boolean TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -72,19 +78,21 @@ TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> void TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_.in ()); + Insert_Policy<S>::any_insert (any, this->x_.in ()); } #endif /* TAO_HAS_INTERCEPTORS */ // ============================================================ -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> CORBA::Boolean TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { @@ -93,12 +101,13 @@ TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> void TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, this->x_.in ()); + Insert_Policy<S>::any_insert (any, this->x_.in ()); } #endif /* TAO_HAS_INTERCEPTORS */ diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.h b/TAO/tao/PortableServer/Var_Size_SArgument_T.h index 4114ecf0532..d2fe23c5d2c 100644 --- a/TAO/tao/PortableServer/Var_Size_SArgument_T.h +++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.h @@ -30,8 +30,9 @@ namespace TAO * @brief Template class for IN skeleton argument of fixed size IDL types. * */ - template<typename S, typename Insert_Policy> - class In_Var_Size_SArgument_T : public InArgument, private Insert_Policy + template<typename S, + template <typename> class Insert_Policy> + class In_Var_Size_SArgument_T : public InArgument { public: @@ -51,9 +52,9 @@ namespace TAO * @brief Template class for INOUT skeleton arg of fixed size IDL types. * */ - template<typename S, typename Insert_Policy> - class Inout_Var_Size_SArgument_T : public InoutArgument, - private Insert_Policy + template<typename S, + template <typename> class Insert_Policy> + class Inout_Var_Size_SArgument_T : public InoutArgument { public: Inout_Var_Size_SArgument_T (void); @@ -75,8 +76,9 @@ namespace TAO * @brief Template class for OUT skeleton argument of fixed size IDL types. * */ - template<typename S, typename Insert_Policy> - class Out_Var_Size_SArgument_T : public OutArgument, private Insert_Policy + template<typename S, + template <typename> class Insert_Policy> + class Out_Var_Size_SArgument_T : public OutArgument { public: Out_Var_Size_SArgument_T (void); @@ -97,8 +99,9 @@ namespace TAO * @brief Template class for return skeleton value of fixed size IDL types. * */ - template<typename S, typename Insert_Policy> - class Ret_Var_Size_SArgument_T : public RetArgument, private Insert_Policy + template<typename S, + template <typename> class Insert_Policy> + class Ret_Var_Size_SArgument_T : public RetArgument { public: Ret_Var_Size_SArgument_T (void); @@ -120,7 +123,8 @@ namespace TAO * variable size IDL types. * */ - template<typename T, typename Insert_Policy> + template<typename T, + template <typename> class Insert_Policy> struct Var_Size_SArg_Traits_T { typedef T * ret_type; diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.inl b/TAO/tao/PortableServer/Var_Size_SArgument_T.inl index dffc68dbf6b..29cc6f4a943 100644 --- a/TAO/tao/PortableServer/Var_Size_SArgument_T.inl +++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.inl @@ -4,7 +4,8 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> S const & TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) const { @@ -13,13 +14,15 @@ TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) const // ========================================================================== -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> ACE_INLINE TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::Inout_Var_Size_SArgument_T (void) { } -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> S & TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) { @@ -28,13 +31,15 @@ TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) // ========================================================================== -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> ACE_INLINE TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::Out_Var_Size_SArgument_T (void) { } -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> S *& TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) { @@ -43,13 +48,15 @@ TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) // ========================================================================== -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> ACE_INLINE TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::Ret_Var_Size_SArgument_T (void) { } -template<typename S, typename Insert_Policy> +template<typename S, + template <typename> class Insert_Policy> ACE_INLINE S *& TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) diff --git a/TAO/tao/PortableServer/get_arg.h b/TAO/tao/PortableServer/get_arg.h index 1cf9b8aa998..1d0d05827b5 100644 --- a/TAO/tao/PortableServer/get_arg.h +++ b/TAO/tao/PortableServer/get_arg.h @@ -44,7 +44,7 @@ namespace TAO TAO::Argument * const * skel_args) { return - details + (details != 0 && details->args () != 0) ? static_cast<typename TAO::Arg_Traits<T>::ret_val *> ( details->args ()[0])->arg () : static_cast<typename TAO::SArg_Traits<T>::ret_val *> ( @@ -74,7 +74,7 @@ namespace TAO size_t i) { return - details + (details != 0 && details->args () != 0) ? static_cast<typename TAO::Arg_Traits<T>::inout_arg_val *> ( details->args ()[i])->arg () : static_cast<typename TAO::SArg_Traits<T>::inout_arg_val *> ( @@ -89,7 +89,7 @@ namespace TAO size_t i) { return - details + (details != 0 && details->args () != 0) ? static_cast<typename TAO::Arg_Traits<T>::out_arg_val *> ( details->args ()[i])->arg () : static_cast<typename TAO::SArg_Traits<T>::out_arg_val *> ( |