X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-ir-assoc.cpp;h=d5edf868901aa3586e10b41bf00b32c65b32c29d;hb=d3d51bee2100324025f7530d4e3ff3502397fd83;hp=d30eab30d6052a0020cf1ebfc3f6497edc6eaefc;hpb=c96f00d22f0af97ad7fd5d8687fa0b65b67de77e;p=yazpp-moved-to-github.git diff --git a/src/yaz-ir-assoc.cpp b/src/yaz-ir-assoc.cpp index d30eab3..d5edf86 100644 --- a/src/yaz-ir-assoc.cpp +++ b/src/yaz-ir-assoc.cpp @@ -1,57 +1,14 @@ /* - * Copyright (c) 1998-2000, Index Data. + * Copyright (c) 1998-2003, Index Data. * See the file LICENSE for details. * - * $Log: yaz-ir-assoc.cpp,v $ - * Revision 1.16 2001-08-13 16:39:12 adam - * PDU_Assoc keeps track of children. Using yaz_log instead of logf. - * - * Revision 1.15 2001/04/26 12:17:49 heikki - * Ursula stuff, mostly in the test client - * - * Revision 1.14 2000/10/11 11:58:16 adam - * Moved header files to include/yaz++. Switched to libtool and automake. - * Configure script creates yaz++-config script. - * - * Revision 1.13 2000/09/06 14:23:45 adam - * WIN32 updates. - * - * Revision 1.12 2000/05/10 11:36:58 ian - * Added default parameters for refid to request functions. - * Added default parameter for result set name to search and present request. - * Commented out forced logging of PDU contents. - * Added send_deleteResultSetRequest - * - * Revision 1.11 1999/12/06 13:52:45 adam - * Modified for new location of YAZ header files. Experimental threaded - * operation. - * - * Revision 1.10 1999/04/29 07:33:28 adam - * Changed setting of host in connect/proxy setting. YAZ' strtoaddr now - * ignores database part of host. - * - * Revision 1.9 1999/04/28 13:29:14 adam - * Yet another fix regarding database settings. - * - * Revision 1.8 1999/04/28 13:04:03 adam - * Fixed setting of proxy otherInfo so that database(s) are removed. - * - * Revision 1.7 1999/04/21 12:09:01 adam - * Many improvements. Modified to proxy server to work with "sessions" - * based on cookies. - * - * Revision 1.6 1999/04/20 10:30:05 adam - * Implemented various stuff for client and proxy. Updated calls - * to ODR to reflect new name parameter. - * - * Revision 1.5 1999/04/09 11:46:57 adam - * Added object Yaz_Z_Assoc. Much more functional client. + * $Id: yaz-ir-assoc.cpp,v 1.20 2003-12-16 14:17:01 adam Exp $ */ #include #include -#include +#include Yaz_IR_Assoc::Yaz_IR_Assoc(IYaz_PDU_Observable *the_PDU_Observable) : Yaz_Z_Assoc(the_PDU_Observable) @@ -192,9 +149,16 @@ void Yaz_IR_Assoc::get_elementSetName (const char **elementSetName) *elementSetName = m_elementSetNames->u.generic; } -void Yaz_IR_Assoc::recv_Z_PDU(Z_APDU *apdu) + +void Yaz_IR_Assoc::recv_GDU(Z_GDU *apdu, int len) { - yaz_log (m_log, "recv_Z_PDU"); + if (apdu->which == Z_GDU_Z3950) + return recv_Z_PDU(apdu->u.z3950, len); +} + +void Yaz_IR_Assoc::recv_Z_PDU(Z_APDU *apdu, int len) +{ + yaz_log (m_log, "recv_Z_PDU %d bytes", len); m_lastReceived = apdu->which; switch (apdu->which) { @@ -270,7 +234,7 @@ int Yaz_IR_Assoc::send_searchRequest(Yaz_Z_Query *query, req->resultSetName = pResultSetId; } - return send_Z_PDU(apdu); + return send_Z_PDU(apdu, 0); } int Yaz_IR_Assoc::send_presentRequest(int start, @@ -319,7 +283,7 @@ int Yaz_IR_Assoc::send_presentRequest(int start, req->resultSetId = pResultSetId; } - return send_Z_PDU(apdu); + return send_Z_PDU(apdu, 0); } void Yaz_IR_Assoc::set_proxy(const char *str) @@ -373,19 +337,19 @@ const char *Yaz_IR_Assoc::get_host() void Yaz_IR_Assoc::recv_searchRequest(Z_SearchRequest *searchRequest) { Z_APDU *apdu = create_Z_PDU(Z_APDU_searchResponse); - send_Z_PDU(apdu); + send_Z_PDU(apdu, 0); } void Yaz_IR_Assoc::recv_presentRequest(Z_PresentRequest *presentRequest) { Z_APDU *apdu = create_Z_PDU(Z_APDU_presentResponse); - send_Z_PDU(apdu); + send_Z_PDU(apdu, 0); } void Yaz_IR_Assoc::recv_initRequest(Z_InitRequest *initRequest) { Z_APDU *apdu = create_Z_PDU(Z_APDU_initResponse); - send_Z_PDU(apdu); + send_Z_PDU(apdu, 0); } void Yaz_IR_Assoc::recv_searchResponse (Z_SearchResponse *searchResponse) @@ -441,7 +405,7 @@ int Yaz_IR_Assoc::send_initRequest(char* pRefId) set_otherInformationString(&req->otherInfo, VAL_PROXY, 1, m_host); if (m_cookie) set_otherInformationString(&req->otherInfo, VAL_COOKIE, 1, m_cookie); - return send_Z_PDU(apdu); + return send_Z_PDU(apdu, 0); } int Yaz_IR_Assoc::send_deleteResultSetRequest(char* pResultSetId, char* pRefId) @@ -473,8 +437,7 @@ int Yaz_IR_Assoc::send_deleteResultSetRequest(char* pResultSetId, char* pRefId) if (m_cookie) set_otherInformationString(&req->otherInfo, VAL_COOKIE, 1, m_cookie); - - return send_Z_PDU(apdu); + return send_Z_PDU(apdu, 0); }