Further work on filter registration in RouterFleXML
[metaproxy-moved-to-github.git] / src / router_flexml.hpp
1 /* $Id: router_flexml.hpp,v 1.8 2006-01-04 14:15:45 adam Exp $
2    Copyright (c) 2005, Index Data.
3
4    %LICENSE%
5 */
6
7 #include "router.hpp"
8
9 #include "filter_factory.hpp"
10
11 #include <stdexcept>
12
13 #include <boost/scoped_ptr.hpp>
14
15 namespace yp2 
16 {
17     class RouterFleXML : public yp2::Router 
18     {
19         class Rep;
20     public:
21         RouterFleXML(std::string xmlconf, yp2::FilterFactory &factory);
22         
23         ~RouterFleXML();
24         
25         virtual const filter::Base *move(const filter::Base *filter,
26                                          const Package *package) const;
27         class XMLError : public std::runtime_error {
28         public:
29             XMLError(const std::string msg) :
30                 std::runtime_error("XMLError : " + msg) {} ;
31         };
32     private:
33         boost::scoped_ptr<Rep> m_p;
34     };
35  
36 };
37
38
39 /*
40  * Local variables:
41  * c-basic-offset: 4
42  * indent-tabs-mode: nil
43  * c-file-style: "stroustrup"
44  * End:
45  * vim: shiftwidth=4 tabstop=8 expandtab
46  */