1 /* $Id: sru_util.hpp,v 1.8 2007-03-20 07:20:16 adam Exp $
2 Copyright (c) 2005-2007, Index Data.
4 See the LICENSE file for details
7 #ifndef YP2_SDU_UTIL_HPP
8 #define YP2_SDU_UTIL_HPP
11 #include "package.hpp"
13 //#include <yaz/zgdu.h>
14 //#include <yaz/z-core.h>
22 std::ostream& operator<<(std::ostream& os, Z_SRW_PDU& srw_pdu);
27 namespace metaproxy_1 {
32 // std::string sru_protocol(const Z_HTTP_Request &http_req);
33 // std::string debug_http(const Z_HTTP_Request &http_req);
34 // void http_response(mp::Package &package,
35 // const std::string &content,
36 // int http_code = 200);
38 bool build_sru_debug_package(metaproxy_1::Package &package);
40 SRUServerInfo get_sru_server_info(metaproxy_1::Package &package);
41 // Z_SRW_explainRequest
44 // bool build_simple_explain(metaproxy_1::Package &package,
45 // metaproxy_1::odr &odr_en,
46 // Z_SRW_PDU *sru_pdu_res,
47 // SRUServerInfo sruinfo,
48 // Z_SRW_explainRequest const *er_req = 0);
50 bool build_sru_explain(metaproxy_1::Package &package,
51 metaproxy_1::odr &odr_en,
52 Z_SRW_PDU *sru_pdu_res,
53 SRUServerInfo sruinfo,
54 const xmlNode *explain = 0,
55 Z_SRW_explainRequest const *er_req = 0);
57 bool build_sru_response(metaproxy_1::Package &package,
58 metaproxy_1::odr &odr_en,
60 const Z_SRW_PDU *sru_pdu_res,
62 const char *stylesheet);
64 Z_SRW_PDU * decode_sru_request(metaproxy_1::Package &package,
65 metaproxy_1::odr &odr_de,
66 metaproxy_1::odr &odr_en,
67 Z_SRW_PDU *sru_pdu_res,
72 bool check_sru_query_exists(metaproxy_1::Package &package,
73 metaproxy_1::odr &odr_en,
74 Z_SRW_PDU *sru_pdu_res,
75 Z_SRW_searchRetrieveRequest
78 Z_ElementSetNames * build_esn_from_schema(metaproxy_1::odr &odr_en,
99 // enum SRU_protocol_type { SRU_NONE, SRU_GET, SRU_POST, SRU_SOAP};
100 // typedef const int SRU_query_type;
101 // union SRW_query {char * cql; char * xcql; char * pqf;};
103 // //bool decode(const Z_HTTP_Request &http_req);
104 // SRU_protocol_type protocol(const Z_HTTP_Request &http_req) const;
106 // SRU_protocol_type m_protocol;
107 // std::string m_charset;
108 // std::string m_stylesheet;
117 * indent-tabs-mode: nil
118 * c-file-style: "stroustrup"
120 * vim: shiftwidth=4 tabstop=8 expandtab