summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h51
1 files changed, 36 insertions, 15 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h
index 4de8749c7e9..8aa5af10287 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h
@@ -21,44 +21,65 @@
#include "orbsvcs/ESF/ESF_Worker.h"
#include "Method_Request.h"
-#include "ProxySupplier.h"
+#include "ProxyConsumer.h"
#include "Consumer_Map.h"
+#include "Method_Request_Lookup_T.h"
class TAO_NS_ProxyConsumer;
+typedef TAO_NS_Method_Request_Lookup_T<const TAO_NS_Event_var
+ , TAO_NS_ProxyConsumer_Guard
+ , const TAO_NS_Event_var&
+ , TAO_NS_ProxyConsumer*> TAO_NS_Method_Request_Lookup_Base;
+
/**
* @class TAO_NS_Method_Request_Lookup
*
* @brief Lookup command object looks up the event type of the given event in the consumer map and send the event to each proxysupplier.
*
*/
-class TAO_Notify_Export TAO_NS_Method_Request_Lookup : public TAO_NS_Method_Request_Event, public TAO_ESF_Worker<TAO_NS_ProxySupplier>
+class TAO_Notify_Export TAO_NS_Method_Request_Lookup : public TAO_NS_Method_Request_Lookup_Base
+ , public TAO_NS_Method_Request
{
public:
/// Constuctor
- TAO_NS_Method_Request_Lookup (const TAO_NS_Event_var& event, TAO_NS_ProxyConsumer* proxy_consumer, TAO_NS_Consumer_Map* map);
+ TAO_NS_Method_Request_Lookup (const TAO_NS_Event_var& event, TAO_NS_ProxyConsumer* proxy_consumer);
/// Destructor
~TAO_NS_Method_Request_Lookup ();
- /// Create a copy of this object.
- TAO_NS_Method_Request* copy (void);
-
/// Execute the Request
virtual int execute (ACE_ENV_SINGLE_ARG_DECL);
+};
+
+/*****************************************************************************************************************************/
- ///= TAO_ESF_Worker method
- void work (TAO_NS_ProxySupplier* proxy_supplier ACE_ENV_ARG_DECL);
+typedef TAO_NS_Method_Request_Lookup_T<const TAO_NS_Event*
+ , TAO_NS_ProxyConsumer*
+ , const TAO_NS_Event*
+ , TAO_NS_ProxyConsumer*> TAO_NS_Method_Request_Lookup_No_Copy_Base;
+
+/**
+ * @class TAO_NS_Method_Request_Lookup_No_Copy
+ *
+ * @brief Lookup command object looks up the event type of the given event in the consumer map and send the event to each proxysupplier.
+ *
+ */
+class TAO_Notify_Export TAO_NS_Method_Request_Lookup_No_Copy : public TAO_NS_Method_Request_Lookup_No_Copy_Base
+ , public TAO_NS_Method_Request_No_Copy
+{
+public:
+ /// Constuctor
+ TAO_NS_Method_Request_Lookup_No_Copy (const TAO_NS_Event* event, TAO_NS_ProxyConsumer* proxy_consumer);
-private:
- /// ProxyConsumer supplying event.
- TAO_NS_ProxyConsumer* proxy_consumer_;
+ /// Destructor
+ ~TAO_NS_Method_Request_Lookup_No_Copy ();
- /// The map of subscriptions.
- TAO_NS_Consumer_Map* map_;
+ /// Execute the Request
+ virtual int execute (ACE_ENV_SINGLE_ARG_DECL);
- /// Guard to automatically inc/decr ref count on the proxy.
- TAO_NS_Refcountable_Guard refcountable_guard_;
+ /// Create a copy of this object.
+ virtual TAO_NS_Method_Request* copy (ACE_ENV_SINGLE_ARG_DECL);
};
#if defined (__ACE_INLINE__)