#include <EC_ObserverStrategy.h>
Inheritance diagram for TAO_EC_Accumulate_Consumer_Headers:
Public Member Functions | |
TAO_EC_Accumulate_Consumer_Headers (TAO_EC_Basic_ObserverStrategy::Headers &headers) | |
Constructor. | |
virtual void | work (TAO_EC_ProxyPushConsumer *consumer) |
Private Attributes | |
TAO_EC_Basic_ObserverStrategy::Headers & | headers_ |
Definition at line 288 of file EC_ObserverStrategy.h.
ACE_INLINE TAO_EC_Accumulate_Consumer_Headers::TAO_EC_Accumulate_Consumer_Headers | ( | TAO_EC_Basic_ObserverStrategy::Headers & | headers | ) |
Constructor.
Definition at line 76 of file EC_ObserverStrategy.inl.
00077 : headers_ (h) 00078 { 00079 }
void TAO_EC_Accumulate_Consumer_Headers::work | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [virtual] |
Implements TAO_ESF_Worker< TAO_EC_ProxyPushConsumer >.
Definition at line 416 of file EC_ObserverStrategy.cpp.
References ACE_ES_EVENT_UNDEFINED, headers_, ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::insert(), RtecEventChannelAdmin::SupplierQOS::is_gateway, RtecEventChannelAdmin::SupplierQOS::publications, and TAO_EC_ProxyPushConsumer::publications().
00417 { 00418 const RtecEventChannelAdmin::SupplierQOS& pub = 00419 consumer->publications (); 00420 if (pub.is_gateway) 00421 return; 00422 for (CORBA::ULong j = 0; j < pub.publications.length (); ++j) 00423 { 00424 const RtecEventComm::Event& event = 00425 pub.publications[j].event; 00426 RtecEventComm::EventType type = event.header.type; 00427 00428 if (0 < type && type < ACE_ES_EVENT_UNDEFINED) 00429 continue; 00430 this->headers_.insert (event.header, 1); 00431 } 00432 }