X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fpackage.cpp;h=2e3276bedcef3d336728ad1b88ca0dadfd1d02d4;hb=f47e8cf4cde2ba5465106e219c803e6424a4f177;hp=0802e29994fff998cb186117aa34e0aaaa95ffb6;hpb=ec5548301e2549fc0f8d2f962aade24cb6f90d1b;p=metaproxy-moved-to-github.git diff --git a/src/package.cpp b/src/package.cpp index 0802e29..2e3276b 100644 --- a/src/package.cpp +++ b/src/package.cpp @@ -1,4 +1,4 @@ -/* $Id: package.cpp,v 1.4 2006-01-09 13:43:59 adam Exp $ +/* $Id: package.cpp,v 1.6 2006-01-11 11:51:50 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -9,62 +9,50 @@ #include "package.hpp" yp2::Package::Package() - : -#if ROUTE_POS - m_route_pos(0), -#else - m_filter(0), m_router(0), -#endif - m_data(0) + : m_route_pos(0), m_data(0) { } yp2::Package::~Package() { -#if ROUTE_POS delete m_route_pos; -#endif } yp2::Package::Package(yp2::Session &session, yp2::Origin &origin) : m_session(session), m_origin(origin), -#if ROUTE_POS - m_route_pos(0), -#else - m_filter(0), m_router(0), -#endif - m_data(0) + m_route_pos(0), m_data(0) { } yp2::Package & yp2::Package::copy_filter(const Package &p) { -#if ROUTE_POS m_route_pos = p.m_route_pos->clone(); -#else - m_router = p.m_router; - m_filter = p.m_filter; -#endif return *this; } void yp2::Package::move() { -#if ROUTE_POS if (m_route_pos) { - const filter::Base *next_filter = m_route_pos->move(); + const filter::Base *next_filter = m_route_pos->move(0); if (next_filter) next_filter->process(*this); } -#else - m_filter = m_router->move(m_filter, this); - if (m_filter) - m_filter->process(*this); -#endif } +void yp2::Package::move(std::string route) +{ + if (m_route_pos) + { + const char *r_cstr = route.length() ? route.c_str() : 0; + const filter::Base *next_filter = m_route_pos->move(r_cstr); + if (next_filter) + next_filter->process(*this); + } +} + + yp2::Session & yp2::Package::session() { return m_session; @@ -105,12 +93,7 @@ yp2::Package & yp2::Package::origin(const Origin & origin) yp2::Package & yp2::Package::router(const yp2::Router &router) { -#if ROUTE_POS m_route_pos = router.createpos(); -#else - m_filter = 0; - m_router = &router; -#endif return *this; }