+ namespace util {
+
+ class SRUServerInfo;
+
+ // std::string sru_protocol(const Z_HTTP_Request &http_req);
+ // std::string debug_http(const Z_HTTP_Request &http_req);
+ // void http_response(mp::Package &package,
+ // const std::string &content,
+ // int http_code = 200);
+
+ bool build_sru_debug_package(metaproxy_1::Package &package);
+
+ SRUServerInfo get_sru_server_info(metaproxy_1::Package &package);
+ // Z_SRW_explainRequest
+ //const *er_req);
+
+// bool build_simple_explain(metaproxy_1::Package &package,
+// metaproxy_1::odr &odr_en,
+// Z_SRW_PDU *sru_pdu_res,
+// SRUServerInfo sruinfo,
+// Z_SRW_explainRequest const *er_req = 0);
+
+ bool build_sru_explain(metaproxy_1::Package &package,
+ metaproxy_1::odr &odr_en,
+ Z_SRW_PDU *sru_pdu_res,
+ SRUServerInfo sruinfo,
+ const xmlNode *explain = 0,
+ Z_SRW_explainRequest const *er_req = 0);
+
+ bool build_sru_response(metaproxy_1::Package &package,
+ metaproxy_1::odr &odr_en,
+ Z_SOAP *soap,
+ const Z_SRW_PDU *sru_pdu_res,
+ char *charset,
+ const char *stylesheet);
+
+ Z_SRW_PDU * decode_sru_request(metaproxy_1::Package &package,
+ metaproxy_1::odr &odr_de,
+ metaproxy_1::odr &odr_en,
+ Z_SRW_PDU *sru_pdu_res,
+ Z_SOAP *&soap,
+ char *charset,
+ char *stylesheet);
+
+ bool check_sru_query_exists(metaproxy_1::Package &package,
+ metaproxy_1::odr &odr_en,
+ Z_SRW_PDU *sru_pdu_res,
+ Z_SRW_searchRetrieveRequest
+ const *sr_req);
+
+ Z_ElementSetNames * build_esn_from_schema(metaproxy_1::odr &odr_en,
+ const char *schema);
+
+ class SRUServerInfo
+ {
+ public:
+ SRUServerInfo ()
+ : database("Default")
+ {}
+ public:
+ std::string database;
+ std::string host;
+ std::string port;
+ };
+
+
+