X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fproxy.h;h=c40a13da4dd18bd52a5ddce88f58d6aa9edd0333;hb=02873e733a979cc98c13b24c934a8082adf27812;hp=dd86def7ba5911813ba1be0b86472efe221e992f;hpb=28588b9224eb5189af32b10f440ef2a917a05ea2;p=yazpp-moved-to-github.git diff --git a/include/yaz++/proxy.h b/include/yaz++/proxy.h index dd86def..c40a13d 100644 --- a/include/yaz++/proxy.h +++ b/include/yaz++/proxy.h @@ -2,7 +2,7 @@ * Copyright (c) 1998-2003, Index Data. * See the file LICENSE for details. * - * $Id: proxy.h,v 1.8 2003-10-01 13:13:51 adam Exp $ + * $Id: proxy.h,v 1.9 2003-10-03 13:01:42 adam Exp $ */ #include @@ -24,17 +24,29 @@ public: ~Yaz_ProxyConfig(); int read_xml(const char *fname); void get_target_info(const char *name, const char **url, int *keepalive, - int *limit_bw, int *limit_pdu, int *limit_req); + int *limit_bw, int *limit_pdu, int *limit_req, + int *target_idletime, int *client_idletime, + int *max_clients); void operator=(const Yaz_ProxyConfig &conf); + int check_query(ODR odr, const char *name, Z_Query *query, char **addinfo); private: #if HAVE_XML2 xmlDocPtr m_docPtr; xmlNodePtr m_proxyPtr; void return_target_info(xmlNodePtr ptr, const char **url, int *keepalive, - int *limit_bw, int *limit_pdu, int *limit_req); + int *limit_bw, int *limit_pdu, int *limit_req, + int *target_idletime, int *client_idletime); void return_limit(xmlNodePtr ptr, int *limit_bw, int *limit_pdu, int *limit_req); + int check_type_1(ODR odr, xmlNodePtr ptr, Z_RPNQuery *query, + char **addinfo); + xmlNodePtr find_target_node(const char *name); const char *get_text(xmlNodePtr ptr); + int check_type_1_attributes(ODR odr, xmlNodePtr ptr, + Z_AttributeList *attrs, + char **addinfo); + int check_type_1_structure(ODR odr, xmlNodePtr ptr, Z_RPNStructure *q, + char **addinfo); #endif int m_copy; }; @@ -145,6 +157,10 @@ class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc { int m_max_record_retrieve; void handle_max_record_retrieve(Z_APDU *apdu); void display_diagrecs(Z_DiagRec **pp, int num); + Z_Records *create_nonSurrogateDiagnostics(ODR o, int error, + const char *addinfo); + + Z_APDU *handle_query_validation(Z_APDU *apdu); public: Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable); ~Yaz_Proxy();