X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=include%2Fmetaproxy%2Fpackage.hpp;h=406b78979075d9d395766b2ac3577f3f1d1df791;hb=a1e5630de9f16cf2a01b10b75cd791a7ad195f98;hp=eaa9fd86114ac59ad0cbc70ef809471f83a5c047;hpb=3e584362b6933174b28cf98ff3138a589ed8326d;p=metaproxy-moved-to-github.git diff --git a/include/metaproxy/package.hpp b/include/metaproxy/package.hpp index eaa9fd8..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,30 +46,30 @@ 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); @@ -76,26 +77,31 @@ namespace metaproxy_1 { 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, ...) 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 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: