-/* $Id: filter_backend_test.cpp,v 1.16 2006-01-17 16:45:49 adam Exp $
- Copyright (c) 2005, Index Data.
+/* $Id: filter_backend_test.cpp,v 1.19 2006-06-10 14:29:12 adam Exp $
+ Copyright (c) 2005-2006, Index Data.
-%LICENSE%
+ See the LICENSE file for details
*/
#include "config.hpp"
#include <yaz/otherinfo.h>
#include <yaz/diagbib1.h>
-namespace yf = yp2::filter;
+namespace mp = metaproxy_1;
+namespace yf = mp::filter;
+using namespace mp;
-namespace yp2 {
+namespace metaproxy_1 {
namespace filter {
class Session_info {
int dummy;
}
}
-using namespace yp2;
static const int result_set_size = 42;
{
Z_APDU *apdu_req = gdu->u.z3950;
Z_APDU *apdu_res = 0;
- yp2::odr odr;
+ mp::odr odr;
if (apdu_req->which != Z_APDU_initRequest &&
!m_p->m_sessions.exist(package.session()))
int next_position = 0;
int error_code = 0;
std::string addinfo;
+
+ int number = 0;
+ mp::util::piggyback(*req->smallSetUpperBound,
+ *req->largeSetLowerBound,
+ *req->mediumSetPresentNumber,
+ result_set_size,
+ number);
- if (result_set_size < *req->smallSetUpperBound)
- {
- // small set . Return all records in set
- records = m_p->fetch(
- odr, req->preferredRecordSyntax,
- 1, result_set_size,
- error_code, addinfo,
- &number_returned,
- &next_position);
- }
- else if (result_set_size > *req->largeSetLowerBound)
- {
- // large set . Return no records
- }
- else
+ if (number)
{
- // medium set .Return mediumSetPresentNumber records
- int to_get = *req->mediumSetPresentNumber;
- if (to_get > result_set_size)
- to_get = result_set_size;
records = m_p->fetch(
odr, req->preferredRecordSyntax,
- 1, to_get,
+ 1, number,
error_code, addinfo,
&number_returned,
&next_position);
m_p->m_sessions.release(package.session());
}
-static yp2::filter::Base* filter_creator()
+static mp::filter::Base* filter_creator()
{
- return new yp2::filter::Backend_test;
+ return new mp::filter::Backend_test;
}
extern "C" {
- struct yp2_filter_struct yp2_filter_backend_test = {
+ struct metaproxy_1_filter_struct metaproxy_1_filter_backend_test = {
0,
"backend_test",
filter_creator