X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Fgduutil.cpp;h=5b48e6e67cbe4afe735153fae4ead847386bf067;hb=9df178cd376007f26b4336c71abeccba1854b4b6;hp=7ef3f03dfb5427faa1a4153b16e4e867f351000a;hpb=ef427d6fec231e98a5babda2436dad7968df7b46;p=metaproxy-moved-to-github.git diff --git a/src/gduutil.cpp b/src/gduutil.cpp index 7ef3f03..5b48e6e 100644 --- a/src/gduutil.cpp +++ b/src/gduutil.cpp @@ -1,4 +1,4 @@ -/* $Id: gduutil.cpp,v 1.9 2006-09-19 13:50:17 marc Exp $ +/* $Id: gduutil.cpp,v 1.12 2006-09-22 14:13:03 marc Exp $ Copyright (c) 2005-2006, Index Data. See the LICENSE file for details @@ -213,13 +213,31 @@ std::ostream& std::operator<<(std::ostream& os, Z_APDU& zapdu) } break; case Z_APDU_presentRequest: - os << " " << "presentRequest" << " "; + os << " " << "presentRequest"; { Z_PresentRequest *pr = zapdu.u.presentRequest; - os << pr->resultSetId << " " - //<< pr->referenceId << " " - << *(pr->resultSetStartPoint) << " " - << *(pr->numberOfRecordsRequested); + if (pr->resultSetId) + os << " " << (pr->resultSetId); + else + os << " -"; + //<< pr->referenceId << " " + if (pr->resultSetStartPoint) + os << " " << *(pr->resultSetStartPoint); + else + os << " -"; + if (pr->numberOfRecordsRequested) + os << " " << *(pr->numberOfRecordsRequested); + else + os << " -"; + //if (pr->preferredRecordSyntax) + // os << " " << *(pr->preferredRecordSyntax); + //else + // os << " -"; + //elements + //if (pr->) + // os << " " << *(pr->); + //else + // os << " -"; } break; case Z_APDU_presentResponse: @@ -563,19 +581,28 @@ std::ostream& std::operator<<(std::ostream& os, Z_SRW_PDU& srw_pdu) else os << " -"; if (sr->recordPacking) - os << " " << *(sr->recordPacking); + os << " " << (sr->recordPacking); + else + os << " -"; + + if (sr->recordSchema) + os << " " << (sr->recordSchema); else os << " -"; switch (sr->query_type){ case Z_SRW_query_type_cql: - os << " CQL " << sr->query.cql; + os << " CQL"; + if (sr->query.cql) + os << " " << sr->query.cql; break; case Z_SRW_query_type_xcql: os << " XCQL"; break; case Z_SRW_query_type_pqf: - os << " PQF " << sr->query.pqf; + os << " PQF"; + if (sr->query.pqf) + os << " " << sr->query.pqf; break; } } @@ -583,6 +610,46 @@ std::ostream& std::operator<<(std::ostream& os, Z_SRW_PDU& srw_pdu) break; case Z_SRW_searchRetrieve_response: os << " " << "searchRetrieveResponse"; + { + Z_SRW_searchRetrieveResponse *sr = srw_pdu.u.response; + if (sr) + { + if (! (sr->num_diagnostics)) + { + os << " OK"; + if (sr->numberOfRecords) + os << " " << *(sr->numberOfRecords); + else + os << " -"; + //if (sr->num_records) + os << " " << (sr->num_records); + //else + //os << " -"; + if (sr->nextRecordPosition) + os << " " << *(sr->nextRecordPosition); + else + os << " -"; + } + else + { + os << " DIAG"; + if (sr->diagnostics && sr->diagnostics->uri) + os << " " << (sr->diagnostics->uri); + else + os << " -"; + if (sr->diagnostics && sr->diagnostics->message) + os << " " << (sr->diagnostics->message); + else + os << " -"; + if (sr->diagnostics && sr->diagnostics->details) + os << " " << (sr->diagnostics->details); + else + os << " -"; + } + + + } + } break; case Z_SRW_explain_request: os << " " << "explainRequest";