diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h index d9beff66865..6245c2cd9e2 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h @@ -12,6 +12,11 @@ // = AUTHOR // Carlos O'Ryan (coryan@cs.wustl.edu) // +// = DESCRIPTION +// Implement the RtecEventChannelAdmin::SupplierAdmin interface. +// This class is an Abstract Factory for the +// TAO_EC_ProxyPushConsumer. +// // = CREDITS // Based on previous work by Tim Harrison (harrison@cs.wustl.edu) // and other members of the DOC group. @@ -36,21 +41,19 @@ class TAO_EC_Event_Channel; class TAO_EC_ProxyPushSupplier; class TAO_EC_ProxyPushConsumer; -class TAO_ORBSVCS_Export TAO_EC_SupplierAdmin : public POA_RtecEventChannelAdmin::SupplierAdmin +class TAO_EC_SupplierAdmin : public POA_RtecEventChannelAdmin::SupplierAdmin { // = TITLE // ProxyPushSupplier // // = DESCRIPTION - // Implement the RtecEventChannelAdmin::SupplierAdmin interface. - // This class is an Abstract Factory for the - // TAO_EC_ProxyPushConsumer. + // Implements the SupplierAdmin interface, i.e. the factory for + // ProxyPushConsumer objects. // // = MEMORY MANAGMENT // It does not assume ownership of the TAO_EC_Event_Channel object // // = LOCKING - // @@ TODO // No provisions for locking, access must be serialized // externally. // @@ -63,6 +66,9 @@ public: virtual ~TAO_EC_SupplierAdmin (void); // destructor... + 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. @@ -80,21 +86,10 @@ public: // Used to inform the EC that a Supplier has connected or // disconnected from it. - virtual void shutdown (CORBA::Environment&); - // The event channel is shutting down, inform all the consumers of - // this - // = The RtecEventChannelAdmin::SupplierAdmin methods... virtual RtecEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer (CORBA::Environment &); - typedef ACE_Unbounded_Set<TAO_EC_ProxyPushConsumer*> ConsumerSet; - typedef ACE_Unbounded_Set_Iterator<TAO_EC_ProxyPushConsumer*> ConsumerSetIterator; - - ConsumerSetIterator begin (void); - ConsumerSetIterator end (void); - // Iterators over the set of ProxyPushConsumers - private: TAO_EC_Event_Channel *event_channel_; // The Event Channel we belong to @@ -102,11 +97,9 @@ private: PortableServer::POA_var default_POA_; // Store the default POA. - ACE_Lock* lock_; - // The locking strategy - + typedef ACE_Unbounded_Set<TAO_EC_ProxyPushConsumer*> ConsumerSet; + typedef ACE_Unbounded_Set_Iterator<TAO_EC_ProxyPushConsumer*> ConsumerSetIterator; ConsumerSet all_consumers_; - // The set of consumers... }; #if defined (__ACE_INLINE__) |