X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=include%2Fmetaproxy%2Fpackage.hpp;h=406b78979075d9d395766b2ac3577f3f1d1df791;hb=a1e5630de9f16cf2a01b10b75cd791a7ad195f98;hp=bb9d4ba0cdb61e88647859793f0cbf6561e8781d;hpb=7e2a07a78f7bf299a40b04bda27e9bd6f3ae05b1;p=metaproxy-moved-to-github.git diff --git a/include/metaproxy/package.hpp b/include/metaproxy/package.hpp index bb9d4ba..406b789 100644 --- a/include/metaproxy/package.hpp +++ b/include/metaproxy/package.hpp @@ -1,5 +1,5 @@ /* This file is part of Metaproxy. - Copyright (C) 2005-2011 Index Data + Copyright (C) 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 @@ -27,13 +27,14 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "filter.hpp" #include "session.hpp" #include "origin.hpp" +#include namespace metaproxy_1 { class Package; } -namespace std +namespace std { std::ostream& operator<<(std::ostream& os, const metaproxy_1::Package& p); } @@ -45,41 +46,45 @@ 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 & 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 reset_log(std::string &res); + 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 PackageLoggerPtr; @@ -91,7 +96,7 @@ namespace metaproxy_1 { RoutePos *m_route_pos; PackageLoggerPtr p_logger; - + yazpp_1::GDU m_request_gdu; yazpp_1::GDU m_response_gdu; };