2 * Copyright (c) 1998-1999, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
6 * $Log: yaz-proxy.cpp,v $
7 * Revision 1.2 1999-01-28 13:08:46 adam
8 * Yaz_PDU_Assoc better encapsulated. Memory leak fix in
9 * yaz-socket-manager.cc.
11 * Revision 1.1.1.1 1999/01/28 09:41:07 adam
12 * First implementation of YAZ++.
20 #include <yaz-proxy.h>
22 Yaz_Proxy::Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable) :
23 Yaz_IR_Assoc(the_PDU_Observable)
25 m_PDU_Observable = the_PDU_Observable;
30 Yaz_Proxy::~Yaz_Proxy()
34 IYaz_PDU_Observer *Yaz_Proxy::clone(IYaz_PDU_Observable
37 return new Yaz_Proxy(the_PDU_Observable);
40 void Yaz_Proxy::recv_Z_PDU(Z_APDU *apdu)
42 if (apdu->which == Z_APDU_initRequest)
44 assert (m_client == 0);
45 logf (LOG_LOG, "got InitRequest");
46 m_client = new Yaz_ProxyClient(m_PDU_Observable->clone());
47 m_client->m_server = this;
48 m_client->client("localhost:8888");
51 logf (LOG_LOG, "sending PDU");
52 m_client->send_Z_PDU(apdu);
55 void Yaz_Proxy::failNotify()
57 logf (LOG_LOG, "failNotity server");
62 void Yaz_ProxyClient::failNotify()
64 logf (LOG_LOG, "failNotity client");
69 IYaz_PDU_Observer *Yaz_ProxyClient::clone(IYaz_PDU_Observable
72 return new Yaz_ProxyClient(the_PDU_Observable);
75 Yaz_ProxyClient::Yaz_ProxyClient(IYaz_PDU_Observable *the_PDU_Observable) :
76 Yaz_IR_Assoc (the_PDU_Observable)
81 void Yaz_ProxyClient::recv_Z_PDU(Z_APDU *apdu)
83 m_server->send_Z_PDU(apdu);