diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h index 9c476e8ba55..dfb5bb590b9 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h +++ b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h @@ -20,18 +20,22 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "Event.h" -#include "Consumer.h" #include "Proxy.h" #include "orbsvcs/CosEventChannelAdminC.h" +class TAO_NS_Consumer; +class TAO_NS_ConsumerAdmin; + /** * @class TAO_NS_ProxySupplier * * @brief Base class for all the ProxySuppliers. * */ -class TAO_Notify_Export TAO_NS_ProxySupplier : public TAO_NS_Proxy +class TAO_Notify_Export TAO_NS_ProxySupplier : public virtual TAO_NS_Proxy { + friend class TAO_NS_Consumer; + public: /// Constuctor TAO_NS_ProxySupplier (void); @@ -39,8 +43,8 @@ public: /// Destructor virtual ~TAO_NS_ProxySupplier (); - /// Init method. - virtual void init_ps (ACE_ENV_SINGLE_ARG_DECL); + /// Init + virtual void init (TAO_NS_ConsumerAdmin* consumer_admin ACE_ENV_ARG_DECL); /// Connect void connect (TAO_NS_Consumer* consumer ACE_ENV_ARG_DECL) @@ -52,13 +56,19 @@ public: void disconnect (ACE_ENV_SINGLE_ARG_DECL); /// Dispatch Event to consumer - virtual void push (TAO_NS_Event_var &event); + virtual void push (const TAO_NS_Event_var &event); /// Dispatch Event to consumer, no filtering - virtual void push_no_filtering (TAO_NS_Event_var &event); + virtual void push_no_filtering (const TAO_NS_Event_var &event); + + /// Override TAO_NS_Container_T::shutdown method + virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL); - /// Shutdown (TAO_NS_Container_T method) - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); + /// Destroy this object. + virtual void destroy (ACE_ENV_SINGLE_ARG_DECL); + + /// Override, TAO_NS_Proxy::qos_changed to apply MaxEventssPerConsumer QoS. + virtual void qos_changed (const TAO_NS_QoSProperties& qos_properties); /// Access our Peer. virtual TAO_NS_Peer* peer (void); @@ -66,10 +76,18 @@ public: /// Access the Consumer TAO_NS_Consumer* consumer (void); -protected: /// Return 1 if connected int is_connected (void); + /// The CA parent. + TAO_NS_ConsumerAdmin* consumer_admin (void); + +protected: + + ///= Data Members. + /// The CA parent. + TAO_NS_ConsumerAdmin* consumer_admin_; + /// The Consumer that we're connect to. TAO_NS_Consumer* consumer_; }; |