/* This file is part of Metaproxy.
- Copyright (C) 2005-2011 Index Data
+ Copyright (C) 2005-2013 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
+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();
~Package();
-
- Package(metaproxy_1::Session &session,
+
+ 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();
/// send Package to other route
void move(std::string route);
-
+
/// access session - left val in assignment
metaproxy_1::Session & session();
-
+
/// 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();
yazpp_1::GDU &response();
-
+
/// 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: