summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-04 00:34:22 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-04 00:34:22 +0000
commitb95f9ec14f3b646c2a73250aeb103ee69b4128fa (patch)
treeab50e40e9262b532976506d49cdf5e66435a3654 /TAO/orbsvcs/orbsvcs/Event/EC_Filter.h
parent35bca0cfbdf77d1df281719b4e1d968f3471c0a5 (diff)
downloadATCD-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.h21
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;
};
// ****************************************************************