diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2005-06-22 14:04:01 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2005-06-22 14:04:01 +0000 |
commit | 1b73fec31822b48cb613f0eac322b0c691f9b273 (patch) | |
tree | 77677717fde0208d1aee69257dcedf19804c26ab | |
parent | 2e2c1937c426736b1b4861c9b5ca0bdd1c9f7665 (diff) | |
download | ATCD-1b73fec31822b48cb613f0eac322b0c691f9b273.tar.gz |
ChangeLogTag: Wed Jun 22 12:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r-- | TAO/tao/LF_Connect_Strategy.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/LF_Event.cpp | 5 | ||||
-rw-r--r-- | TAO/tao/LF_Strategy_Complete.cpp | 6 | ||||
-rw-r--r-- | TAO/tao/Leader_Follower.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/Leader_Follower.h | 5 | ||||
-rw-r--r-- | TAO/tao/Leader_Follower.i | 2 | ||||
-rw-r--r-- | TAO/tao/Leader_Follower_Flushing_Strategy.cpp | 5 | ||||
-rw-r--r-- | TAO/tao/ORB.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.cpp | 40 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.h | 68 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.i | 2 | ||||
-rw-r--r-- | TAO/tao/ORB_Core_TSS_Resources.cpp | 42 | ||||
-rw-r--r-- | TAO/tao/ORB_Core_TSS_Resources.h | 95 | ||||
-rw-r--r-- | TAO/tao/PICurrent.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/RTCORBA/Thread_Pool.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/Thread_Lane_Resources.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/Transport.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/Wait_On_LF_No_Upcall.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/Wait_On_Leader_Follower.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/tao.mpc | 2 |
23 files changed, 169 insertions, 115 deletions
diff --git a/TAO/tao/LF_Connect_Strategy.cpp b/TAO/tao/LF_Connect_Strategy.cpp index 3acdc624452..68873f5fe66 100644 --- a/TAO/tao/LF_Connect_Strategy.cpp +++ b/TAO/tao/LF_Connect_Strategy.cpp @@ -3,6 +3,7 @@ #include "LF_Follower.h" #include "Leader_Follower.h" #include "Transport.h" +#include "ORB_Core.h" #include "ace/Synch_Options.h" ACE_RCSID(tao, diff --git a/TAO/tao/LF_Event.cpp b/TAO/tao/LF_Event.cpp index be8e2cf2ca8..d0f4d620cd3 100644 --- a/TAO/tao/LF_Event.cpp +++ b/TAO/tao/LF_Event.cpp @@ -3,13 +3,14 @@ #include "LF_Event.h" #include "LF_Follower.h" #include "Leader_Follower.h" +#include "ace/Guard_T.h" #if !defined (__ACE_INLINE__) # include "tao/LF_Event.inl" #endif /* __ACE_INLINE__ */ -ACE_RCSID (tao, - LF_Event, +ACE_RCSID (tao, + LF_Event, "$Id$") TAO_LF_Event::TAO_LF_Event (void) diff --git a/TAO/tao/LF_Strategy_Complete.cpp b/TAO/tao/LF_Strategy_Complete.cpp index 4b82afc1df5..8ae4cc0b00f 100644 --- a/TAO/tao/LF_Strategy_Complete.cpp +++ b/TAO/tao/LF_Strategy_Complete.cpp @@ -4,13 +4,15 @@ #include "tao/LF_Strategy_Complete.h" #include "tao/LF_Follower.h" #include "tao/Leader_Follower.h" +#include "ace/Guard_T.h" +#include "ace/Log_Msg.h" #if !defined (__ACE_INLINE__) # include "tao/LF_Strategy_Complete.inl" #endif /* __ACE_INLINE__ */ -ACE_RCSID (tao, - LF_Strategy_Complete, +ACE_RCSID (tao, + LF_Strategy_Complete, "$Id$") TAO_LF_Strategy_Complete::~TAO_LF_Strategy_Complete (void) diff --git a/TAO/tao/Leader_Follower.cpp b/TAO/tao/Leader_Follower.cpp index f3c6c725631..da7cb06fd74 100644 --- a/TAO/tao/Leader_Follower.cpp +++ b/TAO/tao/Leader_Follower.cpp @@ -11,6 +11,7 @@ #include "tao/debug.h" #include "tao/Transport.h" #include "tao/GUIResource_Factory.h" +#include "tao/ORB_Core.h" #if !defined (__ACE_INLINE__) # include "tao/Leader_Follower.i" diff --git a/TAO/tao/Leader_Follower.h b/TAO/tao/Leader_Follower.h index b5ac1d96e5c..9e4a6c5fef4 100644 --- a/TAO/tao/Leader_Follower.h +++ b/TAO/tao/Leader_Follower.h @@ -21,7 +21,6 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/ORB_Core.h" #include "tao/New_Leader_Generator.h" #include "tao/LF_Follower.h" #include "ace/Reverse_Lock_T.h" @@ -30,7 +29,9 @@ class TAO_LF_Event; class TAO_Transport; -// class TAO_LF_Follower; +class TAO_ORB_Core; +class ACE_Reactor; +class TAO_ORB_Core_TSS_Resources; /** * @class TAO_Leader_Follower diff --git a/TAO/tao/Leader_Follower.i b/TAO/tao/Leader_Follower.i index cdc68d7e7bd..c7fda5d6411 100644 --- a/TAO/tao/Leader_Follower.i +++ b/TAO/tao/Leader_Follower.i @@ -3,6 +3,8 @@ // **************************************************************** +#include "ORB_Core_TSS_Resources.h" + ACE_INLINE TAO_Leader_Follower::TAO_Leader_Follower (TAO_ORB_Core* orb_core, TAO_New_Leader_Generator *new_leader_generator) diff --git a/TAO/tao/Leader_Follower_Flushing_Strategy.cpp b/TAO/tao/Leader_Follower_Flushing_Strategy.cpp index 5c01508a736..b96152bc26d 100644 --- a/TAO/tao/Leader_Follower_Flushing_Strategy.cpp +++ b/TAO/tao/Leader_Follower_Flushing_Strategy.cpp @@ -6,9 +6,10 @@ #include "tao/Leader_Follower.h" #include "tao/Transport.h" #include "tao/Queued_Message.h" +#include "tao/ORB_Core.h" -ACE_RCSID (tao, - Leader_Follower_Flushing_Strategy, +ACE_RCSID (tao, + Leader_Follower_Flushing_Strategy, "$Id$") int diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp index 6ac3896e62c..3f60931e5f3 100644 --- a/TAO/tao/ORB.cpp +++ b/TAO/tao/ORB.cpp @@ -11,6 +11,7 @@ ACE_RCSID (tao, #include "IOR_Parser.h" #include "Stub.h" #include "ORB_Core.h" +#include "ORB_Core_TSS_Resources.h" #include "TAO_Internal.h" #include "NVList.h" #include "Dynamic_Adapter.h" diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 66248c88c7f..cc0ca1ade7b 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -2902,46 +2902,6 @@ TAO_ORB_Core::ior_interceptor_adapter (void) // **************************************************************** -TAO_ORB_Core_TSS_Resources::TAO_ORB_Core_TSS_Resources (void) - : event_loop_thread_ (0) - , client_leader_thread_ (0) - , lane_ (0) - , ts_objects_ () - , upcalls_temporarily_suspended_on_this_thread_ (false) - , orb_core_ (0) -#if TAO_HAS_INTERCEPTORS == 1 - , pi_current_ () - , client_request_info_ (0) -#endif /* TAO_HAS_INTERCEPTORS == 1 */ -{ -#if TAO_HAS_INTERCEPTORS == 1 - ACE_NEW (this->client_request_info_, - TAO_ClientRequestInfo); -#endif /* TAO_HAS_INTERCEPTORS == 1 */ -} - -TAO_ORB_Core_TSS_Resources::~TAO_ORB_Core_TSS_Resources (void) -{ - -#if TAO_HAS_INTERCEPTORS == 1 - CORBA::release (this->client_request_info_); -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - - //@@ This is broken on platforms that use TSS emulation since this - // destructor is invoked after the ORB. Since we're under - // pressure to release a beta, we'll have to leak the TSS objects - // stores in the <ts_objects_> array. However, the only service - // known to currently use this array is the SSLIOP pluggable - // protocol. Fortunately, it registeres a null cleanup function - // so we're not leaking anything yet. We *do* need to fix this - // before other services start to use this array. - // -Ossama - // if (this->orb_core_ != 0) - // this->orb_core_->tss_cleanup_funcs ()->cleanup (this->ts_objects_); -} - -// **************************************************************** - TAO_Export TAO_ORB_Core * TAO_ORB_Core_instance (void) { diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 4a45da7a8ce..32700496dd4 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -73,6 +73,7 @@ class TAO_Resource_Factory; class TAO_Client_Strategy_Factory; class TAO_Server_Strategy_Factory; +class TAO_ORB_Core_TSS_Resources; class TAO_TSS_Resources; class TAO_Leader_Follower; class TAO_LF_Strategy; @@ -142,73 +143,6 @@ namespace PortableInterceptor class IORInterceptor; typedef IORInterceptor *IORInterceptor_ptr; } -// **************************************************************** - -/** - * @class TAO_ORB_Core_TSS_Resources - * - * @brief The TSS resoures of an ORB core. - * - * This class is used by the ORB_Core to store the resources - * potentially bound to a thread in TSS storage. The members are public - * because only the ORB Core is expected to access them. - */ -class TAO_Export TAO_ORB_Core_TSS_Resources -{ -public: - - /// Constructor - TAO_ORB_Core_TSS_Resources (void); - - /// destructor - ~TAO_ORB_Core_TSS_Resources (void); - -private: - - /// The ORB Core TSS resources should not be copied - ACE_UNIMPLEMENTED_FUNC (TAO_ORB_Core_TSS_Resources (const TAO_ORB_Core_TSS_Resources&)) - ACE_UNIMPLEMENTED_FUNC (void operator= (const TAO_ORB_Core_TSS_Resources&)) - -public: - - /** - * @todo - * The rest of the resources are not currently in use, just a plan - * for the future... - */ - /// Counter for how (nested) calls this thread has made to run the - /// event loop. - int event_loop_thread_; - - /// Counter for how many times this thread has become a client - /// leader. - int client_leader_thread_; - - /// Lane for this thread. - void *lane_; - - /// Generic container for thread-specific objects. - ACE_Array_Base<void *> ts_objects_; - - // Set to true by the wait_on_lf_no_nested_upcall wait strategy - // @CJC@ maybe we should use allocate_tss_slot_id() instead? - bool upcalls_temporarily_suspended_on_this_thread_; - - /// Pointer to the ORB core. Needed to get access to the TSS - /// cleanup functions for the TSS objects stored in the TSS object - /// array in this class. - TAO_ORB_Core *orb_core_; - -#if TAO_HAS_INTERCEPTORS == 1 - /// The thread-specific portion of the PICurrent object. - TAO::PICurrent_Impl pi_current_; - - /// The PortableInterceptor::ClientRequestInfo object for the - /// current thread. - TAO_ClientRequestInfo *client_request_info_; -#endif /* TAO_HAS_INTERCEPTORS == 1 */ -}; - // **************************************************************** /** diff --git a/TAO/tao/ORB_Core.i b/TAO/tao/ORB_Core.i index 48883d2acb8..4d1f322dcef 100644 --- a/TAO/tao/ORB_Core.i +++ b/TAO/tao/ORB_Core.i @@ -2,6 +2,8 @@ // // $Id$ +#include "tao/ORB_Core_TSS_Resources.h" + ACE_INLINE CORBA::ULong TAO_ORB_Core::_incr_refcnt (void) { diff --git a/TAO/tao/ORB_Core_TSS_Resources.cpp b/TAO/tao/ORB_Core_TSS_Resources.cpp new file mode 100644 index 00000000000..6e7e3606df5 --- /dev/null +++ b/TAO/tao/ORB_Core_TSS_Resources.cpp @@ -0,0 +1,42 @@ +// $Id$ + +#include "ORB_Core_TSS_Resources.h" + +TAO_ORB_Core_TSS_Resources::TAO_ORB_Core_TSS_Resources (void) + : event_loop_thread_ (0) + , client_leader_thread_ (0) + , lane_ (0) + , ts_objects_ () + , upcalls_temporarily_suspended_on_this_thread_ (false) + , orb_core_ (0) +#if TAO_HAS_INTERCEPTORS == 1 + , pi_current_ () + , client_request_info_ (0) +#endif /* TAO_HAS_INTERCEPTORS == 1 */ +{ +#if TAO_HAS_INTERCEPTORS == 1 + ACE_NEW (this->client_request_info_, + TAO_ClientRequestInfo); +#endif /* TAO_HAS_INTERCEPTORS == 1 */ +} + +TAO_ORB_Core_TSS_Resources::~TAO_ORB_Core_TSS_Resources (void) +{ + +#if TAO_HAS_INTERCEPTORS == 1 + CORBA::release (this->client_request_info_); +#endif /* TAO_HAS_INTERCEPTORS == 1 */ + + //@@ This is broken on platforms that use TSS emulation since this + // destructor is invoked after the ORB. Since we're under + // pressure to release a beta, we'll have to leak the TSS objects + // stores in the <ts_objects_> array. However, the only service + // known to currently use this array is the SSLIOP pluggable + // protocol. Fortunately, it registeres a null cleanup function + // so we're not leaking anything yet. We *do* need to fix this + // before other services start to use this array. + // -Ossama + // if (this->orb_core_ != 0) + // this->orb_core_->tss_cleanup_funcs ()->cleanup (this->ts_objects_); +} + diff --git a/TAO/tao/ORB_Core_TSS_Resources.h b/TAO/tao/ORB_Core_TSS_Resources.h new file mode 100644 index 00000000000..6c68da4ea22 --- /dev/null +++ b/TAO/tao/ORB_Core_TSS_Resources.h @@ -0,0 +1,95 @@ +// -*- C++ -*- + +// =================================================================== +/** + * @file ORB_Core.h + * + * $Id$ + * + * @author DOC Center - Washington University at St. Louis + * @author DOC Laboratory - University of California at Irvine + */ +// =================================================================== + +#ifndef TAO_ORB_CORE_TSS_RESOURCES_H +#define TAO_ORB_CORE_TSS_RESOURCES_H + +#include /**/ "ace/pre.h" + +#include "tao/TAO_Export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ace/Array_Base.h" + +class TAO_ORB_Core; + +/** + * @class TAO_ORB_Core_TSS_Resources + * + * @brief The TSS resoures of an ORB core. + * + * This class is used by the ORB_Core to store the resources + * potentially bound to a thread in TSS storage. The members are public + * because only the ORB Core is expected to access them. + */ +class TAO_Export TAO_ORB_Core_TSS_Resources +{ +public: + + /// Constructor + TAO_ORB_Core_TSS_Resources (void); + + /// destructor + ~TAO_ORB_Core_TSS_Resources (void); + +private: + + /// The ORB Core TSS resources should not be copied + TAO_ORB_Core_TSS_Resources (const TAO_ORB_Core_TSS_Resources&); + void operator= (const TAO_ORB_Core_TSS_Resources&); + +public: + + /** + * @todo + * The rest of the resources are not currently in use, just a plan + * for the future... + */ + /// Counter for how (nested) calls this thread has made to run the + /// event loop. + int event_loop_thread_; + + /// Counter for how many times this thread has become a client + /// leader. + int client_leader_thread_; + + /// Lane for this thread. + void *lane_; + + /// Generic container for thread-specific objects. + ACE_Array_Base<void *> ts_objects_; + + // Set to true by the wait_on_lf_no_nested_upcall wait strategy + // @CJC@ maybe we should use allocate_tss_slot_id() instead? + bool upcalls_temporarily_suspended_on_this_thread_; + + /// Pointer to the ORB core. Needed to get access to the TSS + /// cleanup functions for the TSS objects stored in the TSS object + /// array in this class. + TAO_ORB_Core *orb_core_; + +#if TAO_HAS_INTERCEPTORS == 1 + /// The thread-specific portion of the PICurrent object. + TAO::PICurrent_Impl pi_current_; + + /// The PortableInterceptor::ClientRequestInfo object for the + /// current thread. + TAO_ClientRequestInfo *client_request_info_; +#endif /* TAO_HAS_INTERCEPTORS == 1 */ +}; + +#include /**/ "ace/post.h" +#endif /* TAO_ORB_CORE_H */ diff --git a/TAO/tao/PICurrent.cpp b/TAO/tao/PICurrent.cpp index 56802cbfde3..3c938ea4df9 100644 --- a/TAO/tao/PICurrent.cpp +++ b/TAO/tao/PICurrent.cpp @@ -12,6 +12,7 @@ ACE_RCSID (tao, #endif /* __ACE_INLINE__ */ #include "ORB_Core.h" +#include "ORB_Core_TSS_Resources.h" #include "TAO_Server_Request.h" #include "PICurrent_Copy_Callback.h" #include "SystemException.h" diff --git a/TAO/tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp b/TAO/tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp index 496092041c2..8b580a178fe 100644 --- a/TAO/tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp +++ b/TAO/tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp @@ -9,6 +9,7 @@ ACE_RCSID (RTCORBA, "$Id$") #include "tao/ORB_Core.h" +#include "tao/ORB_Core_TSS_Resources.h" #include "tao/Acceptor_Registry.h" #include "tao/Thread_Lane_Resources.h" #include "tao/RTCORBA/Thread_Pool.h" diff --git a/TAO/tao/RTCORBA/Thread_Pool.cpp b/TAO/tao/RTCORBA/Thread_Pool.cpp index ce5cc9e5721..efcba7d32ce 100644 --- a/TAO/tao/RTCORBA/Thread_Pool.cpp +++ b/TAO/tao/RTCORBA/Thread_Pool.cpp @@ -8,6 +8,7 @@ ACE_RCSID (RTCORBA, #include "tao/Exception.h" #include "tao/ORB_Core.h" +#include "tao/ORB_Core_TSS_Resources.h" #include "tao/ORB.h" #include "tao/Acceptor_Registry.h" #include "tao/Transport_Cache_Manager.h" diff --git a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp index a97308a22a2..8dc4a8cfd0b 100644 --- a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp +++ b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp @@ -9,6 +9,7 @@ ACE_RCSID(RTPortableServer, "$Id$") #include "tao/ORB_Core.h" +#include "tao/ORB_Core_TSS_Resources.h" #include "tao/Object.h" #include "tao/Stub.h" #include "tao/PortableServer/Servant_Upcall.h" diff --git a/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp b/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp index cffae210ea4..86c7173aad8 100644 --- a/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp +++ b/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp @@ -5,6 +5,7 @@ #include "RT_POA.h" #include "tao/RTCORBA/Thread_Pool.h" #include "tao/ORB_Core.h" +#include "tao/ORB_Core_TSS_Resources.h" #include "tao/TAO_Server_Request.h" #include "tao/Transport.h" #include "tao/IIOP_Transport.h" diff --git a/TAO/tao/Thread_Lane_Resources.cpp b/TAO/tao/Thread_Lane_Resources.cpp index f99eb637b8c..74f426572b5 100644 --- a/TAO/tao/Thread_Lane_Resources.cpp +++ b/TAO/tao/Thread_Lane_Resources.cpp @@ -13,6 +13,7 @@ ACE_RCSID (tao, #include "tao/Transport.h" #include "tao/Connector_Registry.h" #include "tao/SystemException.h" +#include "tao/ORB_Core.h" #include "ace/Reactor.h" diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp index 06aa4f74b14..94cc9797dd9 100644 --- a/TAO/tao/Transport.cpp +++ b/TAO/tao/Transport.cpp @@ -20,6 +20,7 @@ #include "Codeset_Translator_Factory.h" #include "debug.h" #include "CDR.h" +#include "ORB_Core.h" #include "ace/OS_NS_sys_time.h" #include "ace/OS_NS_stdio.h" diff --git a/TAO/tao/Wait_On_LF_No_Upcall.cpp b/TAO/tao/Wait_On_LF_No_Upcall.cpp index cf06846b4e2..00075a77b84 100644 --- a/TAO/tao/Wait_On_LF_No_Upcall.cpp +++ b/TAO/tao/Wait_On_LF_No_Upcall.cpp @@ -4,6 +4,7 @@ #include "tao/Transport.h" #include "tao/ORB_Core.h" +#include "tao/ORB_Core_TSS_Resources.h" #include "debug.h" ACE_RCSID(tao, diff --git a/TAO/tao/Wait_On_Leader_Follower.cpp b/TAO/tao/Wait_On_Leader_Follower.cpp index 393dacadef7..82ac698e591 100644 --- a/TAO/tao/Wait_On_Leader_Follower.cpp +++ b/TAO/tao/Wait_On_Leader_Follower.cpp @@ -5,6 +5,7 @@ #include "tao/Leader_Follower.h" #include "tao/Transport.h" #include "tao/Synch_Reply_Dispatcher.h" +#include "tao/ORB_Core.h" ACE_RCSID (tao, Wait_On_Leader_Follower, diff --git a/TAO/tao/tao.mpc b/TAO/tao/tao.mpc index 50335d3efdb..59ad923e0e5 100644 --- a/TAO/tao/tao.mpc +++ b/TAO/tao/tao.mpc @@ -186,6 +186,7 @@ project(TAO) : acelib, core, tao_output, taodefaults, pidl, extra_core { orb_typesC.cpp ORB_Core.cpp ORB_Core_Auto_Ptr.cpp + ORB_Core_TSS_Resources.cpp ORB_Table.cpp ParameterModeA.cpp ParameterModeC.cpp @@ -529,6 +530,7 @@ project(TAO) : acelib, core, tao_output, taodefaults, pidl, extra_core { orbconf.h ORB_Constants.h ORB_Core_Auto_Ptr.h + ORB_Core_TSS_Resources.h ORB_Core.h ORB.h ORBInitializer_Registry.h |