X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Ffilter_session_shared.cpp;h=91ed8799e37e4e159170ed3600c3a7478d7f902b;hb=79100c2ae2dac4bdde4f4d46b69e147562b4ec6c;hp=7a8b4faebda403a62b5cda0007504cd703a095e4;hpb=ad428707d2a52bbe4db21e47c5ebb26e13598484;p=metaproxy-moved-to-github.git diff --git a/src/filter_session_shared.cpp b/src/filter_session_shared.cpp index 7a8b4fa..91ed879 100644 --- a/src/filter_session_shared.cpp +++ b/src/filter_session_shared.cpp @@ -1,5 +1,5 @@ -/* $Id: filter_session_shared.cpp,v 1.4 2006-01-04 11:55:31 adam Exp $ - Copyright (c) 2005, Index Data. +/* $Id: filter_session_shared.cpp,v 1.7 2006-03-16 10:40:59 adam Exp $ + Copyright (c) 2005-2006, Index Data. %LICENSE% */ @@ -7,7 +7,6 @@ #include "config.hpp" #include "filter.hpp" -#include "router.hpp" #include "package.hpp" #include @@ -24,14 +23,15 @@ #include #include -namespace yf = yp2::filter; +namespace mp = metaproxy_1; +namespace yf = mp::filter; -namespace yp2 { +namespace metaproxy_1 { namespace filter { class SessionShared::Rep { friend class SessionShared; void handle_init(Z_InitRequest *req, Package &package); - void handle_search(Z_SearchRequest *req, Package &package); + void handle_search(Z_APDU *req, Package &package); public: typedef boost::shared_ptr SharedList; @@ -62,8 +62,7 @@ namespace yp2 { } - -using namespace yp2; +using namespace mp; bool yf::SessionShared::InitKey::operator < (const SessionShared::InitKey &k) const @@ -103,18 +102,21 @@ yf::SessionShared::~SessionShared() { } -void yf::SessionShared::Rep::handle_search(Z_SearchRequest *req, - Package &package) +void yf::SessionShared::Rep::handle_search(Z_APDU *apdu_req, + Package &package) { yaz_log(YLOG_LOG, "Got search"); + // Z_SearchRequest *req = apdu_req->u.searchRequest; + SessionListMap::iterator it = m_session_list_map.find(package.session()); if (it == m_session_list_map.end()) { - yp2::odr odr; - package.response() = odr.create_close( - Z_Close_protocolError, - "no session for search request in session_shared"); + mp::odr odr; + package.response() = + odr.create_close(apdu_req, + Z_Close_protocolError, + "no session for search request in session_shared"); package.session().close(); return; @@ -232,13 +234,13 @@ void yf::SessionShared::process(Package &package) const m_p->handle_init(apdu->u.initRequest, package); break; case Z_APDU_searchRequest: - m_p->handle_search(apdu->u.searchRequest, package); + m_p->handle_search(apdu, package); break; default: - yp2::odr odr; - package.response() = odr.create_close( - Z_Close_protocolError, - "cannot handle a package of this type"); + mp::odr odr; + package.response() = + odr.create_close(apdu, Z_Close_protocolError, + "cannot handle a package of this type"); package.session().close(); break; @@ -251,13 +253,13 @@ void yf::SessionShared::process(Package &package) const package.move(); // Not Z39.50 or not Init } -static yp2::filter::Base* filter_creator() +static mp::filter::Base* filter_creator() { - return new yp2::filter::SessionShared; + return new mp::filter::SessionShared; } extern "C" { - struct yp2_filter_struct yp2_filter_session_shared = { + struct metaproxy_1_filter_struct metaproxy_1_filter_session_shared = { 0, "session_shared", filter_creator