X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=include%2Fmetaproxy%2Fpackage.hpp;h=caea95071232dc4210a38afcbf60983457e31e40;hb=b8d5728fc9d3461f5bfd7d79f415512822c38dcc;hp=69fbcb77084d0f38aef649478b35418157d3d862;hpb=e6d572ef110d14fa55115021505b808620457bd3;p=metaproxy-moved-to-github.git diff --git a/include/metaproxy/package.hpp b/include/metaproxy/package.hpp index 69fbcb7..caea950 100644 --- a/include/metaproxy/package.hpp +++ b/include/metaproxy/package.hpp @@ -1,5 +1,5 @@ /* This file is part of Metaproxy. - Copyright (C) 2005-2010 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 @@ -27,15 +27,16 @@ 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, metaproxy_1::Package& p); + std::ostream& operator<<(std::ostream& os, const metaproxy_1::Package& p); } namespace metaproxy_1 { @@ -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,25 +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, ...); + 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: