2 #include <yaz/srw-util.h>
3 #include <yaz/xmalloc.h>
6 int (*sr_h)(void *userinfo,
9 struct xcql__operandType *xQuery,
10 xsd__string *sortKeys,
11 struct xsort__xSortKeysType *xSortKeys,
12 xsd__integer *startRecord,
13 xsd__integer *maximumRecords,
14 xsd__string *recordSchema,
15 xsd__string *recordPacking,
16 struct zs__searchRetrieveResponse *res);
17 int (*e_h)(void *userinfo,
19 struct zs__explainResponse *explainResponse);
23 int zs__explainRequest (struct soap *soap,
24 struct zs__explainResponse *explainResponse)
26 struct srw_info *info = (struct srw_info *) soap->user;
27 return (*info->e_h)(info->userinfo, soap, explainResponse);
30 int zs__searchRetrieveRequest(struct soap * soap,
32 struct xcql__operandType *xQuery,
33 xsd__string *sortKeys,
34 struct xsort__xSortKeysType *xSortKeys,
35 xsd__integer *startRecord,
36 xsd__integer *maximumRecords,
37 xsd__string *recordSchema,
38 xsd__string *recordPacking,
39 struct zs__searchRetrieveResponse *res)
41 struct srw_info *info = (struct srw_info *) soap->user;
42 return (*info->sr_h)(info->userinfo, soap,
43 query, xQuery, sortKeys, xSortKeys,
44 startRecord, maximumRecords,
45 recordSchema, recordPacking,
49 void yaz_srw_serve (struct soap *soap,
51 int (*sr_h)(void *userinfo,
54 struct xcql__operandType *xQuery,
55 xsd__string *sortKeys,
56 struct xsort__xSortKeysType *xSortKeys,
57 xsd__integer *startRecord,
58 xsd__integer *maximumRecords,
59 xsd__string *recordSchema,
60 xsd__string *recordPacking,
61 struct zs__searchRetrieveResponse *res),
62 int (*e_h)(void *userinfo,
64 struct zs__explainResponse *explainResponse))
70 info.userinfo = userinfo;
72 soap->namespaces = srw_namespaces;