summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/tao/Bind_Dispatcher_Guard.h4
-rw-r--r--TAO/tao/ClientRequestInfo.h3
-rw-r--r--TAO/tao/ClientRequestInfo_i.h16
-rw-r--r--TAO/tao/ClientRequestInfo_i.inl1
-rw-r--r--TAO/tao/ClientRequestInterceptor.pidl2
-rw-r--r--TAO/tao/ClientRequestInterceptor_Adapter.cpp5
-rw-r--r--TAO/tao/ClientRequestInterceptor_Adapter.h2
-rw-r--r--TAO/tao/CodecFactory.mpc33
-rw-r--r--TAO/tao/CodecFactory/CDR_Encaps_Codec.cpp (renamed from TAO/tao/CDR_Encaps_Codec.cpp)20
-rw-r--r--TAO/tao/CodecFactory/CDR_Encaps_Codec.h (renamed from TAO/tao/CDR_Encaps_Codec.h)7
-rw-r--r--TAO/tao/CodecFactory/CodecFactory.cpp51
-rw-r--r--TAO/tao/CodecFactory/CodecFactory.h63
-rw-r--r--TAO/tao/CodecFactory/CodecFactory_impl.cpp (renamed from TAO/tao/CodecFactory.cpp)6
-rw-r--r--TAO/tao/CodecFactory/CodecFactory_impl.h (renamed from TAO/tao/CodecFactory.h)14
-rw-r--r--TAO/tao/CodecFactory/TAO_CodecFactory.pc.in11
-rw-r--r--TAO/tao/CodecFactory/TAO_CodecFactory.rc30
-rw-r--r--TAO/tao/CodecFactory/codecfactory_export.h40
-rw-r--r--TAO/tao/CodecFactory_ORBInitializer.cpp52
-rw-r--r--TAO/tao/CodecFactory_ORBInitializer.h65
-rw-r--r--TAO/tao/Collocated_Invocation.cpp3
-rw-r--r--TAO/tao/IOP_Codec.pidl2
-rw-r--r--TAO/tao/IOP_IOR.pidl9
-rw-r--r--TAO/tao/InterfaceDef.pidl2
-rw-r--r--TAO/tao/Invocation_Base.cpp3
-rw-r--r--TAO/tao/LocalObject.cpp8
-rw-r--r--TAO/tao/LocalObject.h4
-rw-r--r--TAO/tao/Messaging_PolicyValue.pidl2
-rw-r--r--TAO/tao/Messaging_PolicyValueC.h48
-rw-r--r--TAO/tao/ORB.cpp62
-rw-r--r--TAO/tao/ORBInitInfo.cpp47
-rw-r--r--TAO/tao/ORB_Core.cpp55
-rw-r--r--TAO/tao/ORB_Core.h22
-rw-r--r--TAO/tao/ORB_Core.i27
-rw-r--r--TAO/tao/Object.cpp7
-rw-r--r--TAO/tao/Object.h8
-rw-r--r--TAO/tao/Parser_Registry.cpp7
-rw-r--r--TAO/tao/Policy_Current.cpp80
-rw-r--r--TAO/tao/Policy_Current.h92
-rw-r--r--TAO/tao/Policy_Current.inl7
-rw-r--r--TAO/tao/Policy_Current_Impl.cpp38
-rw-r--r--TAO/tao/Policy_Current_Impl.h82
-rw-r--r--TAO/tao/Policy_Current_Impl.inl24
-rw-r--r--TAO/tao/Policy_Manager.cpp42
-rw-r--r--TAO/tao/Policy_Manager.h72
-rw-r--r--TAO/tao/Policy_Manager.i76
-rw-r--r--TAO/tao/objectid.h10
-rw-r--r--TAO/tao/orbconf.h4
47 files changed, 802 insertions, 466 deletions
diff --git a/TAO/tao/Bind_Dispatcher_Guard.h b/TAO/tao/Bind_Dispatcher_Guard.h
index 6873503f737..e4c992b8ab6 100644
--- a/TAO/tao/Bind_Dispatcher_Guard.h
+++ b/TAO/tao/Bind_Dispatcher_Guard.h
@@ -42,8 +42,10 @@ public:
NO_UNBIND
};
- /// Set and get status
+ /// Get status
int status (void) const;
+
+ /// Set status
void status (int status);
private:
diff --git a/TAO/tao/ClientRequestInfo.h b/TAO/tao/ClientRequestInfo.h
index 15f06bcc7ef..1b503b31476 100644
--- a/TAO/tao/ClientRequestInfo.h
+++ b/TAO/tao/ClientRequestInfo.h
@@ -240,10 +240,8 @@ private:
};
-
// -------------------------------------------------------------------
-
/**
* @class TAO_ClientRequestInfo_Guard
*
@@ -278,7 +276,6 @@ private:
};
-
# if defined (__ACE_INLINE__)
# include "ClientRequestInfo.inl"
# endif /* __ACE_INLINE__ */
diff --git a/TAO/tao/ClientRequestInfo_i.h b/TAO/tao/ClientRequestInfo_i.h
index 55ac729578c..aa8e320735b 100644
--- a/TAO/tao/ClientRequestInfo_i.h
+++ b/TAO/tao/ClientRequestInfo_i.h
@@ -29,8 +29,9 @@
#if (TAO_HAS_INTERCEPTORS == 1)
#include "Invocation_Utils.h"
-#include "PICurrent.h"
+#include "PICurrent_Impl.h"
#include "PICurrent_Copy_Callback.h"
+#include "PIForwardRequestC.h"
class TAO_Service_Context;
@@ -45,6 +46,19 @@ namespace CORBA
typedef AbstractBase *AbstractBase_ptr;
}
+namespace Dynamic
+{
+ class ParameterList;
+ class ExceptionList;
+ typedef CORBA::StringSeq RequestContext;
+ typedef CORBA::StringSeq ContextList;
+}
+
+namespace Messaging
+{
+ typedef CORBA::Short SyncScope;
+}
+
/**
* @class TAO_ClientRequestInfo_i
*
diff --git a/TAO/tao/ClientRequestInfo_i.inl b/TAO/tao/ClientRequestInfo_i.inl
index 877493b58dd..3dbe119d3fd 100644
--- a/TAO/tao/ClientRequestInfo_i.inl
+++ b/TAO/tao/ClientRequestInfo_i.inl
@@ -3,6 +3,7 @@
// $Id$
#include "SystemException.h"
+#include "PortableInterceptorC.h"
ACE_INLINE void
TAO_ClientRequestInfo_i::exception (CORBA::Exception *exception)
diff --git a/TAO/tao/ClientRequestInterceptor.pidl b/TAO/tao/ClientRequestInterceptor.pidl
index 48446e792f6..f12487fb354 100644
--- a/TAO/tao/ClientRequestInterceptor.pidl
+++ b/TAO/tao/ClientRequestInterceptor.pidl
@@ -39,7 +39,7 @@ module PortableInterceptor {
local interface ClientRequestInterceptor : Interceptor
{
- void send_request (in ClientRequestInfo ri) raises (ForwardRequest);
+ void send_request (in ClientRequestInfo ri) raises (ForwardRequest);
void send_poll (in ClientRequestInfo ri);
void receive_reply (in ClientRequestInfo ri);
void receive_exception (in ClientRequestInfo ri) raises (ForwardRequest);
diff --git a/TAO/tao/ClientRequestInterceptor_Adapter.cpp b/TAO/tao/ClientRequestInterceptor_Adapter.cpp
index 9b5ab09ae81..16a2be5b29f 100644
--- a/TAO/tao/ClientRequestInterceptor_Adapter.cpp
+++ b/TAO/tao/ClientRequestInterceptor_Adapter.cpp
@@ -9,6 +9,7 @@
#include "ClientRequestInfo.h"
#include "Invocation_Base.h"
#include "ORB_Core.h"
+#include "PortableInterceptorC.h"
ACE_RCSID (tao,
ClientInterceptorAdapter,
@@ -164,8 +165,8 @@ namespace TAO
}
void
- ClientRequestInterceptor_Adapter:: receive_other (TAO_ClientRequestInfo_i *ri
- ACE_ENV_ARG_DECL)
+ ClientRequestInterceptor_Adapter::receive_other (TAO_ClientRequestInfo_i *ri
+ ACE_ENV_ARG_DECL)
{
// This is an "ending" interception point so we only process the
// interceptors pushed on to the flow stack.
diff --git a/TAO/tao/ClientRequestInterceptor_Adapter.h b/TAO/tao/ClientRequestInterceptor_Adapter.h
index a527b07cd0a..88610590725 100644
--- a/TAO/tao/ClientRequestInterceptor_Adapter.h
+++ b/TAO/tao/ClientRequestInterceptor_Adapter.h
@@ -30,8 +30,8 @@
#if TAO_HAS_INTERCEPTORS == 1
-#include "Interceptor_List.h"
#include "ClientRequestInterceptorC.h"
+#include "Interceptor_List.h"
namespace TAO
{
diff --git a/TAO/tao/CodecFactory.mpc b/TAO/tao/CodecFactory.mpc
new file mode 100644
index 00000000000..0a9575ce991
--- /dev/null
+++ b/TAO/tao/CodecFactory.mpc
@@ -0,0 +1,33 @@
+//$Id$
+project : taolib, core {
+ sharedname = TAO_CodecFactory
+ dynamicflags = TAO_CODECFACTORY_BUILD_DLL
+
+ Source_Files {
+ CodecFactory
+ }
+
+ Header_Files {
+ CodecFactory
+ }
+
+ Inline_Files {
+ CodecFactory
+ }
+
+ Template_Files {
+ CodecFactory
+ }
+
+ Resource_Files {
+ CodecFactory
+ }
+
+ PIDL_Files {
+ CodecFactory
+ }
+
+ Pkgconfig_Files {
+ CodecFactory/TAO_CodecFactory.pc.in
+ }
+}
diff --git a/TAO/tao/CDR_Encaps_Codec.cpp b/TAO/tao/CodecFactory/CDR_Encaps_Codec.cpp
index 1d844f1c80d..35905f4fbe5 100644
--- a/TAO/tao/CDR_Encaps_Codec.cpp
+++ b/TAO/tao/CodecFactory/CDR_Encaps_Codec.cpp
@@ -4,16 +4,16 @@
#include "CDR_Encaps_Codec.h"
-#include "CDR.h"
-#include "OctetSeqC.h"
-#include "Any.h"
-#include "Any_Impl.h"
-#include "TypeCode.h"
-#include "Marshal.h"
-#include "Any_Unknown_IDL_Type.h"
-#include "SystemException.h"
-#include "ORB_Constants.h"
-#include "TypeCode_Constants.h"
+#include "tao/CDR.h"
+#include "tao/OctetSeqC.h"
+#include "tao/Any.h"
+#include "tao/Any_Impl.h"
+#include "tao/TypeCode.h"
+#include "tao/Marshal.h"
+#include "tao/Any_Unknown_IDL_Type.h"
+#include "tao/SystemException.h"
+#include "tao/ORB_Constants.h"
+#include "tao/TypeCode_Constants.h"
#include "ace/Auto_Ptr.h"
#include "ace/OS_NS_string.h"
diff --git a/TAO/tao/CDR_Encaps_Codec.h b/TAO/tao/CodecFactory/CDR_Encaps_Codec.h
index dd80b6eaba2..617f57d299d 100644
--- a/TAO/tao/CDR_Encaps_Codec.h
+++ b/TAO/tao/CodecFactory/CDR_Encaps_Codec.h
@@ -15,13 +15,14 @@
#include /**/ "ace/pre.h"
-#include "IOP_CodecC.h"
+#include "codecfactory_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "LocalObject.h"
+#include "tao/IOP_CodecC.h"
+#include "tao/LocalObject.h"
/**
* @class TAO_CDR_Encaps_Codec
@@ -39,7 +40,7 @@
* ORB core since it uses interpretive marshaling rather than compiled
* marshaling.
*/
-class TAO_Export TAO_CDR_Encaps_Codec
+class TAO_CodecFactory_Export TAO_CDR_Encaps_Codec
: public virtual IOP::Codec,
public virtual TAO_Local_RefCounted_Object
{
diff --git a/TAO/tao/CodecFactory/CodecFactory.cpp b/TAO/tao/CodecFactory/CodecFactory.cpp
new file mode 100644
index 00000000000..646a88b28a2
--- /dev/null
+++ b/TAO/tao/CodecFactory/CodecFactory.cpp
@@ -0,0 +1,51 @@
+/* -*- C++ -*- */
+
+// =================================================================
+/**
+ * @file CodecFactory.cpp
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ *
+ */
+// =================================================================
+
+#include "CodecFactory.h"
+#include "CodecFactory_impl.h"
+
+#include "tao/ORB.h"
+#include "tao/debug.h"
+
+ACE_RCSID (CodecFactory,
+ CodecFactory,
+ "$Id$")
+
+CORBA::Object_ptr
+TAO_CodecFactory_Loader::create_object (
+ CORBA::ORB_ptr orb,
+ int,
+ ACE_TCHAR *[]
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Object_ptr obj = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (obj,
+ TAO_CodecFactory (orb->orb_core ()),
+ CORBA::Object::_nil ());
+ return obj;
+}
+
+int
+TAO_CodecFactory_Loader::Initializer (void)
+{
+ return ACE_Service_Config::process_directive (ace_svc_desc_TAO_CodecFactory_Loader);
+}
+
+ACE_STATIC_SVC_DEFINE (TAO_CodecFactory_Loader,
+ ACE_TEXT ("CodecFactory_Loader"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (TAO_CodecFactory_Loader),
+ ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
+ 0)
+ACE_FACTORY_DEFINE (TAO_CodecFactory, TAO_CodecFactory_Loader)
diff --git a/TAO/tao/CodecFactory/CodecFactory.h b/TAO/tao/CodecFactory/CodecFactory.h
new file mode 100644
index 00000000000..2961204afbb
--- /dev/null
+++ b/TAO/tao/CodecFactory/CodecFactory.h
@@ -0,0 +1,63 @@
+/* -*- C++ -*- */
+
+
+//=============================================================================
+/**
+ * @file CodecFactory.h
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@uci.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_CODECFACTORY_H
+#define TAO_CODECFACTORY_H
+
+#include /**/ "ace/pre.h"
+
+#include "codecfactory_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Object_Loader.h"
+#include "ace/Service_Config.h"
+
+class TAO_CodecFactory_Export TAO_CodecFactory_Loader
+ : public TAO_Object_Loader
+{
+public:
+ /// Creates a Codec factory and returns it.
+ virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
+ int argc,
+ ACE_TCHAR *argv []
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Used to force the initialization of the ORB code.
+ static int Initializer (void);
+};
+
+ACE_STATIC_SVC_DECLARE (TAO_CodecFactory_Loader)
+ACE_FACTORY_DECLARE (TAO_CodecFactory, TAO_CodecFactory_Loader)
+
+#if defined(ACE_HAS_BROKEN_STATIC_CONSTRUCTORS)
+
+typedef int (*TAO_Module_Initializer) (void);
+
+static TAO_Module_Initializer
+TAO_Requires_CodecFactory_Initializer = &TAO_CodecFactory_Loader::Initializer;
+
+#else
+
+static int
+TAO_Requires_CodecFactory_Initializer = TAO_CodecFactory_Loader::Initializer ();
+
+#endif /* ACE_HAS_BROKEN_STATIC_CONSTRUCTORS */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_CODECFACTORY_H */
diff --git a/TAO/tao/CodecFactory.cpp b/TAO/tao/CodecFactory/CodecFactory_impl.cpp
index ff1ba26d9f8..0a83515a15b 100644
--- a/TAO/tao/CodecFactory.cpp
+++ b/TAO/tao/CodecFactory/CodecFactory_impl.cpp
@@ -2,10 +2,10 @@
//
// $Id$
-#include "CodecFactory.h"
+#include "CodecFactory_impl.h"
#include "CDR_Encaps_Codec.h"
-#include "SystemException.h"
-#include "ORB_Constants.h"
+#include "tao/SystemException.h"
+#include "tao/ORB_Constants.h"
ACE_RCSID (TAO_CodecFactory,
CodecFactory,
diff --git a/TAO/tao/CodecFactory.h b/TAO/tao/CodecFactory/CodecFactory_impl.h
index 9a08564f50d..4c897358bda 100644
--- a/TAO/tao/CodecFactory.h
+++ b/TAO/tao/CodecFactory/CodecFactory_impl.h
@@ -10,18 +10,19 @@
*/
//=============================================================================
-#ifndef TAO_CODEC_FACTORY_H
-#define TAO_CODEC_FACTORY_H
+#ifndef TAO_CODEC_FACTORY_IMPL_H
+#define TAO_CODEC_FACTORY_IMPL_H
#include /**/ "ace/pre.h"
-#include "IOP_CodecC.h"
+#include "codecfactory_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "LocalObject.h"
+#include "tao/LocalObject.h"
+#include "tao/IOP_CodecC.h"
// This is to remove "inherits via dominance" warnings from MSVC.
// MSVC is being a little too paranoid.
@@ -30,7 +31,6 @@
#pragma warning(disable:4250)
#endif /* _MSC_VER */
-
/**
* @class TAO_CodecFactory
*
@@ -39,7 +39,7 @@
* This class can be used to create Codec (coder/decoder) of a given
* type, such as a CDR encapsulation Codec.
*/
-class TAO_Export TAO_CodecFactory
+class TAO_CodecFactory_Export TAO_CodecFactory
: public virtual IOP::CodecFactory,
public virtual TAO_Local_RefCounted_Object
{
@@ -79,4 +79,4 @@ private:
#include /**/ "ace/post.h"
-#endif /* TAO_CODEC_FACTORY_H */
+#endif /* TAO_CODEC_FACTORY_IMPL_H */
diff --git a/TAO/tao/CodecFactory/TAO_CodecFactory.pc.in b/TAO/tao/CodecFactory/TAO_CodecFactory.pc.in
new file mode 100644
index 00000000000..81a384f3838
--- /dev/null
+++ b/TAO/tao/CodecFactory/TAO_CodecFactory.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: TAO_CodecFactory
+Description: TAO CodecFactory Library
+Requires: TAO
+Version: @VERSION@
+Libs: -L${libdir} -lTAO_CodecFactory
+Cflags: -I${includedir}
diff --git a/TAO/tao/CodecFactory/TAO_CodecFactory.rc b/TAO/tao/CodecFactory/TAO_CodecFactory.rc
new file mode 100644
index 00000000000..a234c757563
--- /dev/null
+++ b/TAO/tao/CodecFactory/TAO_CodecFactory.rc
@@ -0,0 +1,30 @@
+#include "..\Version.h"
+
+1 VERSIONINFO
+ FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0
+ PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904B0"
+ BEGIN
+ VALUE "FileDescription", "CodecFactory\0"
+ VALUE "FileVersion", TAO_VERSION "\0"
+ VALUE "InternalName", "TAO_CodecFactoryDLL\0"
+ VALUE "LegalCopyright", "\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "TAO_CodecFactory.DLL\0"
+ VALUE "ProductName", "TAO\0"
+ VALUE "ProductVersion", TAO_VERSION "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
diff --git a/TAO/tao/CodecFactory/codecfactory_export.h b/TAO/tao/CodecFactory/codecfactory_export.h
new file mode 100644
index 00000000000..7c93ff47968
--- /dev/null
+++ b/TAO/tao/CodecFactory/codecfactory_export.h
@@ -0,0 +1,40 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef TAO_CODECFACTORY_EXPORT_H
+#define TAO_CODECFACTORY_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (TAO_CODECFACTORY_HAS_DLL)
+# define TAO_CODECFACTORY_HAS_DLL 0
+# endif /* ! TAO_CODECFACTORY_HAS_DLL */
+#else
+# if !defined (TAO_CODECFACTORY_HAS_DLL)
+# define TAO_CODECFACTORY_HAS_DLL 1
+# endif /* ! TAO_CODECFACTORY_HAS_DLL */
+#endif
+
+#if defined (TAO_CODECFACTORY_HAS_DLL) && (TAO_CODECFACTORY_HAS_DLL == 1)
+# if defined (TAO_CODECFACTORY_BUILD_DLL)
+# define TAO_CodecFactory_Export ACE_Proper_Export_Flag
+# define TAO_CODECFACTORY_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_CODECFACTORY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_CODECFACTORY_BUILD_DLL */
+# define TAO_CodecFactory_Export ACE_Proper_Import_Flag
+# define TAO_CODECFACTORY_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_CODECFACTORY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_CODECFACTORY_BUILD_DLL */
+#else /* TAO_CODECFACTORY_HAS_DLL == 1 */
+# define TAO_CodecFactory_Export
+# define TAO_CODECFACTORY_SINGLETON_DECLARATION(T)
+# define TAO_CODECFACTORY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_CODECFACTORY_HAS_DLL == 1 */
+
+#endif /* TAO_CODECFACTORY_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tao/CodecFactory_ORBInitializer.cpp b/TAO/tao/CodecFactory_ORBInitializer.cpp
deleted file mode 100644
index c39ec7142b9..00000000000
--- a/TAO/tao/CodecFactory_ORBInitializer.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-#include "CodecFactory_ORBInitializer.h"
-#include "CodecFactory.h"
-#include "ORBInitInfo.h"
-#include "SystemException.h"
-#include "ORB_Constants.h"
-
-ACE_RCSID (TAO_CodecFactory,
- CodecFactory_ORBInitializer,
- "$Id$")
-
-void
-TAO_CodecFactory_ORBInitializer::pre_init (
- PortableInterceptor::ORBInitInfo_ptr info
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- TAO_ORBInitInfo_var tao_info =
- TAO_ORBInitInfo::_narrow (info
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO_ORB_Core * orb_core = tao_info->orb_core ();
-
- IOP::CodecFactory_ptr codec_factory;
- ACE_NEW_THROW_EX (codec_factory,
- TAO_CodecFactory (orb_core),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- 0,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- IOP::CodecFactory_var cf = codec_factory;
-
- info->register_initial_reference ("CodecFactory",
- codec_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-void
-TAO_CodecFactory_ORBInitializer::post_init (
- PortableInterceptor::ORBInitInfo_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-}
diff --git a/TAO/tao/CodecFactory_ORBInitializer.h b/TAO/tao/CodecFactory_ORBInitializer.h
deleted file mode 100644
index f785a9f9df3..00000000000
--- a/TAO/tao/CodecFactory_ORBInitializer.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file CodecFactory_ORBInitializer.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_CODEC_FACTORY_ORB_INITIALIZER_H
-#define TAO_CODEC_FACTORY_ORB_INITIALIZER_H
-
-#include /**/ "ace/pre.h"
-
-#include "ORBInitializerC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "LocalObject.h"
-
-// This is to remove "inherits via dominance" warnings from MSVC.
-// MSVC is being a little too paranoid.
-#if defined(_MSC_VER)
-#pragma warning(push)
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-
-/**
- * @class TAO_CodecFactory_ORBInitializer
- *
- * @brief ORBInitializer for the CodecFactory support.
- *
- * This class simply registers the CodecFactory object with the ORB
- * resolve_initial_references() mechanism.
- */
-class TAO_Export TAO_CodecFactory_ORBInitializer
- : public virtual PortableInterceptor::ORBInitializer,
- public virtual TAO_Local_RefCounted_Object
-{
-public:
-
- virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-};
-
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include /**/ "ace/post.h"
-
-#endif /* TAO_CODEC_FACTORY_ORB_INITIALIZER_H */
diff --git a/TAO/tao/Collocated_Invocation.cpp b/TAO/tao/Collocated_Invocation.cpp
index a4e923f6fa0..135a1fb1b91 100644
--- a/TAO/tao/Collocated_Invocation.cpp
+++ b/TAO/tao/Collocated_Invocation.cpp
@@ -6,6 +6,9 @@
#include "Stub.h"
#include "operation_details.h"
+#if TAO_HAS_INTERCEPTORS == 1
+# include "PortableInterceptorC.h"
+#endif /*TAO_HAS_INTERCEPTORS */
ACE_RCSID (tao,
Collocated_Invocation,
diff --git a/TAO/tao/IOP_Codec.pidl b/TAO/tao/IOP_Codec.pidl
index 8ccee00dc53..d322ae98bc1 100644
--- a/TAO/tao/IOP_Codec.pidl
+++ b/TAO/tao/IOP_Codec.pidl
@@ -30,7 +30,7 @@
module IOP
{
- local interface Codec {
+ local interface Codec {
exception InvalidTypeForEncoding {};
exception FormatMismatch {};
exception TypeMismatch {};
diff --git a/TAO/tao/IOP_IOR.pidl b/TAO/tao/IOP_IOR.pidl
index 1ce9a4f3821..0901cc8e2fe 100644
--- a/TAO/tao/IOP_IOR.pidl
+++ b/TAO/tao/IOP_IOR.pidl
@@ -103,11 +103,10 @@ module IOP
const ServiceId FT_GROUP_VERSION = 12;
const ServiceId FT_REQUEST = 13;
- // The following are not defined yet in the Unreliable Multicast
- // InterORB Protocol (orbos/2001-11-08)
- const ProfileId TAG_UIPMC = 0x54414f0c; // @@ Get real number
- const ComponentId TAG_GROUP = 0x54414f03; // @@ Get real number
- const ComponentId TAG_GROUP_IIOP = 0x54414f04; // @@ Get real number
+ // The following are defined in 03-01-11
+ const ProfileId TAG_UIPMC = 3;
+ const ComponentId TAG_GROUP = 39;
+ const ComponentId TAG_GROUP_IIOP = 40;
};
#pragma prefix ""
diff --git a/TAO/tao/InterfaceDef.pidl b/TAO/tao/InterfaceDef.pidl
index 81eacc638e7..63eb842b319 100644
--- a/TAO/tao/InterfaceDef.pidl
+++ b/TAO/tao/InterfaceDef.pidl
@@ -14,8 +14,6 @@
#ifndef TAO_CORBA_INTERFACEDEF_PIDL
#define TAO_CORBA_INTERFACEDEF_PIDL
-#include <InterfaceDef.pidl>
-
#pragma prefix "omg.org"
module CORBA
diff --git a/TAO/tao/Invocation_Base.cpp b/TAO/tao/Invocation_Base.cpp
index 46caafc77e9..fd635d421f4 100644
--- a/TAO/tao/Invocation_Base.cpp
+++ b/TAO/tao/Invocation_Base.cpp
@@ -7,7 +7,8 @@
#include "SystemException.h"
#if TAO_HAS_INTERCEPTORS == 1
-#include "RequestInfo_Util.h"
+# include "PortableInterceptorC.h"
+# include "RequestInfo_Util.h"
#endif /*TAO_HAS_INTERCEPTORS*/
#if !defined (__ACE_INLINE__)
diff --git a/TAO/tao/LocalObject.cpp b/TAO/tao/LocalObject.cpp
index bba344b7c5a..f8e220097d3 100644
--- a/TAO/tao/LocalObject.cpp
+++ b/TAO/tao/LocalObject.cpp
@@ -208,6 +208,14 @@ CORBA::LocalObject::_validate_connection (CORBA::PolicyList_out
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
+CORBA::ORB_ptr
+CORBA::LocalObject::_get_orb (ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8,
+ CORBA::COMPLETED_NO),
+ 0);
+}
+
// ****************************************************************
void
diff --git a/TAO/tao/LocalObject.h b/TAO/tao/LocalObject.h
index 662f1471ab8..c6d682b1ccd 100644
--- a/TAO/tao/LocalObject.h
+++ b/TAO/tao/LocalObject.h
@@ -168,6 +168,10 @@ namespace CORBA
/// Decrement the reference count.
virtual void _remove_ref (void);
+ virtual CORBA::ORB_ptr _get_orb (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ );
+
// = TAO extensions
/// Throws CORBA::NO_IMPLEMENT.
diff --git a/TAO/tao/Messaging_PolicyValue.pidl b/TAO/tao/Messaging_PolicyValue.pidl
index 722d37519d8..fcff2799c8b 100644
--- a/TAO/tao/Messaging_PolicyValue.pidl
+++ b/TAO/tao/Messaging_PolicyValue.pidl
@@ -36,7 +36,7 @@ module Messaging
typedef sequence<PolicyValue> PolicyValueSeq;
const IOP::ComponentId TAG_POLICIES = 2;
- const IOP::ServiceId INVOCATION_POLICIES = 2;
+ const IOP::ServiceId INVOCATION_POLICIES = 7;
};
#endif /* TAO_MESSAGING_POLICYVALUE_PIDL */
diff --git a/TAO/tao/Messaging_PolicyValueC.h b/TAO/tao/Messaging_PolicyValueC.h
index 9ce2bf2c371..d9e4470aa96 100644
--- a/TAO/tao/Messaging_PolicyValueC.h
+++ b/TAO/tao/Messaging_PolicyValueC.h
@@ -70,57 +70,57 @@
namespace Messaging
{
-
+
// TAO_IDL - Generated from
// be\be_type.cpp:258
-
+
struct PolicyValue;
-
+
typedef
TAO_Var_Var_T<
PolicyValue
>
PolicyValue_var;
-
+
typedef
TAO_Out_T<
PolicyValue,
PolicyValue_var
>
PolicyValue_out;
-
+
// TAO_IDL - Generated from
// be\be_visitor_structure/structure_ch.cpp:52
-
+
struct TAO_Export PolicyValue
{
typedef PolicyValue_var _var_type;
-
+
static void _tao_any_destructor (void *);
CORBA::PolicyType ptype;
CORBA::OctetSeq pvalue;
};
-
+
// TAO_IDL - Generated from
// be\be_visitor_typecode/typecode_decl.cpp:44
-
+
extern TAO_Export ::CORBA::TypeCode_ptr const _tc_PolicyValue;
-
+
// TAO_IDL - Generated from
// be\be_visitor_sequence/sequence_ch.cpp:101
#if !defined (_MESSAGING_POLICYVALUESEQ_CH_)
#define _MESSAGING_POLICYVALUESEQ_CH_
-
+
class PolicyValueSeq;
-
+
typedef
TAO_VarSeq_Var_T<
PolicyValueSeq,
PolicyValue
>
PolicyValueSeq_var;
-
+
typedef
TAO_Seq_Out_T<
PolicyValueSeq,
@@ -128,7 +128,7 @@ namespace Messaging
PolicyValue
>
PolicyValueSeq_out;
-
+
class TAO_Export PolicyValueSeq
: public
TAO_Unbounded_Sequence<
@@ -141,33 +141,33 @@ namespace Messaging
PolicyValueSeq (
CORBA::ULong max,
CORBA::ULong length,
- PolicyValue* buffer,
+ PolicyValue* buffer,
CORBA::Boolean release = 0
);
PolicyValueSeq (const PolicyValueSeq &);
~PolicyValueSeq (void);
-
+
static void _tao_any_destructor (void *);
-
+
typedef PolicyValueSeq_var _var_type;
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
// be\be_visitor_typecode/typecode_decl.cpp:44
-
+
extern TAO_Export ::CORBA::TypeCode_ptr const _tc_PolicyValueSeq;
-
+
// TAO_IDL - Generated from
// be\be_visitor_constant/constant_ch.cpp:52
-
+
const IOP::ComponentId TAG_POLICIES = 2U;
-
+
// TAO_IDL - Generated from
// be\be_visitor_constant/constant_ch.cpp:52
-
- const IOP::ServiceId INVOCATION_POLICIES = 2U;
+
+ const IOP::ServiceId INVOCATION_POLICIES = 7U;
// TAO_IDL - Generated from
// be\be_visitor_module/module_ch.cpp:66
diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp
index 9f8f4f4bc17..b9ab6eb2a58 100644
--- a/TAO/tao/ORB.cpp
+++ b/TAO/tao/ORB.cpp
@@ -19,10 +19,10 @@ ACE_RCSID (tao,
#include "ORBInitInfo.h"
#include "ORBInitializer_Registry.h"
#include "TAO_Singleton_Manager.h"
+#include "Policy_Current.h"
#include "Policy_Manager.h"
#include "Valuetype_Adapter.h"
#include "IFR_Client_Adapter.h"
-#include "CodecFactory_ORBInitializer.h"
#include "TypeCodeFactory_Adapter.h"
#include "debug.h"
#include "CDR.h"
@@ -30,7 +30,8 @@ ACE_RCSID (tao,
#include "default_environment.h"
#if TAO_HAS_INTERCEPTORS == 1
-# include "PICurrent_ORBInitializer.h" /* @@ This should go away! */
+# include "PICurrent_Loader.h" /* @@ This should go away! */
+# include "PICurrent.h" /* @@ This should go away! */
#endif /* TAO_HAS_INTERCEPTORS == 1 */
#if !defined (__ACE_INLINE__)
@@ -1133,6 +1134,11 @@ CORBA::ORB::resolve_initial_references (const char *name,
else if (ACE_OS::strcmp (name, TAO_OBJID_TYPECODEFACTORY) == 0)
return this->orb_core ()->resolve_typecodefactory (ACE_ENV_SINGLE_ARG_PARAMETER);
+ else if (ACE_OS::strcmp (name, TAO_OBJID_CODECFACTORY) == 0)
+ return this->orb_core ()->resolve_codecfactory (ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ else if (ACE_OS::strcmp (name, TAO_OBJID_PICurrent) == 0)
+ return this->orb_core ()->resolve_picurrent (ACE_ENV_SINGLE_ARG_PARAMETER);
// -----------------------------------------------------------------
@@ -1349,51 +1355,6 @@ TAO::ORB::init_orb_globals (ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW (CORBA::INITIALIZE ());
}
-
- // Register the CodecFactory ORBInitializer.
- PortableInterceptor::ORBInitializer_ptr tmp_cf_initializer;
- ACE_NEW_THROW_EX (tmp_cf_initializer,
- TAO_CodecFactory_ORBInitializer,
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- 0,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- PortableInterceptor::ORBInitializer_var cf_initializer =
- tmp_cf_initializer;
-
- PortableInterceptor::register_orb_initializer (cf_initializer.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // -------------------------------------------------------------
- // @@ These ORB initializer instantiations should go away. They
- // should be registered via the service configurator, for
- // example.
-
-#if TAO_HAS_INTERCEPTORS == 1
- PortableInterceptor::ORBInitializer_ptr temp_pi_initializer =
- PortableInterceptor::ORBInitializer::_nil ();
- PortableInterceptor::ORBInitializer_var pi_initializer;
-
- // Register the PICurrent ORBInitializer.
- ACE_NEW_THROW_EX (temp_pi_initializer,
- TAO_PICurrent_ORBInitializer,
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- 0,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- pi_initializer = temp_pi_initializer;
-
- PortableInterceptor::register_orb_initializer (pi_initializer.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS == 1 */
}
const ACE_CString &
@@ -1658,7 +1619,10 @@ CORBA::ORB_init (int &argc,
ACE_CHECK_RETURN (CORBA::ORB::_nil ());
#if TAO_HAS_INTERCEPTORS == 1
- oc->pi_current ()->initialize (orb_init_info_temp->slot_count ());
+ TAO::PICurrent *pi = oc->pi_current ();
+
+ if (pi != 0)
+ pi->initialize (orb_init_info_temp->slot_count ());
#endif /* TAO_HAS_INTERCEPTORS == 1 */
// Invalidate the ORBInitInfo instance to prevent future
@@ -1697,8 +1661,6 @@ CORBA::ORB::object_to_string (CORBA::Object_ptr obj
ACE_CHECK_RETURN (0);
if (!CORBA::is_nil (obj) && obj->_is_local ())
- // @@ The CCM spec says one minor code, and the CORBA spec says
- // another. Which is the correct one?
ACE_THROW_RETURN (CORBA::MARSHAL (CORBA::OMGVMCID | 4,
CORBA::COMPLETED_NO),
0);
diff --git a/TAO/tao/ORBInitInfo.cpp b/TAO/tao/ORBInitInfo.cpp
index a288a2f72ac..91ac3f57e7d 100644
--- a/TAO/tao/ORBInitInfo.cpp
+++ b/TAO/tao/ORBInitInfo.cpp
@@ -3,8 +3,11 @@
#include "ORBInitInfo.h"
#include "ORB_Core.h"
#include "ORB.h"
-#include "CodecFactory.h"
#include "SystemException.h"
+#include "Object_Loader.h"
+
+#include "ace/Dynamic_Service.h"
+#include "ace/Service_Config.h"
#if TAO_HAS_INTERCEPTORS == 1
#include "PICurrent.h"
@@ -117,21 +120,25 @@ TAO_ORBInitInfo::codec_factory (ACE_ENV_SINGLE_ARG_DECL)
{
if (CORBA::is_nil (this->codec_factory_.in ()))
{
- // A new instance must be allocated since the application code
- // may have registered an ORBInitializer that requires a
- // CodecFactory before the CodecFactory is itself registered
- // with the ORB.
- IOP::CodecFactory_ptr codec_factory;
- ACE_NEW_THROW_EX (codec_factory,
- TAO_CodecFactory (this->orb_core_),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- 0,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK_RETURN (IOP::CodecFactory::_nil ());
-
- this->codec_factory_ = codec_factory;
+ TAO_Object_Loader *loader =
+ ACE_Dynamic_Service<TAO_Object_Loader>::instance ("CodecFactory_Loader");
+
+ if (loader == 0)
+ {
+ ACE_Service_Config::process_directive (ACE_TEXT("dynamic CodecFactory Service_Object *")
+ ACE_TEXT("TAO_CodecFactory:_make_TAO_CodecFactory_Loader()"));
+ loader =
+ ACE_Dynamic_Service<TAO_Object_Loader>::instance ("CodecFactory_Loader");
+ }
+
+ if (loader != 0)
+ {
+ CORBA::Object_ptr cf =
+ loader->create_object (this->orb_core_->orb (), 0, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (IOP::CodecFactory::_nil ());
+
+ this->codec_factory_ = IOP::CodecFactory::_narrow (cf);
+ }
}
return IOP::CodecFactory::_duplicate (this->codec_factory_.in ());
@@ -351,11 +358,3 @@ const char* TAO_ORBInitInfo::_interface_repository_id (void) const
return "IDL:TAO_ORBInitInfo:1.0";
}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class TAO_Objref_Var_T<TAO_ORBInitInfo>;
-template class TAO_Objref_Out_T<TAO_ORBInitInfo>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-# pragma instantiate TAO_Objref_Var_T<TAO_ORBInitInfo>
-# pragma instantiate TAO_Objref_Out_T<TAO_ORBInitInfo>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index 15e3f8ff33b..af424e407d4 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -32,6 +32,11 @@
#include "Adapter.h"
#include "GUIResource_Factory.h"
+#if (TAO_HAS_CORBA_MESSAGING == 1)
+#include "Policy_Manager.h"
+#include "Policy_Current.h"
+#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
+
#if (TAO_HAS_INTERCEPTORS == 1)
# include "ClientRequestInfo.h"
#endif /* TAO_HAS_INTERCEPTORS == 1 */
@@ -132,6 +137,7 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid)
use_implrepo_ (0),
imr_endpoints_in_ior_ (1),
typecode_factory_ (CORBA::Object::_nil ()),
+ codec_factory_ (CORBA::Object::_nil ()),
dynany_factory_ (CORBA::Object::_nil ()),
ior_manip_factory_ (CORBA::Object::_nil ()),
ior_table_ (CORBA::Object::_nil ()),
@@ -1189,6 +1195,8 @@ TAO_ORB_Core::fini (void)
CORBA::release (this->typecode_factory_);
+ CORBA::release (this->codec_factory_);
+
CORBA::release (this->dynany_factory_);
CORBA::release (this->ior_manip_factory_);
@@ -2000,6 +2008,7 @@ TAO_ORB_Core::shutdown (CORBA::Boolean wait_for_completion
this->object_ref_table_.destroy ();
#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::release (this->pi_current_);
this->pi_current_ = 0; // For the sake of consistency.
#endif /* TAO_HAS_INTERCEPTORS == 1 */
}
@@ -2171,6 +2180,46 @@ TAO_ORB_Core::resolve_typecodefactory_i (ACE_ENV_SINGLE_ARG_DECL)
}
void
+TAO_ORB_Core::resolve_codecfactory_i (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Object_Loader *loader =
+ ACE_Dynamic_Service<TAO_Object_Loader>::instance ("CodecFactory_Loader");
+ if (loader == 0)
+ {
+ ACE_Service_Config::process_directive (ACE_TEXT("dynamic CodecFactory Service_Object *")
+ ACE_TEXT("TAO_CodecFactory:_make_TAO_CodecFactory_Loader()"));
+ loader =
+ ACE_Dynamic_Service<TAO_Object_Loader>::instance ("CodecFactory_Loader");
+ if (loader == 0)
+ ACE_THROW (CORBA::ORB::InvalidName ());
+ }
+ this->codec_factory_ =
+ loader->create_object (this->orb_, 0, 0 ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ORB_Core::resolve_picurrent_i (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Object_Loader *loader =
+ ACE_Dynamic_Service<TAO_Object_Loader>::instance ("PICurrent_Loader");
+ if (loader == 0)
+ {
+ ACE_Service_Config::process_directive (ACE_TEXT("dynamic PICurrent_Loader Service_Object *")
+ ACE_TEXT("TAO:_make_TAO_PICurrent_Loader()"));
+ loader =
+ ACE_Dynamic_Service<TAO_Object_Loader>::instance ("PICurrent_Loader");
+ if (loader == 0)
+ ACE_THROW (CORBA::ORB::InvalidName ());
+ }
+ CORBA::Object_ptr pi =
+ loader->create_object (this->orb_, 0, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->pi_current_ = dynamic_cast <TAO::PICurrent *> (pi);
+}
+
+
+void
TAO_ORB_Core::resolve_dynanyfactory_i (ACE_ENV_SINGLE_ARG_DECL)
{
TAO_Object_Loader *loader =
@@ -2426,8 +2475,8 @@ ACE_Data_Block*
TAO_ORB_Core::create_input_cdr_data_block (size_t size)
{
- ACE_Allocator *dblock_allocator;
- ACE_Allocator *buffer_allocator;
+ ACE_Allocator *dblock_allocator = 0;
+ ACE_Allocator *buffer_allocator = 0;
dblock_allocator =
this->input_cdr_dblock_allocator ();
@@ -2588,8 +2637,8 @@ TAO_ORB_Core::call_timeout_hook (TAO_Stub *stub,
void
TAO_ORB_Core::set_timeout_hook (Timeout_Hook hook)
{
- TAO_ORB_Core_Static_Resources::instance ()->timeout_hook_ = hook;
// Saving the hook pointer so that we can use it later when needed.
+ TAO_ORB_Core_Static_Resources::instance ()->timeout_hook_ = hook;
return;
}
diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h
index 92353279c46..6cf62f88aaf 100644
--- a/TAO/tao/ORB_Core.h
+++ b/TAO/tao/ORB_Core.h
@@ -41,6 +41,10 @@
#if TAO_HAS_INTERCEPTORS == 1
#include "tao/Interceptor_List.h"
+#include "tao/PICurrent_Impl.h"
+#include "tao/PICurrent.h"
+#include "tao/ClientRequestInterceptorC.h"
+#include "tao/ServerRequestInterceptorC.h"
namespace TAO
{
@@ -54,7 +58,6 @@ namespace TAO
ServerRequestInterceptor_List;
}
-# include "PICurrent.h"
#endif /* TAO_HAS_INTERCEPTORS == 1 */
#include "ace/Thread_Manager.h"
@@ -751,6 +754,12 @@ TAO::Collocation_Strategy collocation_strategy (CORBA::Object_ptr object
/// Resolve the TypeCodeFactory DLL.
CORBA::Object_ptr resolve_typecodefactory (ACE_ENV_SINGLE_ARG_DECL);
+ /// Resolve the PICurrent.
+ CORBA::Object_ptr resolve_picurrent (ACE_ENV_SINGLE_ARG_DECL);
+
+ /// Resolve the CodecFactory DLL.
+ CORBA::Object_ptr resolve_codecfactory (ACE_ENV_SINGLE_ARG_DECL);
+
/// Resolve the Dynamic Any Factory
CORBA::Object_ptr resolve_dynanyfactory (ACE_ENV_SINGLE_ARG_DECL);
@@ -1005,9 +1014,15 @@ protected:
ACE_Allocator *dblock_allocator,
ACE_Lock *lock);
- /// Obtain and cache the dynamic any factory object reference.
+ /// Obtain and cache the typecode factory object reference.
void resolve_typecodefactory_i (ACE_ENV_SINGLE_ARG_DECL);
+ /// Obtain and cache the picurrent factory object reference.
+ void resolve_picurrent_i (ACE_ENV_SINGLE_ARG_DECL);
+
+ /// Obtain and cache the codec factory object reference.
+ void resolve_codecfactory_i (ACE_ENV_SINGLE_ARG_DECL);
+
/// Obtain and cache the dynamic any factory object reference.
void resolve_dynanyfactory_i (ACE_ENV_SINGLE_ARG_DECL);
@@ -1077,6 +1092,9 @@ protected:
/// The cached IOR for the TypeCodeFactory DLL.
CORBA::Object_ptr typecode_factory_;
+ /// The cached IOR for the CodecFactory DLL.
+ CORBA::Object_ptr codec_factory_;
+
/// The cached object reference for the DynAnyFactory.
CORBA::Object_ptr dynany_factory_;
diff --git a/TAO/tao/ORB_Core.i b/TAO/tao/ORB_Core.i
index 4cd2042647b..38cd1a41fe9 100644
--- a/TAO/tao/ORB_Core.i
+++ b/TAO/tao/ORB_Core.i
@@ -378,6 +378,33 @@ TAO_ORB_Core::resolve_typecodefactory (ACE_ENV_SINGLE_ARG_DECL)
return CORBA::Object::_duplicate (this->typecode_factory_);
}
+ACE_INLINE CORBA::Object_ptr
+TAO_ORB_Core::resolve_picurrent (ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, mon, this->lock_,
+ CORBA::Object::_nil ());
+ if (CORBA::is_nil (this->pi_current_))
+ {
+ this->resolve_picurrent_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ }
+ return CORBA::Object::_duplicate (this->pi_current_);
+}
+
+
+ACE_INLINE CORBA::Object_ptr
+TAO_ORB_Core::resolve_codecfactory (ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, mon, this->lock_,
+ CORBA::Object::_nil ());
+ if (CORBA::is_nil (this->codec_factory_))
+ {
+ this->resolve_codecfactory_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ }
+ return CORBA::Object::_duplicate (this->codec_factory_);
+}
+
ACE_INLINE const char *
TAO_ORB_Core::server_id (void) const
{
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp
index f9562ce762d..85d898638e1 100644
--- a/TAO/tao/Object.cpp
+++ b/TAO/tao/Object.cpp
@@ -614,6 +614,13 @@ CORBA::Object::_validate_connection (
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
+
+CORBA::ORB_ptr
+CORBA::Object::_get_orb (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return CORBA::ORB::_duplicate (this->orb_core_->orb ());
+}
+
/*****************************************************************
* Global Functions
****************************************************************/
diff --git a/TAO/tao/Object.h b/TAO/tao/Object.h
index 7db531bc153..0620fdff8cb 100644
--- a/TAO/tao/Object.h
+++ b/TAO/tao/Object.h
@@ -103,7 +103,7 @@ namespace CORBA
* @name Spec defined methods
*
* These methods are defined here since they are required by the
- * CORBA spec in a form specified by the C++ mapping.
+ * CORBA spec in a form specified by the C++ mapping.
*/
//@{
/// Increment the ref count.
@@ -231,6 +231,10 @@ namespace CORBA
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
+ virtual CORBA::ORB_ptr _get_orb (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ );
+
/**
* @name Reference Count Managment
*
@@ -302,8 +306,6 @@ namespace CORBA
/// Set the proxy broker.
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker);
-
-
public:
/// Allows us to forbid marshaling of local interfaces.
diff --git a/TAO/tao/Parser_Registry.cpp b/TAO/tao/Parser_Registry.cpp
index 879df0fd0f1..b1d2432c89a 100644
--- a/TAO/tao/Parser_Registry.cpp
+++ b/TAO/tao/Parser_Registry.cpp
@@ -11,8 +11,8 @@
#include "tao/Parser_Registry.i"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (tao,
- Parser_Registry,
+ACE_RCSID (tao,
+ Parser_Registry,
"$Id$")
TAO_Parser_Registry::TAO_Parser_Registry (void)
@@ -73,6 +73,3 @@ TAO_Parser_Registry::match_parser (const char *ior_string)
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/Policy_Current.cpp b/TAO/tao/Policy_Current.cpp
new file mode 100644
index 00000000000..10def0962a0
--- /dev/null
+++ b/TAO/tao/Policy_Current.cpp
@@ -0,0 +1,80 @@
+// $Id$
+
+#include "Policy_Current.h"
+
+#if (TAO_HAS_CORBA_MESSAGING == 1)
+
+#include "tao/TSS_Resources.h"
+
+#if !defined (__ACE_INLINE__)
+# include "tao/Policy_Current.inl"
+#endif /* ! __ACE_INLINE__ */
+
+
+ACE_RCSID (tao,
+ Policy_Current,
+ "$Id$")
+
+
+TAO_Policy_Current_Impl &
+TAO_Policy_Current::implementation (TAO_Policy_Current_Impl &current)
+{
+ TAO_TSS_Resources *tss =
+ TAO_TSS_RESOURCES::instance ();
+
+ TAO_Policy_Current_Impl *old = tss->policy_current_;
+ tss->policy_current_ = &current;
+ return *old;
+}
+
+TAO_Policy_Current_Impl &
+TAO_Policy_Current::implementation (void) const
+{
+ return *TAO_TSS_RESOURCES::instance ()->policy_current_;
+}
+
+CORBA::Policy_ptr
+TAO_Policy_Current::get_policy (
+ CORBA::PolicyType policy
+ ACE_ENV_ARG_DECL)
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ return impl.get_policy (policy ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::PolicyList *
+TAO_Policy_Current::get_policy_overrides (
+ const CORBA::PolicyTypeSeq & ts
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ return impl.get_policy_overrides (ts ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_Policy_Current::set_policy_overrides (const CORBA::PolicyList & policies,
+ CORBA::SetOverrideType set_add
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CORBA::InvalidPolicies))
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ impl.set_policy_overrides (policies, set_add ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Policy_ptr
+TAO_Policy_Current::get_cached_policy (TAO_Cached_Policy_Type type
+ ACE_ENV_ARG_DECL)
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ return impl.get_cached_policy (type
+ ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
diff --git a/TAO/tao/Policy_Current.h b/TAO/tao/Policy_Current.h
new file mode 100644
index 00000000000..ad0d5da00e3
--- /dev/null
+++ b/TAO/tao/Policy_Current.h
@@ -0,0 +1,92 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Policy_Current.h
+ *
+ * $Id$
+ *
+ * An implementation for the CORBA::PolicyManager interface.
+ *
+ *
+ * @author Carlos O'Ryan (coryan@cs.wustl.edu)
+ */
+//=============================================================================
+
+
+#ifndef TAO_POLICY_CURRENT_H
+#define TAO_POLICY_CURRENT_H
+
+#include /**/ "ace/pre.h"
+
+#include "TAO_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/orbconf.h"
+
+#if (TAO_HAS_CORBA_MESSAGING == 1)
+
+#include "tao/PolicyC.h"
+#include "tao/LocalObject.h"
+
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Policy_Current_Impl;
+
+class TAO_Export TAO_Policy_Current :
+ public CORBA::PolicyCurrent,
+ public TAO_Local_RefCounted_Object
+{
+public:
+ /// Constructor
+ TAO_Policy_Current (void);
+
+ /// Obtain a single policy.
+ CORBA::Policy_ptr get_policy (
+ CORBA::PolicyType policy
+ ACE_ENV_ARG_DECL);
+
+ /// Obtain a single cached policy.
+ CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type
+ ACE_ENV_ARG_DECL);
+
+ // = The CORBA::PolicyManager operations
+
+ virtual CORBA::PolicyList * get_policy_overrides (
+ const CORBA::PolicyTypeSeq & ts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void set_policy_overrides (
+ const CORBA::PolicyList & policies,
+ CORBA::SetOverrideType set_add
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CORBA::InvalidPolicies));
+
+ // = Set and get the implementation.
+ TAO_Policy_Current_Impl &implementation (void) const;
+ TAO_Policy_Current_Impl &implementation (TAO_Policy_Current_Impl &);
+};
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__ACE_INLINE__)
+# include "tao/Policy_Current.inl"
+#endif /* __ACE_INLINE__ */
+
+#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_POLICY_CURRENT_H */
diff --git a/TAO/tao/Policy_Current.inl b/TAO/tao/Policy_Current.inl
new file mode 100644
index 00000000000..e9bdbec8bb8
--- /dev/null
+++ b/TAO/tao/Policy_Current.inl
@@ -0,0 +1,7 @@
+// $Id$
+
+ACE_INLINE
+TAO_Policy_Current::TAO_Policy_Current (void)
+{
+}
+
diff --git a/TAO/tao/Policy_Current_Impl.cpp b/TAO/tao/Policy_Current_Impl.cpp
new file mode 100644
index 00000000000..6ebb543218d
--- /dev/null
+++ b/TAO/tao/Policy_Current_Impl.cpp
@@ -0,0 +1,38 @@
+// $Id$
+
+#include "Policy_Current_Impl.h"
+
+#if (TAO_HAS_CORBA_MESSAGING == 1)
+
+#if !defined (__ACE_INLINE__)
+# include "tao/Policy_Current_Impl.inl"
+#endif /* ! __ACE_INLINE__ */
+
+
+ACE_RCSID (tao,
+ Policy_Manager,
+ "$Id$")
+
+void
+TAO_Policy_Current_Impl::set_policy_overrides (
+ const CORBA::PolicyList & policies,
+ CORBA::SetOverrideType set_add
+ ACE_ENV_ARG_DECL
+ )
+{
+ this->manager_impl_.set_policy_overrides (policies,
+ set_add
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::PolicyList *
+TAO_Policy_Current_Impl::get_policy_overrides (
+ const CORBA::PolicyTypeSeq & ts
+ ACE_ENV_ARG_DECL
+ )
+{
+ return this->manager_impl_.get_policy_overrides (ts
+ ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
diff --git a/TAO/tao/Policy_Current_Impl.h b/TAO/tao/Policy_Current_Impl.h
new file mode 100644
index 00000000000..300473723ac
--- /dev/null
+++ b/TAO/tao/Policy_Current_Impl.h
@@ -0,0 +1,82 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Policy_Current_Impl.h
+ *
+ * $Id$
+ *
+ * An implementation for the CORBA::PolicyManager interface.
+ *
+ *
+ * @author Carlos O'Ryan (coryan@cs.wustl.edu)
+ */
+//=============================================================================
+
+
+#ifndef TAO_POLICY_CURRENT_IMPL_H
+#define TAO_POLICY_CURRENT_IMPL_H
+
+#include /**/ "ace/pre.h"
+
+#include "TAO_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/orbconf.h"
+
+#if (TAO_HAS_CORBA_MESSAGING == 1)
+
+#include "tao/PolicyC.h"
+#include "tao/LocalObject.h"
+#include "tao/Policy_Set.h"
+
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Export TAO_Policy_Current_Impl
+{
+public:
+
+ TAO_Policy_Current_Impl (void);
+
+ /// Obtain a single policy.
+ CORBA::Policy_ptr get_policy (CORBA::PolicyType policy
+ ACE_ENV_ARG_DECL);
+
+ /// Obtain a single cached policy.
+ CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type
+ ACE_ENV_ARG_DECL);
+
+ // = The CORBA::PolicyManager operations
+
+ CORBA::PolicyList * get_policy_overrides (
+ const CORBA::PolicyTypeSeq & ts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+ void set_policy_overrides (const CORBA::PolicyList & policies,
+ CORBA::SetOverrideType set_add
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+private:
+ /// The implementation.
+ TAO_Policy_Set manager_impl_;
+};
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__ACE_INLINE__)
+# include "tao/Policy_Current_Impl.inl"
+#endif /* __ACE_INLINE__ */
+
+#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_POLICY_CURRENT_IMPL_H */
diff --git a/TAO/tao/Policy_Current_Impl.inl b/TAO/tao/Policy_Current_Impl.inl
new file mode 100644
index 00000000000..92838269eec
--- /dev/null
+++ b/TAO/tao/Policy_Current_Impl.inl
@@ -0,0 +1,24 @@
+// $Id$
+
+ACE_INLINE
+TAO_Policy_Current_Impl::TAO_Policy_Current_Impl (void)
+ : manager_impl_ (TAO_POLICY_THREAD_SCOPE)
+{
+}
+
+ACE_INLINE CORBA::Policy_ptr
+TAO_Policy_Current_Impl::get_policy (
+ CORBA::PolicyType policy
+ ACE_ENV_ARG_DECL)
+{
+ return this->manager_impl_.get_policy (policy ACE_ENV_ARG_PARAMETER);
+}
+
+ACE_INLINE CORBA::Policy_ptr
+TAO_Policy_Current_Impl::get_cached_policy (TAO_Cached_Policy_Type type
+ ACE_ENV_ARG_DECL)
+{
+ return this->manager_impl_.get_cached_policy (type
+ ACE_ENV_ARG_PARAMETER);
+}
+
diff --git a/TAO/tao/Policy_Manager.cpp b/TAO/tao/Policy_Manager.cpp
index 830260f6f80..59280a5c800 100644
--- a/TAO/tao/Policy_Manager.cpp
+++ b/TAO/tao/Policy_Manager.cpp
@@ -4,8 +4,6 @@
#if (TAO_HAS_CORBA_MESSAGING == 1)
-#include "tao/TSS_Resources.h"
-
#if !defined (__ACE_INLINE__)
# include "tao/Policy_Manager.i"
#endif /* ! __ACE_INLINE__ */
@@ -15,44 +13,4 @@ ACE_RCSID (tao,
Policy_Manager,
"$Id$")
-
-TAO_Policy_Current_Impl &
-TAO_Policy_Current::implementation (TAO_Policy_Current_Impl &current)
-{
- TAO_TSS_Resources *tss =
- TAO_TSS_RESOURCES::instance ();
-
- TAO_Policy_Current_Impl *old = tss->policy_current_;
- tss->policy_current_ = &current;
- return *old;
-}
-
-TAO_Policy_Current_Impl &
-TAO_Policy_Current::implementation (void) const
-{
- return *TAO_TSS_RESOURCES::instance ()->policy_current_;
-}
-
-void
-TAO_Policy_Current_Impl::set_policy_overrides (
- const CORBA::PolicyList & policies,
- CORBA::SetOverrideType set_add
- ACE_ENV_ARG_DECL
- )
-{
- this->manager_impl_.set_policy_overrides (policies,
- set_add
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::PolicyList *
-TAO_Policy_Current_Impl::get_policy_overrides (
- const CORBA::PolicyTypeSeq & ts
- ACE_ENV_ARG_DECL
- )
-{
- return this->manager_impl_.get_policy_overrides (ts
- ACE_ENV_ARG_PARAMETER);
-}
-
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
diff --git a/TAO/tao/Policy_Manager.h b/TAO/tao/Policy_Manager.h
index 32a5b53bb0f..c61e90afdb9 100644
--- a/TAO/tao/Policy_Manager.h
+++ b/TAO/tao/Policy_Manager.h
@@ -8,7 +8,6 @@
*
* An implementation for the CORBA::PolicyManager interface.
*
- *
* @author Carlos O'Ryan (coryan@cs.wustl.edu)
*/
//=============================================================================
@@ -76,77 +75,6 @@ private:
TAO_Policy_Set impl_;
};
-// ****************************************************************
-
-class TAO_Export TAO_Policy_Current_Impl
-{
-public:
-
- TAO_Policy_Current_Impl (void);
-
- /// Obtain a single policy.
- CORBA::Policy_ptr get_policy (CORBA::PolicyType policy
- ACE_ENV_ARG_DECL);
-
- /// Obtain a single cached policy.
- CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type
- ACE_ENV_ARG_DECL);
-
- // = The CORBA::PolicyManager operations
-
- CORBA::PolicyList * get_policy_overrides (
- const CORBA::PolicyTypeSeq & ts
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
- void set_policy_overrides (const CORBA::PolicyList & policies,
- CORBA::SetOverrideType set_add
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
-private:
- /// The implementation.
- TAO_Policy_Set manager_impl_;
-};
-
-// ****************************************************************
-
-class TAO_Export TAO_Policy_Current :
- public CORBA::PolicyCurrent,
- public TAO_Local_RefCounted_Object
-{
-public:
- /// Constructor
- TAO_Policy_Current (void);
-
- /// Obtain a single policy.
- CORBA::Policy_ptr get_policy (
- CORBA::PolicyType policy
- ACE_ENV_ARG_DECL);
-
- /// Obtain a single cached policy.
- CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type
- ACE_ENV_ARG_DECL);
-
- // = The CORBA::PolicyManager operations
-
- virtual CORBA::PolicyList * get_policy_overrides (
- const CORBA::PolicyTypeSeq & ts
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void set_policy_overrides (
- const CORBA::PolicyList & policies,
- CORBA::SetOverrideType set_add
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- CORBA::InvalidPolicies));
-
- // = Set and get the implementation.
- TAO_Policy_Current_Impl &implementation (void) const;
- TAO_Policy_Current_Impl &implementation (TAO_Policy_Current_Impl &);
-};
-
#if defined(_MSC_VER)
#pragma warning(pop)
#endif /* _MSC_VER */
diff --git a/TAO/tao/Policy_Manager.i b/TAO/tao/Policy_Manager.i
index 56505e6a2b0..3882443c3c8 100644
--- a/TAO/tao/Policy_Manager.i
+++ b/TAO/tao/Policy_Manager.i
@@ -51,79 +51,3 @@ TAO_Policy_Manager::get_cached_policy (TAO_Cached_Policy_Type type
ACE_ENV_ARG_PARAMETER);
}
-
-
-// ****************************************************************
-
-ACE_INLINE
-TAO_Policy_Current::TAO_Policy_Current (void)
-{
-}
-
-ACE_INLINE
-TAO_Policy_Current_Impl::TAO_Policy_Current_Impl (void)
- : manager_impl_ (TAO_POLICY_THREAD_SCOPE)
-{
-}
-
-ACE_INLINE CORBA::Policy_ptr
-TAO_Policy_Current_Impl::get_policy (
- CORBA::PolicyType policy
- ACE_ENV_ARG_DECL)
-{
- return this->manager_impl_.get_policy (policy ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE CORBA::Policy_ptr
-TAO_Policy_Current_Impl::get_cached_policy (TAO_Cached_Policy_Type type
- ACE_ENV_ARG_DECL)
-{
- return this->manager_impl_.get_cached_policy (type
- ACE_ENV_ARG_PARAMETER);
-}
-
-// ****************************************************************
-
-ACE_INLINE CORBA::Policy_ptr
-TAO_Policy_Current::get_policy (
- CORBA::PolicyType policy
- ACE_ENV_ARG_DECL)
-{
- TAO_Policy_Current_Impl &impl = this->implementation ();
-
- return impl.get_policy (policy ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE CORBA::PolicyList *
-TAO_Policy_Current::get_policy_overrides (
- const CORBA::PolicyTypeSeq & ts
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-
-{
- TAO_Policy_Current_Impl &impl = this->implementation ();
-
- return impl.get_policy_overrides (ts ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-TAO_Policy_Current::set_policy_overrides (const CORBA::PolicyList & policies,
- CORBA::SetOverrideType set_add
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CORBA::InvalidPolicies))
-{
- TAO_Policy_Current_Impl &impl = this->implementation ();
-
- impl.set_policy_overrides (policies, set_add ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE CORBA::Policy_ptr
-TAO_Policy_Current::get_cached_policy (TAO_Cached_Policy_Type type
- ACE_ENV_ARG_DECL)
-{
- TAO_Policy_Current_Impl &impl = this->implementation ();
-
- return impl.get_cached_policy (type
- ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/tao/objectid.h b/TAO/tao/objectid.h
index 769479ac407..cc90329aa2a 100644
--- a/TAO/tao/objectid.h
+++ b/TAO/tao/objectid.h
@@ -60,9 +60,10 @@
#define TAO_OBJID_NOTIFICATIONSERVICE "NotificationService"
#define TAO_OBJID_TYPEDNOTIFICATIONSERVICE "TypedNotificationService"
#define TAO_OBJID_COMPONENTHOMEFINDER "ComponentHomeFinder"
-#define TAO_OBJID_PSS "PSS"
-#define TAO_OBJID_CODECFACTORY "CodecFactory"
-#define TAO_OBJID_PICurrent "PICurrent"
+#define TAO_OBJID_PSS "PSS"
+#define TAO_OBJID_CODECFACTORY "CodecFactory"
+#define TAO_OBJID_PICurrent "PICurrent"
+#define TAO_OBJID_POAMANAGERFACTORY "POAManagerFactory"
// Comma separated list of the above ObjectIDs.
// DO NOT include unimplemented services!
@@ -99,8 +100,5 @@ enum TAO_MCAST_SERVICEID
/// No. of services locatable through multicast.
#define TAO_NO_OF_MCAST_SERVICES 4
-
-
-
#include /**/ "ace/post.h"
#endif /*TAO_OBJECTID_H*/
diff --git a/TAO/tao/orbconf.h b/TAO/tao/orbconf.h
index 74f89e9e568..aa28ab7f1bd 100644
--- a/TAO/tao/orbconf.h
+++ b/TAO/tao/orbconf.h
@@ -319,6 +319,10 @@ const size_t TAO_DEFAULT_VALUE_FACTORY_TABLE_SIZE = 128;
#define TAO_DEFAULT_ROOTPOA_NAME "RootPOA"
#endif /* TAO_DEFAULT_ROOTPOA_NAME */
+#if !defined (TAO_DEFAULT_ROOTPOAMANAGER_NAME)
+#define TAO_DEFAULT_ROOTPOAMANAGER_NAME "RootPOAManager"
+#endif /* TAO_DEFAULT_ROOTPOAMANAGER_NAME */
+
// The default lane name used when storing endpoints.
#if !defined (TAO_DEFAULT_LANE)
#define TAO_DEFAULT_LANE "default lane"