X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=include%2Fmetaproxy%2Fpackage.hpp;h=52572e83d9f356b341160e38cd4981727d00b14e;hb=099056ff38366162d878e0ec1f743196691d8ceb;hp=8800fa321c456f3a580ee2b872a8cffbcf6ea78b;hpb=c1d953eee6c00432493bc364da6284704ccd9cc2;p=metaproxy-moved-to-github.git diff --git a/include/metaproxy/package.hpp b/include/metaproxy/package.hpp index 8800fa3..52572e8 100644 --- a/include/metaproxy/package.hpp +++ b/include/metaproxy/package.hpp @@ -27,6 +27,7 @@ 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; @@ -35,7 +36,7 @@ namespace metaproxy_1 { 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 { @@ -49,9 +50,12 @@ 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(); @@ -63,14 +67,11 @@ namespace metaproxy_1 { /// 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(); @@ -79,22 +80,28 @@ namespace metaproxy_1 { /// 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: