X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-ir-assoc.cpp;h=d5edf868901aa3586e10b41bf00b32c65b32c29d;hb=d3d51bee2100324025f7530d4e3ff3502397fd83;hp=42c4fbbf9b95bb9de6c93669ac6dce174599f05e;hpb=bff45f95576c8f14cb474d2026ce4f4e7fc2e917;p=yazpp-moved-to-github.git diff --git a/src/yaz-ir-assoc.cpp b/src/yaz-ir-assoc.cpp index 42c4fbb..d5edf86 100644 --- a/src/yaz-ir-assoc.cpp +++ b/src/yaz-ir-assoc.cpp @@ -1,54 +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.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) @@ -86,7 +46,7 @@ typedef char *charp; void Yaz_IR_Assoc::set_databaseNames (int num, const char **list) { int i; - logf (m_log, "Yaz_IR_Assoc::set_databaseNames num=%d", num); + yaz_log (m_log, "Yaz_IR_Assoc::set_databaseNames num=%d", num); for (i = 0; iu.generic; } -void Yaz_IR_Assoc::recv_Z_PDU(Z_APDU *apdu) + +void Yaz_IR_Assoc::recv_GDU(Z_GDU *apdu, int len) { - logf (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) { case Z_APDU_initResponse: - logf (m_log, "recv InitResponse"); - recv_initResponse(apdu->u.initResponse); - break; + yaz_log (m_log, "recv InitResponse"); + recv_initResponse(apdu->u.initResponse); + break; case Z_APDU_initRequest: - logf (m_log, "recv InitRequest"); - recv_initRequest(apdu->u.initRequest); + yaz_log (m_log, "recv InitRequest"); + recv_initRequest(apdu->u.initRequest); break; case Z_APDU_searchRequest: - logf (m_log, "recv searchRequest"); - recv_searchRequest(apdu->u.searchRequest); + yaz_log (m_log, "recv searchRequest"); + recv_searchRequest(apdu->u.searchRequest); break; case Z_APDU_searchResponse: - logf (m_log, "recv searchResponse"); - recv_searchResponse(apdu->u.searchResponse); - break; + yaz_log (m_log, "recv searchResponse"); + recv_searchResponse(apdu->u.searchResponse); + break; case Z_APDU_presentRequest: - logf (m_log, "recv presentRequest"); - recv_presentRequest(apdu->u.presentRequest); + yaz_log (m_log, "recv presentRequest"); + recv_presentRequest(apdu->u.presentRequest); break; case Z_APDU_presentResponse: - logf (m_log, "recv presentResponse"); - recv_presentResponse(apdu->u.presentResponse); + yaz_log (m_log, "recv presentResponse"); + recv_presentResponse(apdu->u.presentResponse); break; case Z_APDU_extendedServicesResponse: - logf (m_log, "recv extendedServiceResponse"); + yaz_log (m_log, "recv extendedServiceResponse"); recv_extendedServicesResponse(apdu->u.extendedServicesResponse); break; } @@ -249,7 +216,7 @@ int Yaz_IR_Assoc::send_searchRequest(Yaz_Z_Query *query, oid_ent_to_oid(&prefsyn, oid_syntax); req->preferredRecordSyntax = oid_syntax; } - logf (m_log, "send_searchRequest"); + yaz_log (m_log, "send_searchRequest"); assert (req->otherInfo == 0); if (m_cookie) { @@ -267,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, @@ -316,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) @@ -370,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) @@ -438,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) @@ -470,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); }