summaryrefslogtreecommitdiff
path: root/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h')
-rw-r--r--TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h
deleted file mode 100644
index 959a7cb9ebb..00000000000
--- a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h
+++ /dev/null
@@ -1,114 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file CSD_Strategy_Proxy.h
- *
- * $Id$
- *
- * @author Tim Bradley <bradley_t@ociweb.com>
- */
-//=============================================================================
-
-#ifndef TAO_SERVANT_DISPATCHING_STRATEGY_PROXY_H
-#define TAO_SERVANT_DISPATCHING_STRATEGY_PROXY_H
-
-#include /**/ "ace/pre.h"
-
-#include "tao/CSD_Framework/CSD_FW_Export.h"
-
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/PortableServer/Servant_Upcall.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/CSD_Framework/CSD_Strategy_Base.h"
-
-
-TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-
-class TAO_ServerRequest;
-
-namespace TAO
-{
- namespace CSD
- {
- /**
- * @class Strategy_Proxy
- *
- * @brief Proxy class for the Custom Servant Dispatching Strategy.
- *
- * If no custom servant dispatching strategy is provided to the proxy,
- * then the "default servant dispatching strategy" logic is used.
- */
- class TAO_CSD_FW_Export Strategy_Proxy
- {
- public:
-
- /// Default Constructor.
- Strategy_Proxy();
-
- /// Destructor.
- ~Strategy_Proxy();
-
- /// Mutator to provide the proxy with a CSD Strategy object.
- /// A return value of true indicates success, and false indicates
- /// failure to set the custom strategy on the proxy object.
- bool custom_strategy(CSD_Framework::Strategy_ptr strategy);
-
- /// Invoked by the Object_Adapter using an ORB thread.
- ///
- /// If the proxy object holds a custom strategy object, then this method
- /// will simply delegate to the custom strategy object. Otherwise,
- /// this method will perform the "default servant dispatching strategy"
- /// logic, preserving the original logic path as it was prior to the
- /// introduction of the Custom Servant Dispatching feature.
- ///
- /// This method will be inlined (if inlining is turned on during the build).
- ///
- /// The added cost to the original logic path will be this method
- /// invocation + one conditional (an is_nil() call/comparison for truth on
- /// the smart pointer to the custom dispatching strategy object).
- void dispatch_request(TAO_ServerRequest& server_request,
- TAO::Portable_Server::Servant_Upcall& upcall
- ACE_ENV_ARG_DECL);
-
-
- /// Event - The POA has been (or is being) activated.
- bool poa_activated_event();
-
- /// Event - The POA has been deactivated.
- 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.
- void servant_deactivated_event(PortableServer::Servant servant,
- const PortableServer::ObjectId& oid
- ACE_ENV_ARG_DECL);
-
- private:
-
- /// Smart Pointer to a custom servant dispatching strategy object.
- /// This smart pointer will be in the "nil" state when the "default"
- /// strategy is to be applied.
- CSD_Framework::Strategy_var strategy_;
- TAO::CSD::Strategy_Base *strategy_impl_;
- };
- }
-}
-
-TAO_END_VERSIONED_NAMESPACE_DECL
-
-#if defined (__ACE_INLINE__)
-# include "tao/CSD_Framework/CSD_Strategy_Proxy.inl"
-#endif /* __ACE_INLINE__ */
-
-#include /**/ "ace/post.h"
-
-#endif