diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2000-10-23 10:03:19 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2000-10-23 10:03:19 +0000 |
commit | babcb84bcef67a0718b81b23caf4593afb5ba4c6 (patch) | |
tree | ae0eb6fa77b9d9753e97f55b09c48731e3f807d8 /TAO/tao/ORB_Core.h | |
parent | 79ee5b3d7d05d1a6311cc8aacaa2e47159188f6b (diff) | |
download | ATCD-babcb84bcef67a0718b81b23caf4593afb5ba4c6.tar.gz |
ChangeLogTag:Mon Oct 23 02:49:25 2000 Ossama Othman <ossama@uci.edu>
Diffstat (limited to 'TAO/tao/ORB_Core.h')
-rw-r--r-- | TAO/tao/ORB_Core.h | 59 |
1 files changed, 54 insertions, 5 deletions
diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 48a40eac2bc..be337417a33 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -32,10 +32,17 @@ #include "tao/TAO_Singleton_Manager.h" #include "tao/TAO_Singleton.h" #include "tao/Adapter.h" -#include "tao/Service_Callbacks.h" +#include "tao/PolicyFactory_Registry.h" #include "tao/Parser_Registry.h" +#include "tao/Service_Callbacks.h" #include "tao/Fault_Tolerance_Service.h" +#if (TAO_HAS_INTERCEPTORS == 1) +// Interceptor definitions. +# include "tao/PortableInterceptorC.h" +# include "tao/Interceptor_List.h" +#endif /* TAO_HAS_INTERCEPTORS */ + #include "ace/Hash_Map_Manager.h" // Forward declarations @@ -191,6 +198,10 @@ public: // = Get the IOR parser registry TAO_Parser_Registry *parser_registry (void); + TAO_PolicyFactory_Registry *policy_factory_registry (void); + ///< Return pointer to the policy factory registry associated with + ///< this ORB core. + // = Get the protocol factories TAO_ProtocolFactorySet *protocol_factories (void); @@ -600,6 +611,10 @@ public: // layer. This method would call the loaded services to check // whether they can create the policy object requested by the // application. + // @@ This method should go away in favor of the policy factory + // registration support provided by the Portable Interceptor + // spec. + void service_context_list (TAO_Stub *&stub, IOP::ServiceContextList &service_list, @@ -625,6 +640,30 @@ public: // delegate to the service to see what the service has to do for // this case. +#if TAO_HAS_INTERCEPTORS == 1 + + void add_interceptor ( + PortableInterceptor::ClientRequestInterceptor_ptr interceptor, + CORBA_Environment &ACE_TRY_ENV); + ///< Register a client request interceptor. + + void add_interceptor ( + PortableInterceptor::ServerRequestInterceptor_ptr interceptor, + CORBA_Environment &ACE_TRY_ENV); + ///< Register a server request interceptor. + + TAO_ClientRequestInterceptor_List::TYPE & + client_request_interceptors (void); + ///< Return the array of client-side interceptors specific to + ///< this ORB. + + TAO_ServerRequestInterceptor_List::TYPE & + server_request_interceptors (void); + ///< Return the array of server-side interceptors specific to + ///< this ORB. + +#endif /* TAO_HAS_INTERCEPTORS */ + int open (CORBA::Environment &ACE_TRY_ENV); // Set up the ORB Core's acceptor to listen on the // previously-specified port for requests. Returns -1 on failure, @@ -668,13 +707,13 @@ protected: private: - void resolve_ior_table_i (CORBA::Environment &ACE_TRY_ENV); - // Obtain and cache the dynamic any factory object reference - - // The ORB Core should not be copied + // The ORB Core should not be copied. ACE_UNIMPLEMENTED_FUNC (TAO_ORB_Core(const TAO_ORB_Core&)) ACE_UNIMPLEMENTED_FUNC (void operator=(const TAO_ORB_Core&)) + void resolve_ior_table_i (CORBA::Environment &ACE_TRY_ENV); + // Obtain and cache the dynamic any factory object reference. + CORBA::Object_ptr create_collocated_object (TAO_Stub *the_stub, TAO_ORB_Core *other_orb, const TAO_MProfile &mprofile); @@ -912,8 +951,18 @@ protected: // dynamically loaded ORBs where an application level reactor, such // as the Singleton reactor, is used instead of an ORB created one. + TAO_PolicyFactory_Registry policy_factory_registry_; + ///< Registry containing all registered policy factories. + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ClientRequestInterceptor_List client_request_interceptors_; + TAO_ServerRequestInterceptor_List server_request_interceptors_; + ///< Interceptor registries. +#endif /* TAO_HAS_INTERCEPTORS */ + TAO_Parser_Registry parser_registry_; // The IOR parser registry + }; // **************************************************************** |