summaryrefslogtreecommitdiff
path: root/TAO/tao/PortableServer
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2006-06-20 06:40:22 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2006-06-20 06:40:22 +0000
commit4b95cb18b5a3d57ce08a5a3bc6ed454eaa5f7eea (patch)
treefaeda976278673ce1998fff68ddc936ad5f0853d /TAO/tao/PortableServer
parent22848a06dc6da702b044c5d8f0f0779e102c1b5f (diff)
downloadATCD-4b95cb18b5a3d57ce08a5a3bc6ed454eaa5f7eea.tar.gz
ChangeLogTag: Mon Jun 19 12:11:09 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/PortableServer')
-rw-r--r--TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp1
-rw-r--r--TAO/tao/PortableServer/Fixed_Size_SArgument_T.cpp26
-rw-r--r--TAO/tao/PortableServer/Fixed_Size_SArgument_T.h18
-rw-r--r--TAO/tao/PortableServer/Fixed_Size_SArgument_T.inl14
-rw-r--r--TAO/tao/PortableServer/IdAssignmentPolicy.cpp4
-rw-r--r--TAO/tao/PortableServer/IdAssignmentPolicy.h4
-rw-r--r--TAO/tao/PortableServer/IdAssignmentPolicy.pidl14
-rw-r--r--TAO/tao/PortableServer/IdUniquenessPolicy.cpp4
-rw-r--r--TAO/tao/PortableServer/IdUniquenessPolicy.h4
-rw-r--r--TAO/tao/PortableServer/ImplicitActivationPolicy.cpp4
-rw-r--r--TAO/tao/PortableServer/ImplicitActivationPolicy.h4
-rw-r--r--TAO/tao/PortableServer/LifespanPolicy.cpp4
-rw-r--r--TAO/tao/PortableServer/LifespanPolicy.h4
-rw-r--r--TAO/tao/PortableServer/Object_Adapter.cpp41
-rw-r--r--TAO/tao/PortableServer/Object_SArg_Traits.h2
-rw-r--r--TAO/tao/PortableServer/Object_SArgument_T.cpp26
-rw-r--r--TAO/tao/PortableServer/Object_SArgument_T.h18
-rw-r--r--TAO/tao/PortableServer/Object_SArgument_T.inl14
-rw-r--r--TAO/tao/PortableServer/POA.pidl255
-rw-r--r--TAO/tao/PortableServer/POAManager.cpp14
-rw-r--r--TAO/tao/PortableServer/POAManager.h2
-rw-r--r--TAO/tao/PortableServer/POAManagerFactory.cpp6
-rw-r--r--TAO/tao/PortableServer/POAManagerFactory.h4
-rw-r--r--TAO/tao/PortableServer/POA_Cached_Policies.cpp16
-rw-r--r--TAO/tao/PortableServer/POA_Policy_Set.cpp4
-rw-r--r--TAO/tao/PortableServer/PS_Current.pidl13
-rw-r--r--TAO/tao/PortableServer/PolicyS.cpp4
-rw-r--r--TAO/tao/PortableServer/PortableServer.pidl177
-rw-r--r--TAO/tao/PortableServer/RequestProcessingPolicy.cpp2
-rw-r--r--TAO/tao/PortableServer/RequestProcessingPolicy.h2
-rw-r--r--TAO/tao/PortableServer/Var_Size_SArgument_T.cpp35
-rw-r--r--TAO/tao/PortableServer/Var_Size_SArgument_T.h24
-rw-r--r--TAO/tao/PortableServer/Var_Size_SArgument_T.inl21
-rw-r--r--TAO/tao/PortableServer/get_arg.h6
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 *> (