summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-30 17:45:43 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-30 17:45:43 +0000
commitdc87f821e1852ae3445f4decd8045e7200633e3b (patch)
tree33827585a026f56d6ffc3e9668aab9e35db37f48 /TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
parent1e8ee5e4cc862cf571231de72c097d63beaae123 (diff)
downloadATCD-dc87f821e1852ae3445f4decd8045e7200633e3b.tar.gz
ChangeLogTag:Fri Apr 30 12:42:06 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
index 890abbfd242..1659522d65a 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h
@@ -90,12 +90,13 @@ public:
// Usually implemented as no-ops, but some configurations may
// require this methods.
- void set_default_POA (PortableServer::POA_ptr poa);
- // Set this servant's default POA
-
virtual PortableServer::POA_ptr _default_POA (CORBA::Environment& env);
// Override the ServantBase method.
+ CORBA::ULong _incr_refcnt (void);
+ CORBA::ULong _decr_refcnt (void);
+ // Increment and decrement the reference count.
+
// = The RtecEventChannelAdmin::ProxyPushConsumer methods...
virtual void connect_push_supplier (
RtecEventComm::PushSupplier_ptr push_supplier,
@@ -105,12 +106,25 @@ public:
CORBA::Environment &);
virtual void disconnect_push_consumer (CORBA::Environment &);
+ // = Servant reference counting methods.
+ 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().
+
private:
TAO_EC_Event_Channel* event_channel_;
// The supplier admin, used for activation and memory managment.
- TAO_EC_SupplierFiltering* filter_;
- // The strategy to do filtering close to the supplier
+ ACE_Lock* lock_;
+ // The locking strategy.
+
+ CORBA::ULong refcount_;
+ // The reference count.
RtecEventComm::PushSupplier_var supplier_;
// The supplier....
@@ -120,6 +134,9 @@ 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__)