X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-z-server.cpp;h=ecd4095fdd3c2262611bca414376932f33c90314;hb=86726b00b052694e65b036c262f5fe9096554175;hp=10aba4d23862cf62424be4e4b01e46d8fccbe54f;hpb=ceb226cb18d96a6b3aa2dd6cff94aa27850362cf;p=yazpp-moved-to-github.git diff --git a/src/yaz-z-server.cpp b/src/yaz-z-server.cpp index 10aba4d..ecd4095 100644 --- a/src/yaz-z-server.cpp +++ b/src/yaz-z-server.cpp @@ -1,13 +1,15 @@ /* - * Copyright (c) 2000-2001, Index Data. + * Copyright (c) 2000-2004, Index Data. * See the file LICENSE for details. * - * $Id: yaz-z-server.cpp,v 1.15 2002-10-09 12:50:26 adam Exp $ + * $Id: yaz-z-server.cpp,v 1.21 2005-06-02 06:40:21 adam Exp $ */ #include #include +using namespace yazpp_1; + Yaz_Z_Server::Yaz_Z_Server(IYaz_PDU_Observable *the_PDU_Observable) : Yaz_Z_Assoc(the_PDU_Observable) { @@ -48,7 +50,15 @@ void Yaz_Z_Server::facility_add(IYaz_Server_Facility *facility, (*p)->m_facility = facility; } -void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request) +void Yaz_Z_Server::recv_GDU (Z_GDU *apdu, int len) +{ + if (apdu->which == Z_GDU_Z3950) + recv_Z_PDU(apdu->u.z3950, len); + else + delete this; +} + +void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request, int len) { Yaz_Z_Server_Facility_Info *f = m_facilities; @@ -77,7 +87,7 @@ void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request) f = f->m_next; } transfer_referenceId(apdu_request, apdu_response); - send_Z_PDU(apdu_response); + send_Z_PDU(apdu_response, 0); } else { @@ -92,7 +102,7 @@ void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request) } if (!taken) { - yaz_log (LOG_WARN, "unhandled request = %d", apdu_request->which); + yaz_log (YLOG_WARN, "unhandled request = %d", apdu_request->which); delete this; } } @@ -123,7 +133,7 @@ void Yaz_Z_ServerUtility::create_surrogateDiagnostics( Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *) odr_malloc (odr, sizeof(*dr)); - yaz_log(LOG_DEBUG, "SurrogateDiagnotic: %d -- %s", error, addinfo); + yaz_log(YLOG_DEBUG, "SurrogateDiagnotic: %d -- %s", error, addinfo); *err = error; rec->databaseName = dbname ? odr_strdup (odr, dbname) : 0; rec->which = Z_NamePlusRecord_surrogateDiagnostic;