From 6e3bdc9705b36eaef39e7b4e577fae7e9d34856c Mon Sep 17 00:00:00 2001 From: parsons Date: Fri, 11 Apr 2003 08:00:49 +0000 Subject: ChangeLogTag: Fri Apr 11 02:58:32 2003 Jeff Parsons --- TAO/ChangeLog | 40 +++ TAO/tao/IFR_Client_Adapter.cpp | 4 +- .../IORInterceptor/IORInterceptor_Adapter_Impl.cpp | 84 ++++++ .../IORInterceptor/IORInterceptor_Adapter_Impl.h | 91 ++++++ TAO/tao/IORInterceptor/TAO_IORInterceptor.dsp | 26 +- TAO/tao/IORInterceptor_Adapter.cpp | 24 ++ TAO/tao/IORInterceptor_Adapter.h | 74 +++++ TAO/tao/Interceptor_List.cpp | 90 ++++-- TAO/tao/Interceptor_List.h | 17 +- TAO/tao/Interceptor_List.inl | 11 + TAO/tao/ORB_Core.cpp | 39 ++- TAO/tao/ORB_Core.h | 19 +- TAO/tao/ObjectReferenceTemplate.pidl | 4 +- TAO/tao/ObjectReferenceTemplateC.cpp | 322 ++++----------------- TAO/tao/ObjectReferenceTemplateC.h | 53 +--- TAO/tao/PI_Forward.pidl | 48 +++ TAO/tao/PI_ForwardC.cpp | 259 +++++++++++++++++ TAO/tao/PI_ForwardC.h | 155 ++++++++++ TAO/tao/PI_ForwardC.i | 28 ++ TAO/tao/PortableInterceptor.pidl | 6 +- TAO/tao/PortableInterceptorC.cpp | 230 +-------------- TAO/tao/PortableInterceptorC.h | 67 ++--- TAO/tao/TAO.dsp | 20 ++ 23 files changed, 1072 insertions(+), 639 deletions(-) create mode 100644 TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp create mode 100644 TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.h create mode 100644 TAO/tao/IORInterceptor_Adapter.cpp create mode 100644 TAO/tao/IORInterceptor_Adapter.h create mode 100644 TAO/tao/PI_Forward.pidl create mode 100644 TAO/tao/PI_ForwardC.cpp create mode 100644 TAO/tao/PI_ForwardC.h create mode 100644 TAO/tao/PI_ForwardC.i diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 393064f2678..372037a3585 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,43 @@ +Fri Apr 11 02:58:32 2003 Jeff Parsons + + * IFR_Client_Adapter.cpp: + + Cosmetic changes. + + * Interceptor_List.cpp: + * Interceptor_List.h: + * Interceptor_List.inl: + * ORB_Core.cpp: + * ORB_Core.h: + * ObjectReferenceTemplate.pidl: + * ObjectReferenceTemplateC.cpp: + * ObjectReferenceTemplateC.h: + * PortableInterceptor.pidl: + * PortableInterceptorC.cpp: + * PortableInterceptorC.h: + * TAO.dsp: + * IORInterceptor/TAO_IORInterceptor.dsp: + + Modified files toward finishing the TAO_IORInterceptor + library. + + * PI_Forward.pidl: + * PI_ForwardC.cpp: + * PI_ForwardC.h: + * PI_ForwardC.i: + + New files, collecting typedefs used by both + PortableInterceptor.pidl and ObjectReferenceTemplate.pidl. + + * IORInterceptor/IORInterceptor_Adapter_Impl.cpp: + * IORInterceptor/IORInterceptor_Adapter_Impl.h: + * IORInterceptor_Adapter.cpp: + * IORInterceptor_Adapter.h: + + Abstract and concrete adapter classes whose methods + wrap the few remaining dependencies in TAO on + PortableInterceptor::IORInterceptor. + Thu Apr 10 22:44:04 2003 Jeff Parsons * tao/PortableInterceptor.pidl: diff --git a/TAO/tao/IFR_Client_Adapter.cpp b/TAO/tao/IFR_Client_Adapter.cpp index 7524eff668a..5089b6156db 100644 --- a/TAO/tao/IFR_Client_Adapter.cpp +++ b/TAO/tao/IFR_Client_Adapter.cpp @@ -3,7 +3,9 @@ #include "tao/IFR_Client_Adapter.h" #include "ace/Dynamic_Service.h" -ACE_RCSID(tao, IFR_Client_Adapter, "$Id$") +ACE_RCSID (tao, + IFR_Client_Adapter, + "$Id$") TAO_IFR_Client_Adapter::~TAO_IFR_Client_Adapter (void) { diff --git a/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp b/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp new file mode 100644 index 00000000000..6003bb948ae --- /dev/null +++ b/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp @@ -0,0 +1,84 @@ +// $Id$ + +#include "IORInterceptor_Adapter_Impl.h" +#include "tao/ORB_Core.h" + +ACE_RCSID (IORInterceptor, + IORInterceptor_Adapter_Impl, + "$Id$") + +TAO_IORInterceptor_Adapter_Impl::~TAO_IORInterceptor_Adapter_Impl (void) +{ +} + +void +TAO_IORInterceptor_Adapter_Impl::tao_iorinterceptor_release ( + PortableInterceptor::IORInterceptor_ptr p + ) +{ + CORBA::release (p); +} + +PortableInterceptor::Interceptor_ptr +TAO_IORInterceptor_Adapter_Impl::tao_iorinterceptor ( + TAO_IORInterceptor_List::TYPE & container, + size_t index + ) +{ + return container[index]; +} + +void +TAO_IORInterceptor_Adapter_Impl::tao_add_iorinterceptor ( + TAO_IORInterceptor_List * list, + TAO_IORInterceptor_List::TYPE & container, + PortableInterceptor::IORInterceptor_ptr interceptor + ACE_ENV_ARG_DECL + ) +{ + size_t index = list->add_interceptor_helper (interceptor + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + container[index] = + PortableInterceptor::IORInterceptor::_duplicate (interceptor); +} + +void +TAO_IORInterceptor_Adapter_Impl::tao_iorinterceptor_destroy ( + TAO_IORInterceptor_List::TYPE & container, + size_t ilen + ACE_ENV_ARG_DECL + ) +{ + container[ilen]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); +} + +// ********************************************************************* + +// Initialization and registration of dynamic service object. + +int +TAO_IORInterceptor_Adapter_Impl::Initializer (void) +{ + TAO_ORB_Core::iorinterceptor_adapter_name ( + "Concrete_IORInterceptor_Adapter" + ); + + return + ACE_Service_Config::process_directive ( + ace_svc_desc_TAO_IORInterceptor_Adapter_Impl + ); +} + +ACE_STATIC_SVC_DEFINE ( + TAO_IORInterceptor_Adapter_Impl, + ACE_TEXT ("Concrete_IORInterceptor_Adapter"), + ACE_SVC_OBJ_T, + &ACE_SVC_NAME (TAO_IORInterceptor_Adapter_Impl), + ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, + 0 + ) + +ACE_FACTORY_DEFINE (TAO_IORInterceptor, TAO_IORInterceptor_Adapter_Impl) + diff --git a/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.h b/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.h new file mode 100644 index 00000000000..68a0fff4ed4 --- /dev/null +++ b/TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.h @@ -0,0 +1,91 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file IORInterceptor_Adapter_Impl.h + * + * $Id$ + * + * @author Jeff Parsons + */ +//============================================================================= + + +#ifndef TAO_IORINTERCEPTOR_ADAPTER_IMPL_H +#define TAO_IORINTERCEPTOR_ADAPTER_IMPL_H + +#include "ace/pre.h" + +#include "IORInterceptorC.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "iorinterceptor_export.h" +#include "tao/IORInterceptor_Adapter.h" +#include "ace/Service_Config.h" + +/** + * @class TAO_IORInterceptor_Adapter_Impl + * + * @brief TAO_IORInterceptor_Adapter_Impl. + * + * Class that adapts various functions involving the PortableInterceptor + * interfaces IORInfo and IORInterceptor. This is the derived class + * that contains the actual implementations. + */ +class TAO_IORInterceptor_Export TAO_IORInterceptor_Adapter_Impl + : public TAO_IORInterceptor_Adapter +{ +public: + virtual ~TAO_IORInterceptor_Adapter_Impl (void); + + virtual void tao_iorinterceptor_release ( + PortableInterceptor::IORInterceptor_ptr + ); + + virtual PortableInterceptor::Interceptor_ptr tao_iorinterceptor ( + TAO_IORInterceptor_List::TYPE & container, + size_t index + ); + + virtual void tao_add_iorinterceptor ( + TAO_IORInterceptor_List * list, + TAO_IORInterceptor_List::TYPE & container, + PortableInterceptor::IORInterceptor_ptr interceptor + ACE_ENV_ARG_DECL + ); + + virtual void tao_iorinterceptor_destroy ( + TAO_IORInterceptor_List::TYPE & container, + size_t ilen + ACE_ENV_ARG_DECL + ); + + // Used to force the initialization of the ORB code. + static int Initializer (void); +}; + +ACE_STATIC_SVC_DECLARE (TAO_IORInterceptor_Adapter_Impl) +ACE_FACTORY_DECLARE (TAO_IORInterceptor, TAO_IORInterceptor_Adapter_Impl) + +#if defined (ACE_HAS_BROKEN_STATIC_CONSTRUCTORS) + +typedef int (*TAO_Module_Initializer) (void); + +static TAO_Module_Initializer +TAO_Requires_IORInterceptor_Initializer = + &TAO_IORInterceptor_Adapter_Impl::Initializer; + +#else + +static int +TAO_Requires_IORInterceptor_Initializer = + TAO_IORInterceptor_Adapter_Impl::Initializer (); + +#endif /* ACE_HAS_BROKEN_STATIC_CONSTRUCTORS */ + +#include "ace/post.h" + +#endif /* TAO_IORINTERCEPTOR_ADAPTER_IMPL_H */ diff --git a/TAO/tao/IORInterceptor/TAO_IORInterceptor.dsp b/TAO/tao/IORInterceptor/TAO_IORInterceptor.dsp index c93424f1f32..4af1fb0b5e8 100644 --- a/TAO/tao/IORInterceptor/TAO_IORInterceptor.dsp +++ b/TAO/tao/IORInterceptor/TAO_IORInterceptor.dsp @@ -8,12 +8,12 @@ CFG=IORInterceptor - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "IORInterceptor.mak". +!MESSAGE NMAKE /f "TAO_IORInterceptor.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "IORInterceptor.mak" CFG="IORInterceptor - Win32 Debug" +!MESSAGE NMAKE /f "TAO_IORInterceptor.mak" CFG="IORInterceptor - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -43,7 +43,8 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IORINTERCEPTOR_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "TAO_IORINTERCEPTOR_BUILD_DLL" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "TAO_IORINTERCEPTOR_BUILD_DLL" /FD /c +# SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" @@ -53,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 ace.lib TAO.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_IORInterceptor.dll" /libpath:"..\..\tao" /libpath:"..\..\..\ace" !ELSEIF "$(CFG)" == "IORInterceptor - Win32 Debug" @@ -68,8 +69,9 @@ LINK32=link.exe # PROP Intermediate_Dir "debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IORINTERCEPTOR_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "TAO_IORINTERCEPTOR_BUILD_DLL" /YX /FD /c +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IORINTERCEPTOR_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "TAO_IORINTERCEPTOR_BUILD_DLL" /FD /c +# SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" @@ -79,7 +81,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 TAOd.lib aced.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_IORInterceptord.dll" /pdbtype:sept /libpath:"..\..\tao" /libpath:"..\..\..\ace" !ENDIF @@ -92,6 +94,10 @@ LINK32=link.exe # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File +SOURCE=.\IORInterceptor_Adapter_Impl.cpp +# End Source File +# Begin Source File + SOURCE=.\IORInterceptorC.cpp # ADD CPP /GR # End Source File @@ -101,6 +107,10 @@ SOURCE=.\IORInterceptorC.cpp # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File +SOURCE=.\IORInterceptor_Adapter_Impl.h +# End Source File +# Begin Source File + SOURCE=.\iorinterceptor_export.h # End Source File # Begin Source File @@ -116,7 +126,7 @@ SOURCE=.\IORInterceptorC.h SOURCE=.\IORInterceptorC.i # End Source File # End Group -# Begin Group "Rresource Files" +# Begin Group "Resource Files" # PROP Default_Filter "" # End Group diff --git a/TAO/tao/IORInterceptor_Adapter.cpp b/TAO/tao/IORInterceptor_Adapter.cpp new file mode 100644 index 00000000000..184136d993a --- /dev/null +++ b/TAO/tao/IORInterceptor_Adapter.cpp @@ -0,0 +1,24 @@ +// @(#) $Id$ + +#include "tao/IORInterceptor_Adapter.h" +#include "ace/Dynamic_Service.h" + +ACE_RCSID (tao, + IORInterceptor_Adapter, + "$Id$") + +TAO_IORInterceptor_Adapter::~TAO_IORInterceptor_Adapter (void) +{ +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) + +template class ACE_Dynamic_Service; + +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) + +#pragma instantiate ACE_Dynamic_Service + +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + + diff --git a/TAO/tao/IORInterceptor_Adapter.h b/TAO/tao/IORInterceptor_Adapter.h new file mode 100644 index 00000000000..fdffe3716d5 --- /dev/null +++ b/TAO/tao/IORInterceptor_Adapter.h @@ -0,0 +1,74 @@ +// This may look like C, but it's really -*- C++ -*- + +//============================================================================= +/** + * @file IORInterceptor_Adapter.h + * + * $Id$ + * + * @author Jeff Parsons + */ +//============================================================================= + + +#ifndef TAO_IORINTERCEPTOR_ADAPTER_H +#define TAO_IORINTERCEPTOR_ADAPTER_H +#include "ace/pre.h" + +#include "tao/corbafwd.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/Interceptor_List.h" +#include "ace/Service_Object.h" +#include "ace/CORBA_macros.h" + +namespace PortableInterceptor +{ + class Interceptor; + typedef Interceptor *Interceptor_ptr; + class IORInterceptor; + typedef IORInterceptor *IORInterceptor_ptr; +}; + +/** + * @class TAO_IORInterceptor_Adapter + * + * @brief TAO_IORInterceptor_Adapter. + * + * Class that adapts various functions involving the PortableInterceptor + * interfaces IORInfo and IORInterceptor. This is a base class for + * the actual implementation in the TAO_IORInterceptor library. + */ +class TAO_Export TAO_IORInterceptor_Adapter : public ACE_Service_Object +{ +public: + virtual ~TAO_IORInterceptor_Adapter (void); + + virtual void tao_iorinterceptor_release ( + PortableInterceptor::IORInterceptor_ptr + ) = 0; + + virtual PortableInterceptor::Interceptor_ptr tao_iorinterceptor ( + TAO_IORInterceptor_List::TYPE & container, + size_t index + ) = 0; + + virtual void tao_add_iorinterceptor ( + TAO_IORInterceptor_List * list, + TAO_IORInterceptor_List::TYPE & container, + PortableInterceptor::IORInterceptor_ptr interceptor + ACE_ENV_ARG_DECL + ) = 0; + + virtual void tao_iorinterceptor_destroy ( + TAO_IORInterceptor_List::TYPE & container, + size_t ilen + ACE_ENV_ARG_DECL + ) = 0; +}; + +#include "ace/post.h" +#endif /* TAO_IORINTERCEPTOR_ADAPTER_H */ diff --git a/TAO/tao/Interceptor_List.cpp b/TAO/tao/Interceptor_List.cpp index 36ffe0c104e..98c8e393f2d 100644 --- a/TAO/tao/Interceptor_List.cpp +++ b/TAO/tao/Interceptor_List.cpp @@ -3,14 +3,19 @@ // $Id$ #include "tao/Interceptor_List.h" - +#include "tao/IORInterceptor_Adapter.h" #include "tao/CORBA_String.h" +#include "tao/ORB_Core.h" + +#include "ace/Dynamic_Service.h" #if !defined (__ACE_INLINE__) # include "tao/Interceptor_List.inl" #endif /* ! __ACE_INLINE__ */ -ACE_RCSID(tao, Interceptor_List, "$Id$") +ACE_RCSID (tao, + Interceptor_List, + "$Id$") // **************************************************************** @@ -34,7 +39,8 @@ TAO_Interceptor_List::add_interceptor_i ( /// If the Interceptor is not anonymous, make sure an /// Interceptor with the same isn't already registered. CORBA::String_var name = interceptor->name ( - ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_ENV_SINGLE_ARG_PARAMETER + ); ACE_CHECK_RETURN (0); size_t old_len = this->length (); @@ -60,26 +66,35 @@ TAO_Interceptor_List::add_interceptor_i ( { CORBA::String_var existing_name = this->interceptor (i)->name (); - if (ACE_OS_String::strcmp (existing_name.in (), + + if (ACE_OS_String::strcmp (existing_name.in (), name.in ()) == 0) - ACE_THROW_RETURN - (PortableInterceptor::ORBInitInfo::DuplicateName (), - 0); + { + ACE_THROW_RETURN + (PortableInterceptor::ORBInitInfo::DuplicateName (), + 0); + } } } /// Increase the length of the Interceptor sequence by one. size_t new_len = old_len + 1; this->length (new_len); - return old_len; + return old_len; } else - ACE_THROW_RETURN (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO_DEFAULT_MINOR_CODE, - EINVAL), - CORBA::COMPLETED_NO), - 0); + { + ACE_THROW_RETURN ( + CORBA::INV_OBJREF ( + CORBA::SystemException::_tao_minor_code ( + TAO_DEFAULT_MINOR_CODE, + EINVAL + ), + CORBA::COMPLETED_NO + ), + 0 + ); + } } @@ -191,8 +206,20 @@ TAO_IORInterceptor_List::~TAO_IORInterceptor_List (void) { size_t len = this->interceptors_.size (); + TAO_IORInterceptor_Adapter *adapter = + ACE_Dynamic_Service::instance ( + TAO_ORB_Core::iorinterceptor_adapter_name () + ); + + if (adapter == 0) + { + ACE_THROW (CORBA::INTERNAL ()); + } + for (size_t i = 0; i < len; ++i) - CORBA::release (this->interceptors_[i]); + { + adapter->tao_iorinterceptor_release (this->interceptors_[i]); + } } size_t @@ -210,7 +237,19 @@ TAO_IORInterceptor_List::length (size_t len) PortableInterceptor::Interceptor_ptr TAO_IORInterceptor_List::interceptor (size_t index) { - return this->interceptors_[index]; + TAO_IORInterceptor_Adapter *adapter = + ACE_Dynamic_Service::instance ( + TAO_ORB_Core::iorinterceptor_adapter_name () + ); + + if (adapter == 0) + { + ACE_THROW_RETURN (CORBA::INTERNAL (), + PortableInterceptor::Interceptor::_nil ()); + } + + return adapter->tao_iorinterceptor (this->interceptors_, + index); } void @@ -218,14 +257,21 @@ TAO_IORInterceptor_List::add_interceptor ( PortableInterceptor::IORInterceptor_ptr interceptor ACE_ENV_ARG_DECL) { - size_t index = this->add_interceptor_i (interceptor - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + TAO_IORInterceptor_Adapter *adapter = + ACE_Dynamic_Service::instance ( + TAO_ORB_Core::iorinterceptor_adapter_name () + ); - this->interceptors_[index] = - PortableInterceptor::IORInterceptor::_duplicate (interceptor); -} + if (adapter == 0) + { + ACE_THROW (CORBA::INTERNAL ()); + } + adapter->tao_add_iorinterceptor (this, + this->interceptors_, + interceptor + ACE_ENV_ARG_PARAMETER); +} #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) diff --git a/TAO/tao/Interceptor_List.h b/TAO/tao/Interceptor_List.h index 7dbf3306be3..a43958bec46 100644 --- a/TAO/tao/Interceptor_List.h +++ b/TAO/tao/Interceptor_List.h @@ -49,7 +49,8 @@ protected: /// Register an in interceptor with interceptor list. size_t add_interceptor_i ( PortableInterceptor::Interceptor_ptr interceptor - ACE_ENV_ARG_DECL) + ACE_ENV_ARG_DECL + ) ACE_THROW_SPEC ((CORBA::SystemException, PortableInterceptor::ORBInitInfo::DuplicateName)); @@ -61,7 +62,8 @@ protected: /// Return the interceptor in sequence element . virtual PortableInterceptor::Interceptor_ptr interceptor ( - size_t index) = 0; + size_t index + ) = 0; }; @@ -93,7 +95,7 @@ public: ACE_ENV_ARG_DECL); /// Return reference to the underlying Portable Interceptor array. - TYPE &interceptors (void); + TYPE & interceptors (void); protected: @@ -186,11 +188,16 @@ public: ~TAO_IORInterceptor_List (void); /// Register an IOR interceptor. - void add_interceptor (PortableInterceptor::IORInterceptor_ptr i + void add_interceptor (PortableInterceptor::IORInterceptor_ptr ACE_ENV_ARG_DECL); + /// Callback made from the IORInterceptor_Adaper_Impl, where the + /// knowledge of type resides. + size_t add_interceptor_helper (PortableInterceptor::Interceptor_ptr + ACE_ENV_ARG_DECL); + /// Return reference to the underlying Portable Interceptor array. - TYPE &interceptors (void); + TYPE & interceptors (void); protected: diff --git a/TAO/tao/Interceptor_List.inl b/TAO/tao/Interceptor_List.inl index 8b49ce536d1..9b860ae0143 100644 --- a/TAO/tao/Interceptor_List.inl +++ b/TAO/tao/Interceptor_List.inl @@ -20,8 +20,19 @@ TAO_ServerRequestInterceptor_List::interceptors (void) // ------------------ +ACE_INLINE size_t +TAO_IORInterceptor_List::add_interceptor_helper ( + PortableInterceptor::Interceptor_ptr interceptor + ACE_ENV_ARG_DECL + ) +{ + return this->add_interceptor_i (interceptor + ACE_ENV_ARG_PARAMETER); +} + ACE_INLINE TAO_IORInterceptor_List::TYPE & TAO_IORInterceptor_List::interceptors (void) { return this->interceptors_; } + diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index cfa544dcc1a..79b485a42f5 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -35,7 +35,7 @@ #include "Thread_Lane_Resources_Manager.h" #include "Protocols_Hooks.h" - +#include "IORInterceptor_Adapter.h" #if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1) # include "Buffering_Constraint_Policy.h" @@ -114,6 +114,7 @@ TAO_ORB_Core_Static_Resources::TAO_ORB_Core_Static_Resources (void) dynamic_adapter_name_ ("Dynamic_Adapter"), ifr_client_adapter_name_ ("IFR_Client_Adapter"), typecodefactory_adapter_name_ ("TypeCodeFactory_Adapter"), + iorinterceptor_adapter_name_ ("IORInterceptor_Adapter"), poa_factory_name_ ("TAO_POA"), poa_factory_directive_ ("dynamic TAO_POA Service_Object * TAO_PortableServer:_make_TAO_Object_Adapter_Factory()") { @@ -1203,6 +1204,18 @@ TAO_ORB_Core::typecodefactory_adapter_name (void) return TAO_ORB_Core_Static_Resources::instance ()->typecodefactory_adapter_name_.c_str(); } +void +TAO_ORB_Core::iorinterceptor_adapter_name (const char *name) +{ + TAO_ORB_Core_Static_Resources::instance ()->iorinterceptor_adapter_name_ = name; +} + +const char * +TAO_ORB_Core::iorinterceptor_adapter_name (void) +{ + return TAO_ORB_Core_Static_Resources::instance ()->iorinterceptor_adapter_name_.c_str(); +} + TAO_Resource_Factory * TAO_ORB_Core::resource_factory (void) { @@ -1949,6 +1962,7 @@ TAO_ORB_Core::destroy_interceptors (ACE_ENV_SINGLE_ARG_DECL) len = client_interceptors.size (); ilen = len; + for (size_t i = 0; i < len; ++i) { // Destroy the interceptors in reverse order in case the array @@ -1972,6 +1986,7 @@ TAO_ORB_Core::destroy_interceptors (ACE_ENV_SINGLE_ARG_DECL) len = server_interceptors.size (); ilen = len; + for (size_t j = 0; j < len; ++j) { // Destroy the interceptors in reverse order in case the array @@ -1997,6 +2012,17 @@ TAO_ORB_Core::destroy_interceptors (ACE_ENV_SINGLE_ARG_DECL) len = ior_interceptors.size (); ilen = len; + + TAO_IORInterceptor_Adapter *adapter = + ACE_Dynamic_Service::instance ( + TAO_ORB_Core::iorinterceptor_adapter_name () + ); + + if (adapter == 0) + { + ACE_THROW (CORBA::INTERNAL ()); + } + for (size_t k = 0; k < len; ++k) { // Destroy the interceptors in reverse order in case the array @@ -2004,7 +2030,9 @@ TAO_ORB_Core::destroy_interceptors (ACE_ENV_SINGLE_ARG_DECL) // occurs afterwards. --ilen; - ior_interceptors[ilen]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); + adapter->tao_iorinterceptor_destroy (ior_interceptors, + ilen + ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; // Since Interceptor::destroy() can throw an exception, decrease @@ -2019,8 +2047,11 @@ TAO_ORB_Core::destroy_interceptors (ACE_ENV_SINGLE_ARG_DECL) { // .. catch all the exceptions.. if (TAO_debug_level > 3) - ACE_DEBUG ((LM_DEBUG, - ACE_LIB_TEXT ("(%P|%t) Exception in TAO_ORB_Core::destroy_interceptors () \n"))); + { + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("(%P|%t) Exception in TAO_ORB_Core"), + ACE_LIB_TEXT ("::destroy_interceptors () \n"))); + } } ACE_ENDTRY; diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 2e5e69b979d..0afe0eb3428 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -400,9 +400,8 @@ public: /// Sets the name of the POA factory and the dynamic service /// configurator directive to load it if needed. - static void set_poa_factory ( - const char *poa_factory_name, - const char *poa_factory_directive); + static void set_poa_factory (const char *poa_factory_name, + const char *poa_factory_directive); /// Access the POA factory name. static const ACE_CString &poa_factory_name (void); @@ -428,6 +427,12 @@ public: /// Gets the value of TAO_ORB_Core::typecodefactory_adapter_name_. static const char *typecodefactory_adapter_name (void); + /// Sets the value of TAO_ORB_Core::iorinterceptor_adapter_name_. + static void iorinterceptor_adapter_name (const char *name); + + /// Gets the value of TAO_ORB_Core::iorinterceptor_adapter_name_. + static const char *iorinterceptor_adapter_name (void); + /// See if we have a collocated address, if yes, return the POA /// associated with the address. int is_collocated (const TAO_MProfile& mprofile); @@ -1344,6 +1349,14 @@ public: // the value to "Concrete_TypeCodeFactory_Adapter". ACE_CString typecodefactory_adapter_name_; + // Name of the service object used to adapt function calls on + // the PortableInterceptor interfaces IORInfo and IORInterceptor. + // The default value is "IORInterceptor_Adapter". If the + // IORInterceptor library is linked, the corresponding accessor + // function iorinterceptor_adapter_name() will be called to set + // the value to "Concrete_IORInterceptor_Adapter". + ACE_CString iorinterceptor_adapter_name_; + // Name of the service object used to create the RootPOA. The // default value is "TAO_POA". If TAO_RTCORBA is loaded, this // will be changed to TAO_RT_POA so that a POA equipped with diff --git a/TAO/tao/ObjectReferenceTemplate.pidl b/TAO/tao/ObjectReferenceTemplate.pidl index 037c785a0ea..71e2ba6c1cf 100644 --- a/TAO/tao/ObjectReferenceTemplate.pidl +++ b/TAO/tao/ObjectReferenceTemplate.pidl @@ -33,9 +33,7 @@ #define _OBJECT_REFERENCE_TEMPLATE_IDL_ #include - -#include -#include +#include module PortableInterceptor { diff --git a/TAO/tao/ObjectReferenceTemplateC.cpp b/TAO/tao/ObjectReferenceTemplateC.cpp index a1ba3becaa3..8da6f43fc5b 100644 --- a/TAO/tao/ObjectReferenceTemplateC.cpp +++ b/TAO/tao/ObjectReferenceTemplateC.cpp @@ -43,276 +43,6 @@ #include "ObjectReferenceTemplateC.i" #endif /* !defined INLINE */ -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_ServerId[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 45, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x53657276), - ACE_NTOHL (0x65724964), - ACE_NTOHL (0x3a312e30), - ACE_NTOHL (0x0), // repository ID = IDL:omg.org/PortableInterceptor/ServerId:1.0 - 9, - ACE_NTOHL (0x53657276), - ACE_NTOHL (0x65724964), - ACE_NTOHL (0x0), // name = ServerId - CORBA::tk_string, - 0U, // string length -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ServerId ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_ServerId), - (char *) &_oc_PortableInterceptor_ServerId, - 0, - sizeof (PortableInterceptor::ServerId) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_ServerId, - &_tc_TAO_tc_PortableInterceptor_ServerId - ) -TAO_NAMESPACE_END - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_ORBId[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 42, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x4f524249), - ACE_NTOHL (0x643a312e), - ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/PortableInterceptor/ORBId:1.0 - 6, - ACE_NTOHL (0x4f524249), - ACE_NTOHL (0x64000000), // name = ORBId - CORBA::tk_string, - 0U, // string length -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ORBId ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_ORBId), - (char *) &_oc_PortableInterceptor_ORBId, - 0, - sizeof (PortableInterceptor::ORBId) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_ORBId, - &_tc_TAO_tc_PortableInterceptor_ORBId - ) -TAO_NAMESPACE_END - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_AdapterName[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 48, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x41646170), - ACE_NTOHL (0x7465724e), - ACE_NTOHL (0x616d653a), - ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/PortableInterceptor/AdapterName:1.0 - 12, - ACE_NTOHL (0x41646170), - ACE_NTOHL (0x7465724e), - ACE_NTOHL (0x616d6500), // name = AdapterName - CORBA::tk_alias, // typecode kind for typedefs - 80, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - 32, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x434f5242), - ACE_NTOHL (0x412f5374), - ACE_NTOHL (0x72696e67), - ACE_NTOHL (0x5365713a), - ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CORBA/StringSeq:1.0 - 10, - ACE_NTOHL (0x53747269), - ACE_NTOHL (0x6e675365), - ACE_NTOHL (0x71000000), // name = StringSeq - CORBA::tk_sequence, // typecode kind - 16, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - CORBA::tk_string, - 0U, // string length - 0U, - - -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_AdapterName ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_AdapterName), - (char *) &_oc_PortableInterceptor_AdapterName, - 0, - sizeof (PortableInterceptor::AdapterName) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_AdapterName, - &_tc_TAO_tc_PortableInterceptor_AdapterName - ) -TAO_NAMESPACE_END - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_ObjectId[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 45, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x4f626a65), - ACE_NTOHL (0x63744964), - ACE_NTOHL (0x3a312e30), - ACE_NTOHL (0x0), // repository ID = IDL:omg.org/PortableInterceptor/ObjectId:1.0 - 9, - ACE_NTOHL (0x4f626a65), - ACE_NTOHL (0x63744964), - ACE_NTOHL (0x0), // name = ObjectId - CORBA::tk_alias, // typecode kind for typedefs - 76, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x434f5242), - ACE_NTOHL (0x412f4f63), - ACE_NTOHL (0x74657453), - ACE_NTOHL (0x65713a31), - ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0 - 9, - ACE_NTOHL (0x4f637465), - ACE_NTOHL (0x74536571), - ACE_NTOHL (0x0), // name = OctetSeq - CORBA::tk_sequence, // typecode kind - 12, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - CORBA::tk_octet, - - 0U, - - -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ObjectId ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_ObjectId), - (char *) &_oc_PortableInterceptor_ObjectId, - 0, - sizeof (PortableInterceptor::ObjectId) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_ObjectId, - &_tc_TAO_tc_PortableInterceptor_ObjectId - ) -TAO_NAMESPACE_END - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_ObjectReferenceFactory[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 59, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x4f626a65), - ACE_NTOHL (0x63745265), - ACE_NTOHL (0x66657265), - ACE_NTOHL (0x6e636546), - ACE_NTOHL (0x6163746f), - ACE_NTOHL (0x72793a31), - ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/PortableInterceptor/ObjectReferenceFactory:1.0 - 23, - ACE_NTOHL (0x4f626a65), - ACE_NTOHL (0x63745265), - ACE_NTOHL (0x66657265), - ACE_NTOHL (0x6e636546), - ACE_NTOHL (0x6163746f), - ACE_NTOHL (0x72790000), // name = ObjectReferenceFactory - 2, // value modifier - CORBA::tk_null, // no stateful base valuetype - -0, // member count - }; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ObjectReferenceFactory ( - CORBA::tk_value, - sizeof (_oc_PortableInterceptor_ObjectReferenceFactory), - (char *) &_oc_PortableInterceptor_ObjectReferenceFactory, - 0, - sizeof (PortableInterceptor::ObjectReferenceFactory) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_ObjectReferenceFactory, - &_tc_TAO_tc_PortableInterceptor_ObjectReferenceFactory - ) -TAO_NAMESPACE_END - // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_valuetype/valuetype_cs.cpp:95 @@ -517,6 +247,58 @@ PortableInterceptor::ObjectReferenceFactory_out::operator-> (void) // ************************************************************* +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + +static const CORBA::Long _oc_PortableInterceptor_ObjectReferenceFactory[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 59, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x506f7274), + ACE_NTOHL (0x61626c65), + ACE_NTOHL (0x496e7465), + ACE_NTOHL (0x72636570), + ACE_NTOHL (0x746f722f), + ACE_NTOHL (0x4f626a65), + ACE_NTOHL (0x63745265), + ACE_NTOHL (0x66657265), + ACE_NTOHL (0x6e636546), + ACE_NTOHL (0x6163746f), + ACE_NTOHL (0x72793a31), + ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/PortableInterceptor/ObjectReferenceFactory:1.0 + 23, + ACE_NTOHL (0x4f626a65), + ACE_NTOHL (0x63745265), + ACE_NTOHL (0x66657265), + ACE_NTOHL (0x6e636546), + ACE_NTOHL (0x6163746f), + ACE_NTOHL (0x72790000), // name = ObjectReferenceFactory + 2, // value modifier + CORBA::tk_null, // no stateful base valuetype + +0, // member count + }; + +static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ObjectReferenceFactory ( + CORBA::tk_value, + sizeof (_oc_PortableInterceptor_ObjectReferenceFactory), + (char *) &_oc_PortableInterceptor_ObjectReferenceFactory, + 0, + sizeof (PortableInterceptor::ObjectReferenceFactory) + ); + +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (PortableInterceptor) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_ObjectReferenceFactory, + &_tc_TAO_tc_PortableInterceptor_ObjectReferenceFactory + ) +TAO_NAMESPACE_END + // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_valuetype/valuetype_cs.cpp:138 diff --git a/TAO/tao/ObjectReferenceTemplateC.h b/TAO/tao/ObjectReferenceTemplateC.h index e92cbee833a..b136bb3f9a4 100644 --- a/TAO/tao/ObjectReferenceTemplateC.h +++ b/TAO/tao/ObjectReferenceTemplateC.h @@ -26,15 +26,12 @@ #define _TAO_IDL_ORIG_OBJECTREFERENCETEMPLATEC_H_ #include "ace/pre.h" -#include "tao/corbafwd.h" +#include "PI_ForwardC.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/TAO_Export.h" -#include "OctetSeqC.h" -#include "StringSeqC.h" #include "ValueBase.h" #include "Exception.h" #include "Any_T.h" @@ -68,54 +65,6 @@ TAO_NAMESPACE PortableInterceptor { - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:368 - - typedef char * ServerId; - typedef CORBA::String_var ServerId_var; - typedef CORBA::String_out ServerId_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServerId; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:368 - - typedef char * ORBId; - typedef CORBA::String_var ORBId_var; - typedef CORBA::String_out ORBId_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ORBId; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:427 - - typedef CORBA::StringSeq AdapterName; - typedef CORBA::StringSeq_var AdapterName_var; - typedef CORBA::StringSeq_out AdapterName_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AdapterName; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:427 - - typedef CORBA::OctetSeq ObjectId; - typedef CORBA::OctetSeq_var ObjectId_var; - typedef CORBA::OctetSeq_out ObjectId_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ObjectId; - // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_valuetype/valuetype_ch.cpp:52 diff --git a/TAO/tao/PI_Forward.pidl b/TAO/tao/PI_Forward.pidl new file mode 100644 index 00000000000..aee3389a241 --- /dev/null +++ b/TAO/tao/PI_Forward.pidl @@ -0,0 +1,48 @@ +// -*- IDL -*- + +/** + * @file PI_Forward.pidl + * + * $Id$ + * + * @brief Pre-compiled IDL source for typedefs in the + * PortableInterceptor module. + * + * This file is used to generate PI_Forward.{h,i,cpp}, + * using the following command: + * + * tao_idl.exe + * -o orig -Gp -Gd -Ge 1 + * -Wb,export_macro=TAO_Export + * -Wb,export_include=tao/TAO_Export.h + * -Wb,pre_include="ace/pre.h" + * -Wb,post_include="ace/post.h" + * PI_Forward.pidl + * + * and then: + * + * cp orig/PI_Forward.{h,i,cpp} . + * + * The code left in PI_Forward.{h,i,cpp} is ready for use. + * + */ + +// File: PI_Forward.pidl + +#ifndef _PI_FORWARD_IDL_ +#define _PI_FORWARD_IDL_ + +#include +#include + +module PortableInterceptor +{ + typeprefix PortableInterceptor "omg.org"; + + typedef string ServerId; + typedef string ORBId; + typedef CORBA::StringSeq AdapterName; + typedef CORBA::OctetSeq ObjectId; +}; + +#endif /* _PI_FORWARD_IDL_ */ diff --git a/TAO/tao/PI_ForwardC.cpp b/TAO/tao/PI_ForwardC.cpp new file mode 100644 index 00000000000..929808c426f --- /dev/null +++ b/TAO/tao/PI_ForwardC.cpp @@ -0,0 +1,259 @@ +// -*- C++ -*- +// +// $Id$ + +// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** +// TAO and the TAO IDL Compiler have been developed by: +// Center for Distributed Object Computing +// Washington University +// St. Louis, MO +// USA +// http://www.cs.wustl.edu/~schmidt/doc-center.html +// and +// Distributed Object Computing Laboratory +// University of California at Irvine +// Irvine, CA +// USA +// http://doc.ece.uci.edu/ +// and +// Institute for Software Integrated Systems +// Vanderbilt University +// Nashville, TN +// USA +// http://www.isis.vanderbilt.edu/ +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:314 + + +#include "PI_ForwardC.h" + +#if defined (__BORLANDC__) +#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig +#endif /* __BORLANDC__ */ + +#if !defined (__ACE_INLINE__) +#include "PI_ForwardC.i" +#endif /* !defined INLINE */ + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + +static const CORBA::Long _oc_PortableInterceptor_ServerId[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 45, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x506f7274), + ACE_NTOHL (0x61626c65), + ACE_NTOHL (0x496e7465), + ACE_NTOHL (0x72636570), + ACE_NTOHL (0x746f722f), + ACE_NTOHL (0x53657276), + ACE_NTOHL (0x65724964), + ACE_NTOHL (0x3a312e30), + ACE_NTOHL (0x0), // repository ID = IDL:omg.org/PortableInterceptor/ServerId:1.0 + 9, + ACE_NTOHL (0x53657276), + ACE_NTOHL (0x65724964), + ACE_NTOHL (0x0), // name = ServerId + CORBA::tk_string, + 0U, // string length +}; + +static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ServerId ( + CORBA::tk_alias, + sizeof (_oc_PortableInterceptor_ServerId), + (char *) &_oc_PortableInterceptor_ServerId, + 0, + sizeof (PortableInterceptor::ServerId) + ); + +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (PortableInterceptor) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_ServerId, + &_tc_TAO_tc_PortableInterceptor_ServerId + ) +TAO_NAMESPACE_END + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + +static const CORBA::Long _oc_PortableInterceptor_ORBId[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 42, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x506f7274), + ACE_NTOHL (0x61626c65), + ACE_NTOHL (0x496e7465), + ACE_NTOHL (0x72636570), + ACE_NTOHL (0x746f722f), + ACE_NTOHL (0x4f524249), + ACE_NTOHL (0x643a312e), + ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/PortableInterceptor/ORBId:1.0 + 6, + ACE_NTOHL (0x4f524249), + ACE_NTOHL (0x64000000), // name = ORBId + CORBA::tk_string, + 0U, // string length +}; + +static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ORBId ( + CORBA::tk_alias, + sizeof (_oc_PortableInterceptor_ORBId), + (char *) &_oc_PortableInterceptor_ORBId, + 0, + sizeof (PortableInterceptor::ORBId) + ); + +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (PortableInterceptor) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_ORBId, + &_tc_TAO_tc_PortableInterceptor_ORBId + ) +TAO_NAMESPACE_END + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + +static const CORBA::Long _oc_PortableInterceptor_AdapterName[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 48, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x506f7274), + ACE_NTOHL (0x61626c65), + ACE_NTOHL (0x496e7465), + ACE_NTOHL (0x72636570), + ACE_NTOHL (0x746f722f), + ACE_NTOHL (0x41646170), + ACE_NTOHL (0x7465724e), + ACE_NTOHL (0x616d653a), + ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/PortableInterceptor/AdapterName:1.0 + 12, + ACE_NTOHL (0x41646170), + ACE_NTOHL (0x7465724e), + ACE_NTOHL (0x616d6500), // name = AdapterName + CORBA::tk_alias, // typecode kind for typedefs + 80, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 32, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x434f5242), + ACE_NTOHL (0x412f5374), + ACE_NTOHL (0x72696e67), + ACE_NTOHL (0x5365713a), + ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CORBA/StringSeq:1.0 + 10, + ACE_NTOHL (0x53747269), + ACE_NTOHL (0x6e675365), + ACE_NTOHL (0x71000000), // name = StringSeq + CORBA::tk_sequence, // typecode kind + 16, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_string, + 0U, // string length + 0U, + + +}; + +static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_AdapterName ( + CORBA::tk_alias, + sizeof (_oc_PortableInterceptor_AdapterName), + (char *) &_oc_PortableInterceptor_AdapterName, + 0, + sizeof (PortableInterceptor::AdapterName) + ); + +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (PortableInterceptor) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_AdapterName, + &_tc_TAO_tc_PortableInterceptor_AdapterName + ) +TAO_NAMESPACE_END + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + +static const CORBA::Long _oc_PortableInterceptor_ObjectId[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 45, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x506f7274), + ACE_NTOHL (0x61626c65), + ACE_NTOHL (0x496e7465), + ACE_NTOHL (0x72636570), + ACE_NTOHL (0x746f722f), + ACE_NTOHL (0x4f626a65), + ACE_NTOHL (0x63744964), + ACE_NTOHL (0x3a312e30), + ACE_NTOHL (0x0), // repository ID = IDL:omg.org/PortableInterceptor/ObjectId:1.0 + 9, + ACE_NTOHL (0x4f626a65), + ACE_NTOHL (0x63744964), + ACE_NTOHL (0x0), // name = ObjectId + CORBA::tk_alias, // typecode kind for typedefs + 76, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 31, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x434f5242), + ACE_NTOHL (0x412f4f63), + ACE_NTOHL (0x74657453), + ACE_NTOHL (0x65713a31), + ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0 + 9, + ACE_NTOHL (0x4f637465), + ACE_NTOHL (0x74536571), + ACE_NTOHL (0x0), // name = OctetSeq + CORBA::tk_sequence, // typecode kind + 12, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_octet, + + 0U, + + +}; + +static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ObjectId ( + CORBA::tk_alias, + sizeof (_oc_PortableInterceptor_ObjectId), + (char *) &_oc_PortableInterceptor_ObjectId, + 0, + sizeof (PortableInterceptor::ObjectId) + ); + +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (PortableInterceptor) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_ObjectId, + &_tc_TAO_tc_PortableInterceptor_ObjectId + ) +TAO_NAMESPACE_END + diff --git a/TAO/tao/PI_ForwardC.h b/TAO/tao/PI_ForwardC.h new file mode 100644 index 00000000000..1e7d72c5f4b --- /dev/null +++ b/TAO/tao/PI_ForwardC.h @@ -0,0 +1,155 @@ +// -*- C++ -*- +// +// $Id$ + +// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** +// TAO and the TAO IDL Compiler have been developed by: +// Center for Distributed Object Computing +// Washington University +// St. Louis, MO +// USA +// http://www.cs.wustl.edu/~schmidt/doc-center.html +// and +// Distributed Object Computing Laboratory +// University of California at Irvine +// Irvine, CA +// USA +// http://doc.ece.uci.edu/ +// and +// Institute for Software Integrated Systems +// Vanderbilt University +// Nashville, TN +// USA +// http://www.isis.vanderbilt.edu/ +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:151 + +#ifndef _TAO_IDL_ORIG_PI_FORWARDC_H_ +#define _TAO_IDL_ORIG_PI_FORWARDC_H_ + +#include "ace/pre.h" + +#include "tao/TAO_Export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "OctetSeqC.h" +#include "StringSeqC.h" + +#if defined (TAO_EXPORT_MACRO) +#undef TAO_EXPORT_MACRO +#endif +#define TAO_EXPORT_MACRO TAO_Export + +#if defined (TAO_EXPORT_NESTED_CLASSES) +# if defined (TAO_EXPORT_NESTED_MACRO) +# undef TAO_EXPORT_NESTED_MACRO +# endif /* defined (TAO_EXPORT_NESTED_MACRO) */ +# define TAO_EXPORT_NESTED_MACRO TAO_Export +#endif /* TAO_EXPORT_NESTED_CLASSES */ + +#if defined(_MSC_VER) +#if (_MSC_VER >= 1200) +#pragma warning(push) +#endif /* _MSC_VER >= 1200 */ +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +#if defined (__BORLANDC__) +#pragma option push -w-rvl -w-rch -w-ccc -w-inl +#endif /* __BORLANDC__ */ + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_ch.cpp:48 + +TAO_NAMESPACE PortableInterceptor +{ + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:367 + + typedef char * ServerId; + typedef CORBA::String_var ServerId_var; + typedef CORBA::String_out ServerId_out; + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 + + TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServerId; + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:367 + + typedef char * ORBId; + typedef CORBA::String_var ORBId_var; + typedef CORBA::String_out ORBId_out; + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 + + TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ORBId; + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:426 + + typedef CORBA::StringSeq AdapterName; + typedef CORBA::StringSeq_var AdapterName_var; + typedef CORBA::StringSeq_out AdapterName_out; + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 + + TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AdapterName; + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:426 + + typedef CORBA::OctetSeq ObjectId; + typedef CORBA::OctetSeq_var ObjectId_var; + typedef CORBA::OctetSeq_out ObjectId_out; + + // TAO_IDL - Generated from + // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 + + TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ObjectId; + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_ch.cpp:67 + +} +TAO_NAMESPACE_CLOSE // module PortableInterceptor + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/cdr_op.cpp:48 + +#ifndef __ACE_INLINE__ + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/cdr_op.cpp:64 + +#endif /* __ACE_INLINE__ */ + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:1018 + +#if defined (__ACE_INLINE__) +#include "PI_ForwardC.i" +#endif /* defined INLINE */ + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#if defined (__BORLANDC__) +#pragma option pop +#endif /* __BORLANDC__ */ + +#include "ace/post.h" +#endif /* ifndef */ + diff --git a/TAO/tao/PI_ForwardC.i b/TAO/tao/PI_ForwardC.i new file mode 100644 index 00000000000..38aa32569ba --- /dev/null +++ b/TAO/tao/PI_ForwardC.i @@ -0,0 +1,28 @@ +// -*- C++ -*- +// +// $Id$ + +// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** +// TAO and the TAO IDL Compiler have been developed by: +// Center for Distributed Object Computing +// Washington University +// St. Louis, MO +// USA +// http://www.cs.wustl.edu/~schmidt/doc-center.html +// and +// Distributed Object Computing Laboratory +// University of California at Irvine +// Irvine, CA +// USA +// http://doc.ece.uci.edu/ +// and +// Institute for Software Integrated Systems +// Vanderbilt University +// Nashville, TN +// USA +// http://www.isis.vanderbilt.edu/ +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + + diff --git a/TAO/tao/PortableInterceptor.pidl b/TAO/tao/PortableInterceptor.pidl index 7f8b4849df6..16dcfb474b0 100644 --- a/TAO/tao/PortableInterceptor.pidl +++ b/TAO/tao/PortableInterceptor.pidl @@ -37,6 +37,7 @@ #ifndef _PORTABLE_INTERCEPTOR_IDL_ #define _PORTABLE_INTERCEPTOR_IDL_ +#include #include #include #include @@ -107,11 +108,6 @@ module PortableInterceptor { in boolean replace); }; - typedef string ServerId; - typedef string ORBId; - typedef CORBA::StringSeq AdapterName; - typedef CORBA::OctetSeq ObjectId; - local interface ServerRequestInfo : RequestInfo { readonly attribute any sending_exception; readonly attribute ServerId server_id; diff --git a/TAO/tao/PortableInterceptorC.cpp b/TAO/tao/PortableInterceptorC.cpp index b1fd561a59b..d18294423e5 100644 --- a/TAO/tao/PortableInterceptorC.cpp +++ b/TAO/tao/PortableInterceptorC.cpp @@ -2061,224 +2061,6 @@ TAO_NAMESPACE_DEFINE ( ) TAO_NAMESPACE_END -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_ServerId[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 45, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x53657276), - ACE_NTOHL (0x65724964), - ACE_NTOHL (0x3a312e30), - ACE_NTOHL (0x0), // repository ID = IDL:omg.org/PortableInterceptor/ServerId:1.0 - 9, - ACE_NTOHL (0x53657276), - ACE_NTOHL (0x65724964), - ACE_NTOHL (0x0), // name = ServerId - CORBA::tk_string, - 0U, // string length -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ServerId ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_ServerId), - (char *) &_oc_PortableInterceptor_ServerId, - 0, - sizeof (PortableInterceptor::ServerId) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_ServerId, - &_tc_TAO_tc_PortableInterceptor_ServerId - ) -TAO_NAMESPACE_END - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_ORBId[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 42, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x4f524249), - ACE_NTOHL (0x643a312e), - ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/PortableInterceptor/ORBId:1.0 - 6, - ACE_NTOHL (0x4f524249), - ACE_NTOHL (0x64000000), // name = ORBId - CORBA::tk_string, - 0U, // string length -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ORBId ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_ORBId), - (char *) &_oc_PortableInterceptor_ORBId, - 0, - sizeof (PortableInterceptor::ORBId) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_ORBId, - &_tc_TAO_tc_PortableInterceptor_ORBId - ) -TAO_NAMESPACE_END - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_AdapterName[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 48, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x41646170), - ACE_NTOHL (0x7465724e), - ACE_NTOHL (0x616d653a), - ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/PortableInterceptor/AdapterName:1.0 - 12, - ACE_NTOHL (0x41646170), - ACE_NTOHL (0x7465724e), - ACE_NTOHL (0x616d6500), // name = AdapterName - CORBA::tk_alias, // typecode kind for typedefs - 80, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - 32, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x434f5242), - ACE_NTOHL (0x412f5374), - ACE_NTOHL (0x72696e67), - ACE_NTOHL (0x5365713a), - ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CORBA/StringSeq:1.0 - 10, - ACE_NTOHL (0x53747269), - ACE_NTOHL (0x6e675365), - ACE_NTOHL (0x71000000), // name = StringSeq - CORBA::tk_sequence, // typecode kind - 16, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - CORBA::tk_string, - 0U, // string length - 0U, - - -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_AdapterName ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_AdapterName), - (char *) &_oc_PortableInterceptor_AdapterName, - 0, - sizeof (PortableInterceptor::AdapterName) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_AdapterName, - &_tc_TAO_tc_PortableInterceptor_AdapterName - ) -TAO_NAMESPACE_END - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 - -static const CORBA::Long _oc_PortableInterceptor_ObjectId[] = -{ - TAO_ENCAP_BYTE_ORDER, // byte order - 45, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x506f7274), - ACE_NTOHL (0x61626c65), - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x72636570), - ACE_NTOHL (0x746f722f), - ACE_NTOHL (0x4f626a65), - ACE_NTOHL (0x63744964), - ACE_NTOHL (0x3a312e30), - ACE_NTOHL (0x0), // repository ID = IDL:omg.org/PortableInterceptor/ObjectId:1.0 - 9, - ACE_NTOHL (0x4f626a65), - ACE_NTOHL (0x63744964), - ACE_NTOHL (0x0), // name = ObjectId - CORBA::tk_alias, // typecode kind for typedefs - 76, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x434f5242), - ACE_NTOHL (0x412f4f63), - ACE_NTOHL (0x74657453), - ACE_NTOHL (0x65713a31), - ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0 - 9, - ACE_NTOHL (0x4f637465), - ACE_NTOHL (0x74536571), - ACE_NTOHL (0x0), // name = OctetSeq - CORBA::tk_sequence, // typecode kind - 12, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - CORBA::tk_octet, - - 0U, - - -}; - -static CORBA::TypeCode _tc_TAO_tc_PortableInterceptor_ObjectId ( - CORBA::tk_alias, - sizeof (_oc_PortableInterceptor_ObjectId), - (char *) &_oc_PortableInterceptor_ObjectId, - 0, - sizeof (PortableInterceptor::ObjectId) - ); - -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (PortableInterceptor) -TAO_NAMESPACE_DEFINE ( - ::CORBA::TypeCode_ptr, - _tc_ObjectId, - &_tc_TAO_tc_PortableInterceptor_ObjectId - ) -TAO_NAMESPACE_END - // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_cs.cpp:63 @@ -3809,6 +3591,18 @@ PortableInterceptor::PolicyFactory::_duplicate (PolicyFactory_ptr obj) return obj; } +// Hand-crafted. + +::CORBA::Policy_ptr +PortableInterceptor::PolicyFactory::_create_policy (CORBA::PolicyType + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + CORBA::PolicyError)) +{ + ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), + CORBA::Policy::_nil ()); +} + void *PortableInterceptor::PolicyFactory::_tao_QueryInterface (ptr_arith_t type) { void *retv = 0; diff --git a/TAO/tao/PortableInterceptorC.h b/TAO/tao/PortableInterceptorC.h index 7b713829df6..47cbf510d1f 100644 --- a/TAO/tao/PortableInterceptorC.h +++ b/TAO/tao/PortableInterceptorC.h @@ -1085,54 +1085,6 @@ TAO_NAMESPACE PortableInterceptor TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ClientRequestInfo; - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:367 - - typedef char * ServerId; - typedef CORBA::String_var ServerId_var; - typedef CORBA::String_out ServerId_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServerId; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:367 - - typedef char * ORBId; - typedef CORBA::String_var ORBId_var; - typedef CORBA::String_out ORBId_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ORBId; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:426 - - typedef CORBA::StringSeq AdapterName; - typedef CORBA::StringSeq_var AdapterName_var; - typedef CORBA::StringSeq_out AdapterName_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AdapterName; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:426 - - typedef CORBA::OctetSeq ObjectId; - typedef CORBA::OctetSeq_var ObjectId_var; - typedef CORBA::OctetSeq_out ObjectId_out; - - // TAO_IDL - Generated from - // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 - - TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ObjectId; - // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:52 @@ -1920,6 +1872,17 @@ TAO_NAMESPACE PortableInterceptor , CORBA::PolicyError )) = 0; + // Hand-crafted addition. + + virtual ::CORBA::Policy_ptr _create_policy ( + CORBA::PolicyType type + ACE_ENV_ARG_DECL_WITH_DEFAULTS + ) + ACE_THROW_SPEC (( + CORBA::SystemException + , CORBA::PolicyError + )); + // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:267 @@ -2484,6 +2447,14 @@ TAO_NAMESPACE PortableInterceptor #endif /* end #if !defined */ + /// Hand-crafted addition. + /// Register an ORBInitializer with the global ORBInitializer + /// table. + TAO_NAMESPACE_STORAGE_CLASS void register_orb_initializer ( + ORBInitializer_ptr init + TAO_ENV_ARG_DECL_WITH_DEFAULTS + ); + // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44 diff --git a/TAO/tao/TAO.dsp b/TAO/tao/TAO.dsp index 7863b259e1e..7d77c15c0f6 100644 --- a/TAO/tao/TAO.dsp +++ b/TAO/tao/TAO.dsp @@ -547,6 +547,10 @@ SOURCE=.\IOR_Parser.cpp # End Source File # Begin Source File +SOURCE=.\IORInterceptor_Adapter.cpp +# End Source File +# Begin Source File + SOURCE=.\Leader_Follower.cpp # End Source File # Begin Source File @@ -720,6 +724,10 @@ SOURCE=.\Parser_Registry.cpp # End Source File # Begin Source File +SOURCE=.\PI_ForwardC.cpp +# End Source File +# Begin Source File + SOURCE=.\PICurrent.cpp # End Source File # Begin Source File @@ -1409,6 +1417,10 @@ SOURCE=.\IOR_Parser.h # End Source File # Begin Source File +SOURCE=.\IORInterceptor_Adapter.h +# End Source File +# Begin Source File + SOURCE=.\Leader_Follower.h # End Source File # Begin Source File @@ -1589,6 +1601,10 @@ SOURCE=.\Parser_Registry.h # End Source File # Begin Source File +SOURCE=.\PI_ForwardC.h +# End Source File +# Begin Source File + SOURCE=.\PICurrent.h # End Source File # Begin Source File @@ -2285,6 +2301,10 @@ SOURCE=.\Parser_Registry.i # End Source File # Begin Source File +SOURCE=.\PI_ForwardC.i +# End Source File +# Begin Source File + SOURCE=.\PICurrent.inl # End Source File # Begin Source File -- cgit v1.2.1