+ Z_APDU *apdu_req = gdu->u.z3950;
+ Z_APDU *apdu_res = 0;
+ mp::odr odr;
+ Z_SearchRequest *sr = apdu_req->u.searchRequest;
+ if (sr->num_databaseNames != 1)
+ {
+ apdu_res = odr.create_searchResponse(
+ apdu_req, YAZ_BIB1_TOO_MANY_DATABASES_SPECIFIED, 0);
+ package.response() = apdu_res;
+ return;
+ }
+ BackendPtr b = get_backend_from_databases(sr->databaseNames[0]);
+ switch (sr->query->which)
+ {
+ case Z_Query_type_1:
+ case Z_Query_type_101:
+ apdu_res =
+ odr.create_searchResponse(
+ apdu_req,
+ YAZ_BIB1_TEMPORARY_SYSTEM_ERROR,
+ "search filter do not handle type-1/type-101 yet");
+ package.response() = apdu_res;
+ break;
+ default:
+ apdu_res =
+ odr.create_searchResponse(
+ apdu_req,
+ YAZ_BIB1_QUERY_TYPE_UNSUPP, 0);
+ package.response() = apdu_res;
+ return;
+ }
+}