summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-11 08:00:49 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-11 08:00:49 +0000
commit6e3bdc9705b36eaef39e7b4e577fae7e9d34856c (patch)
treeea098f4b1bdd75aaf4727d99a78fa15f5319476d
parent15ddc06d05336f05c6a12dcc9b13b7d3fcc97c53 (diff)
downloadATCD-6e3bdc9705b36eaef39e7b4e577fae7e9d34856c.tar.gz
ChangeLogTag: Fri Apr 11 02:58:32 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog40
-rw-r--r--TAO/tao/IFR_Client_Adapter.cpp4
-rw-r--r--TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp84
-rw-r--r--TAO/tao/IORInterceptor/IORInterceptor_Adapter_Impl.h91
-rw-r--r--TAO/tao/IORInterceptor/TAO_IORInterceptor.dsp26
-rw-r--r--TAO/tao/IORInterceptor_Adapter.cpp24
-rw-r--r--TAO/tao/IORInterceptor_Adapter.h74
-rw-r--r--TAO/tao/Interceptor_List.cpp90
-rw-r--r--TAO/tao/Interceptor_List.h17
-rw-r--r--TAO/tao/Interceptor_List.inl11
-rw-r--r--TAO/tao/ORB_Core.cpp39
-rw-r--r--TAO/tao/ORB_Core.h19
-rw-r--r--TAO/tao/ObjectReferenceTemplate.pidl4
-rw-r--r--TAO/tao/ObjectReferenceTemplateC.cpp322
-rw-r--r--TAO/tao/ObjectReferenceTemplateC.h53
-rw-r--r--TAO/tao/PI_Forward.pidl48
-rw-r--r--TAO/tao/PI_ForwardC.cpp259
-rw-r--r--TAO/tao/PI_ForwardC.h155
-rw-r--r--TAO/tao/PI_ForwardC.i28
-rw-r--r--TAO/tao/PortableInterceptor.pidl6
-rw-r--r--TAO/tao/PortableInterceptorC.cpp230
-rw-r--r--TAO/tao/PortableInterceptorC.h67
-rw-r--r--TAO/tao/TAO.dsp20
23 files changed, 1072 insertions, 639 deletions
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 <j.parsons@vanderbilt.edu>
+
+ * 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 <j.parsons@vanderbilt.edu>
* 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 <parsons@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#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<TAO_IORInterceptor_Adapter>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Dynamic_Service<TAO_IORInterceptor_Adapter>
+
+#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 <parsons@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#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<TAO_IORInterceptor_Adapter>::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<TAO_IORInterceptor_Adapter>::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<TAO_IORInterceptor_Adapter>::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 <index>.
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<TAO_IORInterceptor_Adapter>::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 <orb.idl>
-
-#include <OctetSeq.pidl>
-#include <StringSeq.pidl>
+#include <PI_Forward.pidl>
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
@@ -44,276 +44,6 @@
#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
void
@@ -518,6 +248,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
PortableInterceptor::ObjectReferenceFactory *
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"
@@ -69,54 +66,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
class ObjectReferenceFactory;
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 <OctetSeq.pidl>
+#include <StringSeq.pidl>
+
+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 <PI_Forward.pidl>
#include <Current.pidl>
#include <Dynamic.pidl>
#include <Messaging_SyncScope.pidl>
@@ -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
@@ -2062,224 +2062,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
int PortableInterceptor::ServerRequestInfo::_tao_class_id = 0;
@@ -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
@@ -1086,54 +1086,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
#if !defined (_PORTABLEINTERCEPTOR_SERVERREQUESTINFO___PTR_CH_)
@@ -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