+const yp2::filter::Base * yp2::RouterChain::move(const filter::Base *filter, const Package *package) const {
+ std::list<const filter::Base *>::const_iterator it;
+ it = m_p->m_filter_list.begin();
+ if (filter)
+ {
+ for (; it != m_p->m_filter_list.end(); it++)
+ if (*it == filter)
+ {
+ it++;
+ break;
+ }
+ }
+ if (it == m_p->m_filter_list.end())
+ {
+ //throw RouterException("no routing rules known");
+ return 0;
+ }
+ return *it;
+}
+
+yp2::RouterChain & yp2::RouterChain::append(const filter::Base &filter)
+{
+ m_p->m_filter_list.push_back(&filter);
+ return *this;
+}