diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-04-30 17:45:43 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-04-30 17:45:43 +0000 |
commit | dc87f821e1852ae3445f4decd8045e7200633e3b (patch) | |
tree | 33827585a026f56d6ffc3e9668aab9e35db37f48 /TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h | |
parent | 1e8ee5e4cc862cf571231de72c097d63beaae123 (diff) | |
download | ATCD-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.h | 27 |
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__) |