diff options
author | dai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-08-22 20:34:57 +0000 |
---|---|---|
committer | dai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-08-22 20:34:57 +0000 |
commit | 7563932b27c915c308f4eb43936aa67284e31704 (patch) | |
tree | 84613bf5246ffa979329bcd1c9b238550a231d64 | |
parent | 7f72573113a36418e3bc1bce54ea85d74d8a1972 (diff) | |
download | ATCD-7563932b27c915c308f4eb43936aa67284e31704.tar.gz |
Tue Aug 22 20:28:26 UTC 2006 Yan Dai <dai_y@ociweb.com>
-rw-r--r-- | TAO/ChangeLog | 15 | ||||
-rw-r--r-- | TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.cpp | 8 | ||||
-rw-r--r-- | TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.h | 3 | ||||
-rw-r--r-- | TAO/tao/PortableServer/DII_Arguments_Converter.cpp | 48 | ||||
-rw-r--r-- | TAO/tao/PortableServer/DII_Arguments_Converter.h | 16 |
5 files changed, 80 insertions, 10 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index edeb5e99b42..54b39a548f0 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,18 @@ +Tue Aug 22 20:28:26 UTC 2006 Yan Dai <dai_y@ociweb.com> + + * tao\PortableServer\DII_Arguments_Converter.cpp: + * tao\PortableServer\DII_Arguments_Converter.h: + * tao\DynamicInterface\DII_Arguments_Converter_Impl.h: + * tao\DynamicInterface\DII_Arguments_Converter_Impl.cpp: + + Made the TAO_DII_Arguments_Converter service object registered + when PortableServer is loaded and the TAO_DII_Arguments_Converter_Impl + will overwrite the registered "DII_Arguments_Converter" service + object. This would fix failure of dynamic_cast from the service object + the TAO_DII_Arguments_Converter object on FC4 with gcc4.x builds. + This should fix the $TAO_ROOT/tests/DII_Collocation_Tests/oneway + test failure on FC4 with gcc4.x builds. + Tue Aug 22 19:39:07 UTC 2006 Ciju John <john@ociweb.com> * orbsvcs/tests/Event/Mcast/RTEC_MCast_Federated/EchoEventConsumerMain.cpp: diff --git a/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.cpp b/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.cpp index c3b81769f90..e24c853c9c5 100644 --- a/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.cpp +++ b/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.cpp @@ -13,11 +13,6 @@ ACE_RCSID (DynamicInterface, TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_DII_Arguments_Converter_Impl::~TAO_DII_Arguments_Converter_Impl (void) -{ -} - - void TAO_DII_Arguments_Converter_Impl::convert ( TAO_ServerRequest & server_request, @@ -91,7 +86,8 @@ TAO_DII_Arguments_Converter_Impl::convert ( int TAO_DII_Arguments_Converter_Impl::Initializer (void) { - return ACE_Service_Config::process_directive (ace_svc_desc_TAO_DII_Arguments_Converter_Impl); + return ACE_Service_Config::process_directive ( + ace_svc_desc_TAO_DII_Arguments_Converter_Impl, 1); } TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.h b/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.h index de3811aa705..dbb4042a4c1 100644 --- a/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.h +++ b/TAO/tao/DynamicInterface/DII_Arguments_Converter_Impl.h @@ -41,7 +41,6 @@ class TAO_DynamicInterface_Export TAO_DII_Arguments_Converter_Impl : public TAO_DII_Arguments_Converter { public: - virtual ~TAO_DII_Arguments_Converter_Impl (void); virtual void convert ( TAO_ServerRequest & server_request, TAO::Argument * const args[], @@ -53,7 +52,7 @@ public: }; static int -TAO_Requires_DII_Arguments_Converter_Initializer = +TAO_Requires_DII_Arguments_Converter_Impl_Initializer = TAO_DII_Arguments_Converter_Impl::Initializer (); TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/DII_Arguments_Converter.cpp b/TAO/tao/PortableServer/DII_Arguments_Converter.cpp new file mode 100644 index 00000000000..f94dee5e75a --- /dev/null +++ b/TAO/tao/PortableServer/DII_Arguments_Converter.cpp @@ -0,0 +1,48 @@ +// @(#) $Id$ + +#include "tao/PortableServer/DII_Arguments_Converter.h" +#include "ace/Service_Config.h" + +ACE_RCSID(PortableServer, + DII_Arguments_Converter, + "$Id$") + + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +void TAO_DII_Arguments_Converter::convert ( +TAO_ServerRequest & , +TAO::Argument * const [], +size_t +ACE_ENV_ARG_DECL ) +{ +#if defined (ACE_HAS_EXCEPTIONS) + ACE_THROW (CORBA::INTERNAL ()); +#else + ACE_OS::abort (); +#endif /* ACE_HAS_EXCEPTIONS */ +} + + +int +TAO_DII_Arguments_Converter::Initializer (void) +{ + return ACE_Service_Config::process_directive (ace_svc_desc_TAO_DII_Arguments_Converter); +} + + +TAO_END_VERSIONED_NAMESPACE_DECL + + +ACE_STATIC_SVC_DEFINE ( + TAO_DII_Arguments_Converter, + ACE_TEXT ("DII_Arguments_Converter"), + ACE_SVC_OBJ_T, + &ACE_SVC_NAME (TAO_DII_Arguments_Converter), + ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, + 0 + ) + +ACE_FACTORY_DEFINE (TAO_PortableServer, TAO_DII_Arguments_Converter) + + diff --git a/TAO/tao/PortableServer/DII_Arguments_Converter.h b/TAO/tao/PortableServer/DII_Arguments_Converter.h index 69a16c29f91..6fdf4f387d2 100644 --- a/TAO/tao/PortableServer/DII_Arguments_Converter.h +++ b/TAO/tao/PortableServer/DII_Arguments_Converter.h @@ -40,15 +40,27 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL class TAO_PortableServer_Export TAO_DII_Arguments_Converter : public ACE_Service_Object { public: - + virtual void convert ( TAO_ServerRequest & server_request, TAO::Argument * const args[], size_t nargs - ACE_ENV_ARG_DECL ) = 0; + ACE_ENV_ARG_DECL ); + static int Initializer (); }; + +static int +TAO_Requires_DII_Arguments_Converter_Initializer = + TAO_DII_Arguments_Converter::Initializer (); + + TAO_END_VERSIONED_NAMESPACE_DECL + ACE_STATIC_SVC_DECLARE (TAO_DII_Arguments_Converter) + ACE_FACTORY_DECLARE (TAO_PortableServer, TAO_DII_Arguments_Converter) + + #include /**/ "ace/post.h" #endif /* TAO_DII_ARGUMENTS_CONVERTER_H */ + |