Same header and footer for all files. Header includes copyright +
[metaproxy-moved-to-github.git] / src / router.hpp
index 72be7f9..b0c238a 100644 (file)
@@ -1,3 +1,8 @@
+/* $Id: router.hpp,v 1.3 2005-10-15 14:09:09 adam Exp $
+   Copyright (c) 2005, Index Data.
+
+%LICENSE%
+ */
 
 #ifndef ROUTER_HPP
 #define ROUTER_HPP
 #include <list>
 
 namespace yp2 {
-
+    namespace filter {
+        class Base;
+    }
     class Package;
     
-    class Filter; 
     class RouterException : public std::runtime_error {
     public:
         RouterException(const std::string message)
@@ -23,7 +29,7 @@ namespace yp2 {
         virtual ~Router(){};
 
         /// determines next Filter to use from current Filter and Package
-        virtual const Filter *move(const Filter *filter,
+        virtual const filter::Base *move(const filter::Base *filter,
                                    const Package *package) const {
             return 0;
         };
@@ -32,7 +38,7 @@ namespace yp2 {
         virtual void configure(){};
 
         /// add routing rule expressed as Filter to Router
-        virtual Router & rule(const Filter &filter){
+        virtual Router & rule(const filter::Base &filter){
             return *this;
         }
     private:
@@ -48,9 +54,9 @@ namespace yp2 {
     public:
         RouterChain(){};
         virtual ~RouterChain(){};
-        virtual const Filter *move(const Filter *filter,
+        virtual const filter::Base *move(const filter::Base *filter,
                                    const Package *package) const {
-            std::list<const Filter *>::const_iterator it;
+            std::list<const filter::Base *>::const_iterator it;
             it = m_filter_list.begin();
             if (filter)
                 {
@@ -69,12 +75,12 @@ namespace yp2 {
             return *it;
         };
         virtual void configure(){};
-        RouterChain & rule(const Filter &filter){
+        RouterChain & rule(const filter::Base &filter){
             m_filter_list.push_back(&filter);
             return *this;
         }
     protected:
-        std::list<const Filter *> m_filter_list;
+        std::list<const filter::Base *> m_filter_list;
     private:
         /// disabled because class is singleton
         RouterChain(const RouterChain &);
@@ -92,6 +98,7 @@ namespace yp2 {
  * Local variables:
  * c-basic-offset: 4
  * indent-tabs-mode: nil
+ * c-file-style: "stroustrup"
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab
  */