X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Fpackage.cpp;h=fa9889d1670c11eaddeaa88caadacb5f68088591;hb=91047945d924bbe5f11ea7098d692b66bd3a541b;hp=1277b39e3ea373edaed37ef0063fab607f623616;hpb=79100c2ae2dac4bdde4f4d46b69e147562b4ec6c;p=metaproxy-moved-to-github.git diff --git a/src/package.cpp b/src/package.cpp index 1277b39..fa9889d 100644 --- a/src/package.cpp +++ b/src/package.cpp @@ -1,13 +1,15 @@ -/* $Id: package.cpp,v 1.7 2006-03-16 10:40:59 adam Exp $ +/* $Id: package.cpp,v 1.11 2006-08-30 08:35:03 marc Exp $ Copyright (c) 2005-2006, Index Data. -%LICENSE% + See the LICENSE file for details */ -#include "config.hpp" +#include "config.hpp" #include "package.hpp" +#include + namespace mp = metaproxy_1; mp::Package::Package() @@ -20,7 +22,7 @@ mp::Package::~Package() delete m_route_pos; } -mp::Package::Package(mp::Session &session, mp::Origin &origin) +mp::Package::Package(mp::Session &session, const mp::Origin &origin) : m_session(session), m_origin(origin), m_route_pos(0), m_data(0) { @@ -28,6 +30,7 @@ mp::Package::Package(mp::Session &session, mp::Origin &origin) mp::Package & mp::Package::copy_filter(const Package &p) { + delete m_route_pos; m_route_pos = p.m_route_pos->clone(); return *this; } @@ -114,6 +117,24 @@ mp::Session mp::Package::session() const { return m_session; } + +std::ostream& std::operator<<(std::ostream& os, mp::Package& p) +{ + os << p.session().id() << " "; + os << p.origin(); + return os; +} + +std::ostream& std::operator<<(std::ostream& os, mp::Origin& o) +{ + if (o.address != "") + os << o.address; + else + os << "0"; + os << ":" << o.port; + return os; +} + /* * Local variables: