Beginnings of graceful stop
[metaproxy-moved-to-github.git] / src / router_chain.cpp
index dee90f1..fa4385f 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Metaproxy.
-   Copyright (C) 2005-2011 Index Data
+   Copyright (C) 2005-2012 Index Data
 
 Metaproxy is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -58,6 +58,14 @@ void mp::RouterChain::start()
         (*it)->start();
 }
 
+void mp::RouterChain::stop()
+{
+    std::list<const filter::Base *>::const_iterator it;
+
+    for (it = m_p->m_filter_list.begin(); it != m_p->m_filter_list.end(); it++)
+        (*it)->stop();
+}
+
 const mp::filter::Base *mp::RouterChain::Pos::move(const char *route)
 {
     if (it == m_p->m_filter_list.end())
@@ -83,7 +91,6 @@ mp::RoutePos *mp::RouterChain::Pos::clone()
     return p;
 }
 
-
 mp::RouterChain::Pos::~Pos()
 {
 }