X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fproxy.h;h=3868730804290e3d100c95820d428a8120ba3e4a;hb=7d8da71f9935837bc4c8dc86266c9b29fd0d35c4;hp=66a453de04bc6ec7fcf9d26815611c81ec683912;hpb=509f0f1303d24df2dc6b26f36f17b55613c2bdb7;p=yazpp-moved-to-github.git diff --git a/include/yaz++/proxy.h b/include/yaz++/proxy.h index 66a453d..3868730 100644 --- a/include/yaz++/proxy.h +++ b/include/yaz++/proxy.h @@ -2,7 +2,7 @@ * Copyright (c) 1998-2004, Index Data. * See the file LICENSE for details. * - * $Id: proxy.h,v 1.31 2004-01-07 21:29:26 adam Exp $ + * $Id: proxy.h,v 1.37 2004-01-30 11:45:25 adam Exp $ */ #include @@ -13,6 +13,8 @@ #if HAVE_XSLT #include #include +#include +#include #endif class Yaz_Proxy; @@ -167,6 +169,8 @@ class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc { int m_pdu_recv; ODR m_init_odr; Z_APDU *m_initResponse; + Z_Options *m_initResponse_options; + Z_ProtocolVersion *m_initResponse_version; Yaz_RecordCache m_cache; void pre_init_client(); int m_target_idletime; @@ -238,30 +242,37 @@ class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc { int m_request_no; int m_invalid_session; int m_marcxml_flag; - char *m_stylesheet_schema; + xsltStylesheetPtr m_stylesheet_xsp; + int m_stylesheet_offset; + Z_APDU *m_stylesheet_apdu; + Z_NamePlusRecordList *m_stylesheet_nprl; char *m_schema; void convert_to_marcxml(Z_NamePlusRecordList *p); - void convert_xsl(Z_NamePlusRecordList *p); + int convert_xsl(Z_NamePlusRecordList *p, Z_APDU *apdu); + void convert_xsl_delay(); Z_APDU *m_initRequest_apdu; + Z_Options *m_initRequest_options; + Z_ProtocolVersion *m_initRequest_version; NMEM m_initRequest_mem; Z_APDU *m_apdu_invalid_session; NMEM m_mem_invalid_session; - int send_PDU_convert(Z_APDU *apdu, int *len); + int send_PDU_convert(Z_APDU *apdu); ODR m_s2z_odr_init; ODR m_s2z_odr_search; int m_s2z_hit_count; int m_s2z_packing; + char *m_s2z_database; Z_APDU *m_s2z_init_apdu; Z_APDU *m_s2z_search_apdu; Z_APDU *m_s2z_present_apdu; char *m_s2z_stylesheet; char *m_soap_ns; - int send_to_srw_client_error(int error); + int send_to_srw_client_error(int error, const char *add); int send_to_srw_client_ok(int hits, Z_Records *records, int start); int send_http_response(int code); int send_srw_response(Z_SRW_PDU *srw_pdu); - int send_srw_explain(); - + int send_srw_explain_response(Z_SRW_diagnostic *diagnostics, + int num_diagnostics); int z_to_srw_diag(ODR o, Z_SRW_searchRetrieveResponse *srw_res, Z_DefaultDiagFormat *ddf); int m_http_keepalive; @@ -283,6 +294,7 @@ class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc { void failNotify(); void timeoutNotify(); void connectNotify(); + void markInvalid(); const char *option(const char *name, const char *value); void set_default_target(const char *target); void set_proxy_authentication (const char *auth);