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.3 1999-04-09 11:46:57 adam
8 * Added object Yaz_Z_Assoc. Much more functional client.
10 * Revision 1.2 1999/01/28 13:08:46 adam
11 * Yaz_PDU_Assoc better encapsulated. Memory leak fix in
12 * yaz-socket-manager.cc.
14 * Revision 1.1.1.1 1999/01/28 09:41:07 adam
15 * First implementation of YAZ++.
23 #include <yaz-proxy.h>
25 Yaz_Proxy::Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable) :
26 Yaz_Z_Assoc(the_PDU_Observable)
28 m_PDU_Observable = the_PDU_Observable;
33 Yaz_Proxy::~Yaz_Proxy()
37 IYaz_PDU_Observer *Yaz_Proxy::clone(IYaz_PDU_Observable
40 return new Yaz_Proxy(the_PDU_Observable);
43 void Yaz_Proxy::recv_Z_PDU(Z_APDU *apdu)
45 if (apdu->which == Z_APDU_initRequest)
47 assert (m_client == 0);
48 logf (LOG_LOG, "got InitRequest");
49 m_client = new Yaz_ProxyClient(m_PDU_Observable->clone());
50 m_client->m_server = this;
51 m_client->client("localhost:8888");
54 logf (LOG_LOG, "sending PDU");
55 m_client->send_Z_PDU(apdu);
58 void Yaz_Proxy::failNotify()
60 logf (LOG_LOG, "failNotity server");
65 void Yaz_ProxyClient::failNotify()
67 logf (LOG_LOG, "failNotity client");
72 IYaz_PDU_Observer *Yaz_ProxyClient::clone(IYaz_PDU_Observable
75 return new Yaz_ProxyClient(the_PDU_Observable);
78 Yaz_ProxyClient::Yaz_ProxyClient(IYaz_PDU_Observable *the_PDU_Observable) :
79 Yaz_Z_Assoc (the_PDU_Observable)
84 void Yaz_ProxyClient::recv_Z_PDU(Z_APDU *apdu)
86 m_server->send_Z_PDU(apdu);