diff options
Diffstat (limited to 'TAO/tao/CSD_Framework/CSD_Strategy_Base.h')
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Strategy_Base.h | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Base.h b/TAO/tao/CSD_Framework/CSD_Strategy_Base.h deleted file mode 100644 index d65753a27f7..00000000000 --- a/TAO/tao/CSD_Framework/CSD_Strategy_Base.h +++ /dev/null @@ -1,174 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CSD_Strategy_Base.h - * - * $Id$ - * - * @author Tim Bradley <bradley_t@ociweb.com> - */ -//============================================================================= - -#ifndef TAO_CSD_FW_CUSTOM_SERVANT_DISPATCHING_STRATEGY_H -#define TAO_CSD_FW_CUSTOM_SERVANT_DISPATCHING_STRATEGY_H - -#include /**/ "ace/pre.h" - -#include "tao/CSD_Framework/CSD_FW_Export.h" - -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Servant_Upcall.h" -#include "tao/PortableServer/Servant_Base.h" -#include "tao/TAO_Server_Request.h" -#include "tao/LocalObject.h" - - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/CSD_Framework/CSD_FrameworkC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Root_POA; -namespace PortableServer -{ - class POAManager; -} - -namespace TAO -{ - namespace CSD - { - /** - * @class Strategy_Base - * - * @brief Base class for all Custom Servant Dispatching Strategies. - * - * This class serves as the base class for all "custom" strategies that - * perform servant dispatching. An instance of (a subclass of) this class - * can be applied to a POA object. Any servant requests for the POA will - * be "dispatched" to this strategy object. - * - */ - class TAO_CSD_FW_Export Strategy_Base - : public CSD_Framework::Strategy, - public TAO_Local_RefCounted_Object - { - public: - - /// Result Type for dispatching method(s). - enum DispatchResult - { - // The request dispatching has been handled. - DISPATCH_HANDLED, - - // The request dispatching has been rejected. - DISPATCH_REJECTED, - - // Defer to "default" dispatching strategy (use the caller's thread). - DISPATCH_DEFERRED - }; - - /// Virtual Destructor. - virtual ~Strategy_Base(); - - /// This method is invoked to "attach" this strategy object to - /// the supplied POA. Returns true for success, and false for failure. - CORBA::Boolean apply_to(PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException)); - - protected: - /// Default Constructor. - Strategy_Base(); - - /// Subclass provides implementation to dispatch a remote request. - virtual DispatchResult dispatch_remote_request_i - (TAO_ServerRequest& server_request, - const PortableServer::ObjectId& object_id, - PortableServer::POA_ptr poa, - const char* operation, - PortableServer::Servant servant - ACE_ENV_ARG_DECL) = 0; - - /// Subclass provides implementation to dispatch a collocated request. - virtual DispatchResult dispatch_collocated_request_i - (TAO_ServerRequest& server_request, - const PortableServer::ObjectId& object_id, - PortableServer::POA_ptr poa, - const char* operation, - PortableServer::Servant servant - ACE_ENV_ARG_DECL) = 0; - - /// Event - The POA has been activated. - virtual bool poa_activated_event_i() = 0; - - /// Event - The POA has been deactivated. - virtual void poa_deactivated_event_i() = 0; - - /// Event - A servant has been activated. - virtual void servant_activated_event_i - (PortableServer::Servant servant, - const PortableServer::ObjectId& oid - ACE_ENV_ARG_DECL); - - /// Event - A servant has been deactivated. - virtual void servant_deactivated_event_i - (PortableServer::Servant servant, - const PortableServer::ObjectId& oid - ACE_ENV_ARG_DECL); - - private: - - /// Only our friend, the proxy, is allowed to invoke our private operations. - /// This allows us to not pollute the public interface of the CSD Strategy_Base - /// subclasses with methods that should never be called (except by the - /// proxy, of course). - friend class Strategy_Proxy; - - /// This CSD Strategy_Base has been asked to dispatch a (collocated or remote) - /// request. - void dispatch_request(TAO_ServerRequest& server_request, - ::TAO::Portable_Server::Servant_Upcall& upcall - ACE_ENV_ARG_DECL); - - /// Event - The POA has been activated. This happens when the POA_Manager - /// is activated. - bool poa_activated_event(); - - /// Event - The POA has been deactivated. This happens when the - /// POAManager is deactivated, or when the POA is destroyed. - void poa_deactivated_event(); - - /// Event - A servant has been activated. - void servant_activated_event(PortableServer::Servant servant, - const PortableServer::ObjectId& oid - ACE_ENV_ARG_DECL); - - /// Event - A servant has been deactivated. This also occurs when - /// the POA is destroyed. - void servant_deactivated_event(PortableServer::Servant servant, - const PortableServer::ObjectId& oid - ACE_ENV_ARG_DECL); - - /// The POA to which this strategy has been applied. - ::PortableServer::POA_var poa_; - - /// This flag indicates that the POA is currently active (true) or - /// currently inactive (false). - bool poa_activated_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "tao/CSD_Framework/CSD_Strategy_Base.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CSD_FW_CUSTOM_SERVANT_DISPATCHING_STRATEGY_H */ |