X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Frouter.hpp;h=b0c238a7ab36ec75147b2427003787ef32b08abe;hb=6bc88ade75f56744b360e623243de9b5eafa0c3d;hp=72be7f9fab5c77f995eb0975bf3588fdd0579a9e;hpb=7969e482bd427717e116917116e52958432a9c16;p=metaproxy-moved-to-github.git diff --git a/src/router.hpp b/src/router.hpp index 72be7f9..b0c238a 100644 --- a/src/router.hpp +++ b/src/router.hpp @@ -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 @@ -6,10 +11,11 @@ #include 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_iterator it; + std::list::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 m_filter_list; + std::list 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 */