RouterFleXML now stores routes and filters internally.
[metaproxy-moved-to-github.git] / src / router_flexml.hpp
index 1eae3e8..be7b66d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: router_flexml.hpp,v 1.6 2005-11-10 23:10:42 adam Exp $
+/* $Id: router_flexml.hpp,v 1.10 2006-01-05 16:39:37 adam Exp $
    Copyright (c) 2005, Index Data.
 
    %LICENSE%
@@ -6,6 +6,8 @@
 
 #include "router.hpp"
 
+#include "factory_filter.hpp"
+
 #include <stdexcept>
 
 #include <boost/scoped_ptr.hpp>
@@ -15,13 +17,19 @@ namespace yp2
     class RouterFleXML : public yp2::Router 
     {
         class Rep;
+        class Route;
     public:
-        RouterFleXML(std::string xmlconf);
+        RouterFleXML(std::string xmlconf, yp2::FactoryFilter &factory);
         
         ~RouterFleXML();
         
         virtual const filter::Base *move(const filter::Base *filter,
                                          const Package *package) const;
+        class XMLError : public std::runtime_error {
+        public:
+            XMLError(const std::string msg) :
+                std::runtime_error("XMLError : " + msg) {} ;
+        };
     private:
         boost::scoped_ptr<Rep> m_p;
     };