diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h | 51 |
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__) |