X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-ir-assoc.cpp;h=edb8a1b4c8014e898ac8d0348649cfe3f7861675;hb=5e3f7e1a720a08d30c407049c94c6ca825a5ed27;hp=e6c854f68723e7a3c1ff9abc6b9839b5ea80344f;hpb=e3133d2f2c580f76c9da2e7621c74a064f0955c9;p=yazpp-moved-to-github.git diff --git a/src/yaz-ir-assoc.cpp b/src/yaz-ir-assoc.cpp index e6c854f..edb8a1b 100644 --- a/src/yaz-ir-assoc.cpp +++ b/src/yaz-ir-assoc.cpp @@ -1,51 +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.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.23 2004-12-13 20:50:54 adam Exp $ */ #include #include -#include +#include Yaz_IR_Assoc::Yaz_IR_Assoc(IYaz_PDU_Observable *the_PDU_Observable) : Yaz_Z_Assoc(the_PDU_Observable) @@ -58,7 +21,7 @@ Yaz_IR_Assoc::Yaz_IR_Assoc(IYaz_PDU_Observable *the_PDU_Observable) m_host = 0; m_proxy = 0; m_cookie = 0; - m_log = LOG_DEBUG; + m_log = YLOG_DEBUG; const char *db = "Default"; set_databaseNames(1, &db); } @@ -83,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) + 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"); + yaz_log (m_log, "recv InitResponse"); recv_initResponse(apdu->u.initResponse); break; case Z_APDU_initRequest: - logf (m_log, "recv InitRequest"); + yaz_log (m_log, "recv InitRequest"); recv_initRequest(apdu->u.initRequest); break; case Z_APDU_searchRequest: - logf (m_log, "recv searchRequest"); + yaz_log (m_log, "recv searchRequest"); recv_searchRequest(apdu->u.searchRequest); break; case Z_APDU_searchResponse: - logf (m_log, "recv searchResponse"); + yaz_log (m_log, "recv searchResponse"); recv_searchResponse(apdu->u.searchResponse); break; case Z_APDU_presentRequest: - logf (m_log, "recv presentRequest"); + yaz_log (m_log, "recv presentRequest"); recv_presentRequest(apdu->u.presentRequest); break; case Z_APDU_presentResponse: - logf (m_log, "recv presentResponse"); + yaz_log (m_log, "recv presentResponse"); recv_presentResponse(apdu->u.presentResponse); break; + case Z_APDU_extendedServicesResponse: + yaz_log (m_log, "recv extendedServiceResponse"); + recv_extendedServicesResponse(apdu->u.extendedServicesResponse); + break; } } @@ -242,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) { @@ -260,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, @@ -309,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) @@ -363,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) @@ -390,6 +364,10 @@ void Yaz_IR_Assoc::recv_initResponse(Z_InitResponse *initResponse) { } +void Yaz_IR_Assoc::recv_extendedServicesResponse(Z_ExtendedServicesResponse *ExtendedServicesResponse) +{ +} + int Yaz_IR_Assoc::get_lastReceived() { return m_lastReceived; @@ -427,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) @@ -459,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); }