-/* $Id: package.cpp,v 1.7 2006-03-16 10:40:59 adam Exp $
+/* $Id: package.cpp,v 1.12 2006-08-30 08:44:58 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 <iostream>
+
namespace mp = metaproxy_1;
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)
{
}
+mp::Package::Package(mp::Session &session,
+ const mp::Origin &origin, const mp::Origin &target)
+ : m_session(session), m_origin(origin), m_target(target),
+ m_route_pos(0), m_data(0)
+{
+}
+
mp::Package & mp::Package::copy_filter(const Package &p)
{
+ delete m_route_pos;
m_route_pos = p.m_route_pos->clone();
return *this;
}
return *this;
}
+mp::Origin mp::Package::target() const
+{
+ return m_target;
+}
+
+mp::Origin & mp::Package::target()
+{
+ return m_target;
+}
+
+mp::Package & mp::Package::target(const Origin & target)
+{
+ m_target = target;
+ return *this;
+}
+
mp::Package & mp::Package::router(const mp::Router &router)
{
m_route_pos = router.createpos();
{
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: