First work on Pipe class
[metaproxy-moved-to-github.git] / src / router_chain.hpp
1 /* $Id: router_chain.hpp,v 1.2 2005-10-26 10:55:26 marc Exp $
2    Copyright (c) 2005, Index Data.
3
4 %LICENSE%
5  */
6
7 #ifndef ROUTER_CHAIN_HPP
8 #define ROUTER_CHAIN_HPP
9
10 #include <stdexcept>
11 #include <list>
12
13 #include "router.hpp"
14
15
16 namespace yp2 {
17     //namespace filter {
18     //    class Base;
19     //}
20     //class Package;
21     
22     
23     class RouterChain : public Router {
24     public:
25         RouterChain(){};
26         virtual ~RouterChain(){};
27         virtual const filter::Base *move(const filter::Base *filter,
28                                    const Package *package) const;
29
30         RouterChain & append(const filter::Base &filter);
31
32     protected:
33         std::list<const filter::Base *> m_filter_list;
34     private:
35         /// disabled because class is singleton
36         RouterChain(const RouterChain &);
37
38         /// disabled because class is singleton
39         RouterChain& operator=(const RouterChain &);
40     };
41   
42
43   
44 }
45
46 #endif
47 /*
48  * Local variables:
49  * c-basic-offset: 4
50  * indent-tabs-mode: nil
51  * c-file-style: "stroustrup"
52  * End:
53  * vim: shiftwidth=4 tabstop=8 expandtab
54  */