X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Ffilter_backend_test.cpp;h=04ae7f2b882b593edce60b952aa7311c4162e942;hb=f6d6dcb3445548b6be6505836ecaea37d93937f7;hp=d93ae1a27fc1930f37efd64adb49758b80bc9e91;hpb=f26cca046b4879a78261ea436c3e21bb3b851b52;p=metaproxy-moved-to-github.git diff --git a/src/filter_backend_test.cpp b/src/filter_backend_test.cpp index d93ae1a..04ae7f2 100644 --- a/src/filter_backend_test.cpp +++ b/src/filter_backend_test.cpp @@ -1,4 +1,4 @@ -/* $Id: filter_backend_test.cpp,v 1.7 2005-10-30 17:13:36 adam Exp $ +/* $Id: filter_backend_test.cpp,v 1.14 2006-01-13 15:09:35 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -7,23 +7,22 @@ #include "config.hpp" #include "filter.hpp" -#include "router.hpp" #include "package.hpp" - -#include - #include "util.hpp" #include "filter_backend_test.hpp" +#include +#include +#include +#include + +#include + #include #include #include #include -#include -#include -#include - namespace yf = yp2::filter; namespace yp2 { @@ -42,6 +41,8 @@ namespace yp2 { } } +using namespace yp2; + yf::Backend_test::Backend_test() : m_p(new Backend_test::Rep) { m_p->m_support_named_result_sets = false; } @@ -64,16 +65,14 @@ void yf::Backend_test::process(Package &package) const if (apdu_req->which != Z_APDU_initRequest && !m_p->m_sessions.exist(package.session())) { - apdu_res = zget_APDU(odr, Z_APDU_close); - *apdu_res->u.close->closeReason = Z_Close_protocolError; - apdu_res->u.close->diagnosticInformation = - odr_strdup(odr, "no init for filter_backend_test"); - + apdu_res = odr.create_close(apdu_req, + Z_Close_protocolError, + "no init for filter_backend_test"); package.session().close(); } else if (apdu_req->which == Z_APDU_initRequest) { - apdu_res = zget_APDU(odr, Z_APDU_initResponse); + apdu_res = odr.create_initResponse(apdu_req, 0, 0); Z_InitRequest *req = apdu_req->u.initRequest; Z_InitResponse *resp = apdu_res->u.initResponse; @@ -108,7 +107,7 @@ void yf::Backend_test::process(Package &package) const } else if (apdu_req->which == Z_APDU_searchRequest) { - apdu_res = zget_APDU(odr, Z_APDU_searchResponse); + apdu_res = odr.create_searchResponse(apdu_req, 0, 0); Z_SearchRequest *req = apdu_req->u.searchRequest; Z_SearchResponse *resp = apdu_res->u.searchResponse; @@ -128,15 +127,16 @@ void yf::Backend_test::process(Package &package) const } else if (apdu_req->which == Z_APDU_presentRequest) { - apdu_res = zget_APDU(odr, Z_APDU_presentResponse); + apdu_res = + odr.create_presentResponse(apdu_req, + YAZ_BIB1_TEMPORARY_SYSTEM_ERROR, + 0); } else { - apdu_res = zget_APDU(odr, Z_APDU_close); - *apdu_res->u.close->closeReason = Z_Close_protocolError; - apdu_res->u.close->diagnosticInformation = - odr_strdup(odr, "bad APDU in filter_backend_test"); - + apdu_res = odr.create_close(apdu_req, + Z_Close_protocolError, + "bad APDU in filter_backend_test"); package.session().close(); } if (apdu_res) @@ -146,6 +146,19 @@ void yf::Backend_test::process(Package &package) const m_p->m_sessions.release(package.session()); } +static yp2::filter::Base* filter_creator() +{ + return new yp2::filter::Backend_test; +} + +extern "C" { + struct yp2_filter_struct yp2_filter_backend_test = { + 0, + "backend_test", + filter_creator + }; +} + /* * Local variables: