29 #include "../filter/Filter.h"
31 #include "../transport/InPullConnector.h"
35 using namespace boost;
37 using namespace rsb::filter;
38 using namespace rsb::transport;
41 namespace eventprocessing {
53 PullEventReceivingStrategy::PullEventReceivingStrategy(
const set<InPullConnectorPtr>& connectors) :
55 d->connectors = connectors;
62 d->filters.insert(filter);
66 d->filters.erase(filter);
73 for (ConnectorSet::iterator it =
d->connectors.begin(); it
74 !=
d->connectors.end(); ++it) {
75 EventPtr event((*it)->raiseEvent(block));
87 return "PullEventReceivingStrategy";
91 stream <<
"connectors = " <<
d->connectors <<
", filters = "
virtual ~PullEventReceivingStrategy()
std::set< transport::InPullConnectorPtr > ConnectorSet
virtual void addFilter(filter::FilterPtr filter)
void printContents(std::ostream &stream) const
boost::shared_ptr< Filter > FilterPtr
boost::scoped_ptr< Impl > d
std::string getClassName() const
std::set< filter::FilterPtr > FilterSet
EventPtr raiseEvent(bool block)
Retrieve an Event from the connectors and return it.
virtual void removeFilter(filter::FilterPtr filter)
boost::shared_ptr< Event > EventPtr
void handle(EventPtr event)
Dispatches the event to the listener.