summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h53
1 files changed, 13 insertions, 40 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
index 3cc9cd8b303..812cb48c706 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
@@ -60,7 +60,8 @@ class TAO_ORBSVCS_Export TAO_EC_ProxyPushConsumer : public POA_RtecEventChannelA
// externally.
//
public:
- TAO_EC_ProxyPushConsumer (TAO_EC_Event_Channel* event_channel);
+ TAO_EC_ProxyPushConsumer (TAO_EC_Event_Channel* event_channel,
+ TAO_EC_SupplierFiltering* filtering);
// constructor...
virtual ~TAO_EC_ProxyPushConsumer (void);
@@ -77,65 +78,40 @@ public:
// The QoS (subscription) used to connect to the EC.
virtual void connected (TAO_EC_ProxyPushSupplier* supplier,
- CORBA::Environment &env);
+ CORBA::Environment &env);
virtual void disconnected (TAO_EC_ProxyPushSupplier* supplier,
- CORBA::Environment &env);
+ CORBA::Environment &env);
// Concrete implementations can use this methods to keep track of
// the consumers interested in this events.
virtual void connected (TAO_EC_ProxyPushConsumer* consumer,
- CORBA::Environment &env);
+ CORBA::Environment &env);
virtual void disconnected (TAO_EC_ProxyPushConsumer* consumer,
- CORBA::Environment &env);
+ CORBA::Environment &env);
// Usually implemented as no-ops, but some configurations may
// require this methods.
- virtual void shutdown (CORBA::Environment&);
- // The event channel is shutting down
+ void set_default_POA (PortableServer::POA_ptr poa);
+ // Set this servant's default POA
- const RtecEventChannelAdmin::SupplierQOS& publications_i (void) const;
- // The QoS (subscription) used to connect to the EC, assumes the
- // locks are held, use with care!
-
- CORBA::ULong _incr_refcnt (void);
- CORBA::ULong _decr_refcnt (void);
- // Increment and decrement the reference count.
+ virtual PortableServer::POA_ptr _default_POA (CORBA::Environment& env);
+ // Override the ServantBase method.
// = The RtecEventChannelAdmin::ProxyPushConsumer methods...
virtual void connect_push_supplier (
- RtecEventComm::PushSupplier_ptr push_supplier,
+ RtecEventComm::PushSupplier_ptr push_supplier,
const RtecEventChannelAdmin::SupplierQOS& qos,
CORBA::Environment &);
virtual void push (const RtecEventComm::EventSet& event,
CORBA::Environment &);
virtual void disconnect_push_consumer (CORBA::Environment &);
- // = The Servant methods
- virtual PortableServer::POA_ptr _default_POA (CORBA::Environment& env);
- virtual void _add_ref (CORBA_Environment &ACE_TRY_ENV =
- CORBA::default_environment ());
- virtual void _remove_ref (CORBA_Environment &ACE_TRY_ENV =
- CORBA::default_environment ());
-
-private:
- CORBA::Boolean is_connected_i (void) const;
- // The private version (without locking) of is_connected().
-
- void cleanup_i (void);
- // Release the filter and the supplier
-
- void deactivate (CORBA::Environment &ACE_TRY_ENV);
- // Deactivate from the POA
-
private:
TAO_EC_Event_Channel* event_channel_;
// The supplier admin, used for activation and memory managment.
- ACE_Lock* lock_;
- // The locking strategy.
-
- CORBA::ULong refcount_;
- // The reference count.
+ TAO_EC_SupplierFiltering* supplier_filtering_;
+ // The strategy to do filtering close to the supplier
RtecEventComm::PushSupplier_var supplier_;
// The supplier....
@@ -145,9 +121,6 @@ private:
PortableServer::POA_var default_POA_;
// Store the default POA.
-
- TAO_EC_SupplierFiltering* filter_;
- // The strategy to do filtering close to the supplier
};
#if defined (__ACE_INLINE__)