29 #include "../Factory.h"
30 #include "../ParticipantConfig.h"
31 #include "../QualityOfServiceSpec.h"
32 #include "../filter/Filter.h"
36 using namespace rsc::logging;
38 using namespace rsb::filter;
39 using namespace rsb::transport;
42 namespace eventprocessing {
49 receivingStrategyConfig(receivingStrategyConfig) {
63 InRouteConfigurator::InRouteConfigurator(
const Scope& scope,
65 d(new
Impl(config.getEventReceivingStrategy())) {
66 d->logger = Logger::getLogger(
"rsb.eventprocessing.InRouteConfigurator");
78 return "InRouteConfigurator";
82 stream <<
"scope = " <<
d->scope <<
", connectors = " <<
d->connectors
83 <<
", eventReceivingStrategy = " <<
d->eventReceivingStrategy
84 <<
", shutdown = " <<
d->shutdown;
88 RSCDEBUG(
d->logger,
"Activating");
91 for (ConnectorSet::iterator it =
d->connectors.begin(); it
92 !=
d->connectors.end(); ++it) {
93 (*it)->setScope(
d->scope);
103 RSCDEBUG(
d->logger,
"Deactivating");
106 for (ConnectorSet::iterator it =
d->connectors.begin(); it
107 !=
d->connectors.end(); ++it) {
112 d->eventReceivingStrategy.reset();
117 return d->receivingStrategyConfig;
121 return d->eventReceivingStrategy;
125 return d->connectors;
129 RSCDEBUG(
d->logger,
"Adding connector " << connector);
130 d->connectors.insert(connector);
134 RSCDEBUG(
d->logger,
"Removing connector " << connector);
135 d->connectors.erase(connector);
139 for (ConnectorSet::iterator it =
d->connectors.begin(); it
140 !=
d->connectors.end(); ++it) {
143 d->eventReceivingStrategy->addFilter(filter);
147 for (ConnectorSet::iterator it =
d->connectors.begin(); it
148 !=
d->connectors.end(); ++it) {
151 d->eventReceivingStrategy->removeFilter(filter);
156 for (ConnectorSet::iterator it =
d->connectors.begin(); it
157 !=
d->connectors.end(); ++it) {
158 (*it)->setQualityOfServiceSpecs(specs);
Specification of desired quality of service settings for sending and receiving events.
void filterRemoved(filter::FilterPtr filter)
void printContents(std::ostream &stream) const
std::string getClassName() const
const ParticipantConfig::EventProcessingStrategy & getReceivingStrategyConfig() const
A filter shall be added to the FilterObserver.
virtual EventReceivingStrategyPtr createEventReceivingStrategy()=0
void filterAdded(filter::FilterPtr filter)
A filter shall be remove from the observer.
ConnectorSet getConnectors()
void setQualityOfServiceSpecs(const QualityOfServiceSpec &specs)
Define the desired quality of service specifications for published events.
Impl(const ParticipantConfig::EventProcessingStrategy &receivingStrategyConfig)
boost::shared_ptr< Filter > FilterPtr
void addConnector(transport::InConnectorPtr connector)
std::set< transport::InConnectorPtr > ConnectorSet
virtual void deactivate()
ParticipantConfig::EventProcessingStrategy receivingStrategyConfig
boost::shared_ptr< EventReceivingStrategy > EventReceivingStrategyPtr
rsc::logging::LoggerPtr logger
void removeConnector(transport::InConnectorPtr connector)
Instances of this class describe the selection and configuration of an event processing strategy...
EventReceivingStrategyPtr getEventReceivingStrategy() const
A class describing the configuration of Participant instances.
EventReceivingStrategyPtr eventReceivingStrategy
boost::shared_ptr< InConnector > InConnectorPtr
Scope is a descriptor for a hierarchical channel of the unified bus.
boost::scoped_ptr< Impl > d
virtual ~InRouteConfigurator()