From 3b58e2f8d81f47c9c9cc86dbd2cdebf8621d8559 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 1 Nov 2000 14:22:59 +0000 Subject: [PATCH] Added fd parameter for method IYaz_PDU_Observer::clone. --- include/yaz++/yaz-pdu-observer.h | 5 +++-- include/yaz++/yaz-proxy.h | 6 +++--- src/yaz-client.cpp | 10 +++++++--- src/yaz-pdu-assoc.cpp | 9 ++++++--- src/yaz-proxy.cpp | 9 ++++++--- src/yaz-server.cpp | 11 ++++++++--- 6 files changed, 33 insertions(+), 17 deletions(-) diff --git a/include/yaz++/yaz-pdu-observer.h b/include/yaz++/yaz-pdu-observer.h index eac1de4..99cd5a9 100644 --- a/include/yaz++/yaz-pdu-observer.h +++ b/include/yaz++/yaz-pdu-observer.h @@ -2,7 +2,7 @@ * Copyright (c) 1998-2000, Index Data. * See the file LICENSE for details. * - * $Id: yaz-pdu-observer.h,v 1.1 2000-10-11 11:58:16 adam Exp $ + * $Id: yaz-pdu-observer.h,v 1.2 2000-11-01 14:22:59 adam Exp $ */ #ifndef YAZ_PDU_OBSERVER_H @@ -51,7 +51,8 @@ class YAZ_EXPORT IYaz_PDU_Observer { /// Called whenever there is a timeout virtual void timeoutNotify() = 0; /// Make clone of observer using IYaz_PDU_Observable interface - virtual IYaz_PDU_Observer *clone(IYaz_PDU_Observable *the_PDU_Observable) = 0; + virtual IYaz_PDU_Observer *clone(IYaz_PDU_Observable *the_PDU_Observable, + int fd) = 0; }; #endif diff --git a/include/yaz++/yaz-proxy.h b/include/yaz++/yaz-proxy.h index 836dc49..de8fe0f 100644 --- a/include/yaz++/yaz-proxy.h +++ b/include/yaz++/yaz-proxy.h @@ -2,7 +2,7 @@ * Copyright (c) 1998-2000, Index Data. * See the file LICENSE for details. * - * $Id: yaz-proxy.h,v 1.1 2000-10-11 11:58:16 adam Exp $ + * $Id: yaz-proxy.h,v 1.2 2000-11-01 14:22:59 adam Exp $ */ #include @@ -16,7 +16,7 @@ class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc { Yaz_ProxyClient(IYaz_PDU_Observable *the_PDU_Observable); ~Yaz_ProxyClient(); void recv_Z_PDU(Z_APDU *apdu); - IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable); + IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable, int fd); void shutdown(); Yaz_Proxy *m_server; void failNotify(); @@ -55,7 +55,7 @@ class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc { Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable); ~Yaz_Proxy(); void recv_Z_PDU(Z_APDU *apdu); - IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable); + IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable, int fd); void failNotify(); void timeoutNotify(); void connectNotify(); diff --git a/src/yaz-client.cpp b/src/yaz-client.cpp index de00fd1..8670d4f 100644 --- a/src/yaz-client.cpp +++ b/src/yaz-client.cpp @@ -3,7 +3,10 @@ * See the file LICENSE for details. * * $Log: yaz-client.cpp,v $ - * Revision 1.15 2000-10-11 11:58:16 adam + * Revision 1.16 2000-11-01 14:22:59 adam + * Added fd parameter for method IYaz_PDU_Observer::clone. + * + * Revision 1.15 2000/10/11 11:58:16 adam * Moved header files to include/yaz++. Switched to libtool and automake. * Configure script creates yaz++-config script. * @@ -82,7 +85,7 @@ private: public: MyClient(IYaz_PDU_Observable *the_PDU_Observable, Yaz_SocketManager *the_SocketManager); - IYaz_PDU_Observer *clone(IYaz_PDU_Observable *the_PDU_Observable); + IYaz_PDU_Observer *clone(IYaz_PDU_Observable *the_PDU_Observable, int fd); int args(Yaz_SocketManager *socketManager, int argc, char **argv); int interactive(Yaz_SocketManager *socketManager); int wait(); @@ -135,7 +138,8 @@ void MyClient::failNotify() set_lastReceived(-1); } -IYaz_PDU_Observer *MyClient::clone(IYaz_PDU_Observable *the_PDU_Observable) +IYaz_PDU_Observer *MyClient::clone(IYaz_PDU_Observable *the_PDU_Observable, + int fd) { return new MyClient(the_PDU_Observable, m_socketManager); } diff --git a/src/yaz-pdu-assoc.cpp b/src/yaz-pdu-assoc.cpp index 6986733..eef59a6 100644 --- a/src/yaz-pdu-assoc.cpp +++ b/src/yaz-pdu-assoc.cpp @@ -3,7 +3,10 @@ * See the file LICENSE for details. * * $Log: yaz-pdu-assoc.cpp,v $ - * Revision 1.18 2000-10-24 12:29:57 adam + * Revision 1.19 2000-11-01 14:22:59 adam + * Added fd parameter for method IYaz_PDU_Observer::clone. + * + * Revision 1.18 2000/10/24 12:29:57 adam * Fixed bug in proxy where a Yaz_ProxyClient could be owned by * two Yaz_Proxy's (fatal). * @@ -412,7 +415,7 @@ void Yaz_PDU_Assoc::childNotify(int fd) IYaz_PDU_Observable *new_observable = clone(); // Clone PDU Observer - IYaz_PDU_Observer *observer = m_PDU_Observer->clone(new_observable); + IYaz_PDU_Observer *observer = m_PDU_Observer->clone(new_observable, fd); // Attach new socket to it new_observable->socket(observer, fd); @@ -452,7 +455,7 @@ void Yaz_PDU_Assoc::childNotify(int fd) Yaz_PDU_Assoc *new_observable = new Yaz_PDU_Assoc (socket_observable); /// Clone PDU Observer - IYaz_PDU_Observer *observer = m_PDU_Observer->clone(new_observable); + IYaz_PDU_Observer *observer = m_PDU_Observer->clone(new_observable, fd); /// Attach new socket to it new_observable->socket(observer, fd); diff --git a/src/yaz-proxy.cpp b/src/yaz-proxy.cpp index 7df59ee..72969d3 100644 --- a/src/yaz-proxy.cpp +++ b/src/yaz-proxy.cpp @@ -3,7 +3,10 @@ * See the file LICENSE for details. * * $Log: yaz-proxy.cpp,v $ - * Revision 1.20 2000-10-24 12:29:57 adam + * Revision 1.21 2000-11-01 14:22:59 adam + * Added fd parameter for method IYaz_PDU_Observer::clone. + * + * Revision 1.20 2000/10/24 12:29:57 adam * Fixed bug in proxy where a Yaz_ProxyClient could be owned by * two Yaz_Proxy's (fatal). * @@ -108,7 +111,7 @@ void Yaz_Proxy::set_proxyTarget(const char *target) } IYaz_PDU_Observer *Yaz_Proxy::clone(IYaz_PDU_Observable - *the_PDU_Observable) + *the_PDU_Observable, int fd) { Yaz_Proxy *new_proxy = new Yaz_Proxy(the_PDU_Observable); new_proxy->m_parent = this; @@ -479,7 +482,7 @@ void Yaz_ProxyClient::connectNotify() } IYaz_PDU_Observer *Yaz_ProxyClient::clone(IYaz_PDU_Observable - *the_PDU_Observable) + *the_PDU_Observable, int fd) { return new Yaz_ProxyClient(the_PDU_Observable); } diff --git a/src/yaz-server.cpp b/src/yaz-server.cpp index af253ed..cc503dc 100644 --- a/src/yaz-server.cpp +++ b/src/yaz-server.cpp @@ -3,7 +3,10 @@ * See the file LICENSE for details. * * $Log: yaz-server.cpp,v $ - * Revision 1.13 2000-10-11 11:58:16 adam + * Revision 1.14 2000-11-01 14:22:59 adam + * Added fd parameter for method IYaz_PDU_Observer::clone. + * + * Revision 1.13 2000/10/11 11:58:16 adam * Moved header files to include/yaz++. Switched to libtool and automake. * Configure script creates yaz++-config script. * @@ -69,7 +72,8 @@ public: Z_RecordComposition *comp, Z_NamePlusRecord *namePlusRecord, Z_Records *records); - IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable); + IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable, + int fd); void failNotify(); void timeoutNotify(); void connectNotify(); @@ -1600,7 +1604,8 @@ void MyServer::recv_Z_record (const char *resultSetName, strlen(marc_records[eff_pos])); } -IYaz_PDU_Observer *MyServer::clone(IYaz_PDU_Observable *the_PDU_Observable) +IYaz_PDU_Observer *MyServer::clone(IYaz_PDU_Observable *the_PDU_Observable, + int fd) { MyServer *new_server; logf (LOG_LOG, "child no %d", m_no); -- 1.7.10.4