/* This file is part of Metaproxy.
- Copyright (C) 2005-2010 Index Data
+ Copyright (C) 2005-2011 Index Data
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
#include "filter.hpp"
#include "session.hpp"
#include "origin.hpp"
+#include <boost/shared_ptr.hpp>
namespace metaproxy_1 {
class Package;
namespace std
{
- std::ostream& operator<<(std::ostream& os, metaproxy_1::Package& p);
+ std::ostream& operator<<(std::ostream& os, const metaproxy_1::Package& p);
}
namespace metaproxy_1 {
Package(metaproxy_1::Session &session,
const metaproxy_1::Origin &origin);
- /// shallow copy constructor which only copies the filter chain info
+ /// copy constructor which copies route pos + logger
Package & copy_filter(const Package &p);
+ /// copy constructor which only copies the filter chain info
+ void copy_route(const Package &p);
+
/// send Package to it's next Filter defined in Router
void move();
/// get function - right val in assignment
Origin origin() const;
-
+
/// set function - left val in assignment
Origin & origin();
/// set function - can be chained
- Package & origin(const Origin & origin);
-
- /// set function - can be chained
Package & router(const Router &router);
yazpp_1::GDU &request();
/// get function - right val in assignment
Session session() const;
-
+
+ void log(const char *module, int level, const char *fmt, ...);
+ void log_write(const char *buf, size_t sz);
+ void log_enable(void);
+ void log_reset(std::string &res);
+
+ class PackageLogger;
+ typedef boost::shared_ptr<PackageLogger> PackageLoggerPtr;
+
private:
Session m_session;
Origin m_origin;
RoutePos *m_route_pos;
- //int m_data;
+ PackageLoggerPtr p_logger;
yazpp_1::GDU m_request_gdu;
yazpp_1::GDU m_response_gdu;
};
}
-
-
#endif
/*
* Local variables: