#include <EC_ObserverStrategy.h>
Inheritance diagram for TAO_EC_Accumulate_Supplier_Headers:
Public Member Functions | |
TAO_EC_Accumulate_Supplier_Headers (TAO_EC_Basic_ObserverStrategy::Headers &headers) | |
Constructor. | |
virtual void | work (TAO_EC_ProxyPushSupplier *supplier) |
Private Attributes | |
TAO_EC_Basic_ObserverStrategy::Headers & | headers_ |
Definition at line 273 of file EC_ObserverStrategy.h.
ACE_INLINE TAO_EC_Accumulate_Supplier_Headers::TAO_EC_Accumulate_Supplier_Headers | ( | TAO_EC_Basic_ObserverStrategy::Headers & | headers | ) |
Constructor.
Definition at line 67 of file EC_ObserverStrategy.inl.
00068 : headers_ (h) 00069 { 00070 }
void TAO_EC_Accumulate_Supplier_Headers::work | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
Implements TAO_ESF_Worker< TAO_EC_ProxyPushSupplier >.
Definition at line 395 of file EC_ObserverStrategy.cpp.
References ACE_ES_EVENT_UNDEFINED, RtecEventChannelAdmin::ConsumerQOS::dependencies, headers_, ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::insert(), RtecEventChannelAdmin::ConsumerQOS::is_gateway, and TAO_EC_ProxyPushSupplier::subscriptions().
00396 { 00397 const RtecEventChannelAdmin::ConsumerQOS& sub = 00398 supplier->subscriptions (); 00399 if (sub.is_gateway) 00400 return; 00401 for (CORBA::ULong j = 0; j < sub.dependencies.length (); ++j) 00402 { 00403 const RtecEventComm::Event& event = 00404 sub.dependencies[j].event; 00405 RtecEventComm::EventType type = event.header.type; 00406 00407 if (0 < type && type < ACE_ES_EVENT_UNDEFINED) 00408 continue; 00409 this->headers_.insert (event.header, 1); 00410 } 00411 }