summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h36
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_;
};