2 * Copyright (c) 1998-1999, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
6 * $Id: yaz-proxy.h,v 1.9 1999-12-06 13:52:45 adam Exp $
9 #include <yaz-z-assoc.h>
10 #include <yaz-z-query.h>
15 class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc {
17 Yaz_ProxyClient(IYaz_PDU_Observable *the_PDU_Observable);
19 void recv_Z_PDU(Z_APDU *apdu);
20 IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable);
27 Yaz_ProxyClient *m_next;
28 Yaz_ProxyClient **m_prev;
30 Yaz_Z_Query *m_last_query;
31 int m_last_resultCount;
35 /// Information Retrieval Proxy Server.
36 class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc {
38 char *get_cookie(Z_OtherInformation **otherInfo);
39 char *get_proxy(Z_OtherInformation **otherInfo);
40 Yaz_ProxyClient *get_client(Z_APDU *apdu);
41 Z_APDU *result_set_optimize(Z_APDU *apdu);
44 Yaz_ProxyClient *m_client;
45 IYaz_PDU_Observable *m_PDU_Observable;
46 Yaz_ProxyClient *m_clientPool;
52 Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable);
54 void recv_Z_PDU(Z_APDU *apdu);
55 IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable);
59 void set_proxyTarget(const char *target);
60 char *get_proxyTarget() { return m_proxyTarget; };