diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-03-04 00:34:22 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-03-04 00:34:22 +0000 |
commit | b95f9ec14f3b646c2a73250aeb103ee69b4128fa (patch) | |
tree | ab50e40e9262b532976506d49cdf5e66435a3654 /TAO/orbsvcs/orbsvcs/Event/EC_Filter.h | |
parent | 35bca0cfbdf77d1df281719b4e1d968f3471c0a5 (diff) | |
download | ATCD-b95f9ec14f3b646c2a73250aeb103ee69b4128fa.tar.gz |
ChangeLogTag:Wed Mar 3 18:28:51 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Filter.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Filter.h | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h index 388f563de2f..9188e5f94e5 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h @@ -38,14 +38,12 @@ #ifndef TAO_EC_FILTER_H #define TAO_EC_FILTER_H -#include "ace/RB_Tree.h" +#include "orbsvcs/RtecEventCommC.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "orbsvcs/RtecEventCommC.h" - class TAO_EC_QOS_Info; class TAO_EC_Filter @@ -106,17 +104,10 @@ public: virtual CORBA::ULong max_event_size (void) const = 0; // Returns the maximum size of the events pushed by this filter. - struct Header_Compare { - int operator () (const RtecEventComm::EventHeader& lhs, - const RtecEventComm::EventHeader& rhs) const; - }; - - typedef ACE_RB_Tree<RtecEventComm::EventHeader,int,Header_Compare,ACE_Null_Mutex> Headers; - typedef ACE_RB_Tree_Iterator<RtecEventComm::EventHeader,int,Header_Compare,ACE_Null_Mutex> HeadersIterator; - - virtual void event_ids (Headers& headers) = 0; - // Compute the disjunction of all the event types that could be of - // interest for this filter (and its children). + virtual int can_match (const RtecEventComm::EventHeader& header) const = 0; + // Returns 0 if an event with that header could never be accepted. + // This can used by the suppliers to filter out consumers that + // couldn't possibly be interested in their events. private: TAO_EC_Filter* parent_; @@ -161,7 +152,7 @@ public: CORBA::Environment& env); virtual void clear (void); virtual CORBA::ULong max_event_size (void) const; - virtual void event_ids (TAO_EC_Filter::Headers& headers); + virtual int can_match (const RtecEventComm::EventHeader& header) const; }; // **************************************************************** |