X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=include%2Fyaz-z-server.h;h=65d620ec7a9169bfef6655a32e5eacb1b11f5920;hb=71b6a2c41c24d62fb4b195893b63fc7e1e158adb;hp=3a5cf016e5c331ce822ae6e60fdc676d87cd851d;hpb=316df82985a4207a7d52e7d88567bf26d5c2c7c8;p=yazpp-moved-to-github.git diff --git a/include/yaz-z-server.h b/include/yaz-z-server.h index 3a5cf01..65d620e 100644 --- a/include/yaz-z-server.h +++ b/include/yaz-z-server.h @@ -2,7 +2,7 @@ * Copyright (c) 2000, Index Data. * See the file LICENSE for details. * - * $Id: yaz-z-server.h,v 1.1 2000-09-08 10:23:42 adam Exp $ + * $Id: yaz-z-server.h,v 1.3 2000-09-21 21:43:20 adam Exp $ */ #include @@ -11,6 +11,36 @@ class YAZ_EXPORT Yaz_Z_Server : public Yaz_Z_Assoc { public: Yaz_Z_Server(IYaz_PDU_Observable *the_PDU_Observable); virtual void recv_Z_PDU(Z_APDU *apdu); -private: - int m_no; + virtual void recv_Z_init (Z_InitRequest *initRequest, + Z_InitResponse *initResponse) = 0; + virtual void recv_Z_search (Z_SearchRequest *searchRequest, + Z_SearchResponse *searchResponse) = 0; + virtual void recv_Z_present (Z_PresentRequest *presentRequest, + Z_PresentResponse *presentResponse) = 0; + virtual void recv_Z_record (const char *resultSetName, + int position, + int *format, + Z_RecordComposition *comp, + Z_NamePlusRecord *namePlusRecord, + Z_Records *diagnostics) = 0; + Z_Records *Yaz_Z_Server::create_nonSurrogateDiagnostics ( + int error, const char *addinfo); + void create_databaseRecord (Z_NamePlusRecord *rec, + const char *dbname, int format, + const void *buf, int len); + void create_surrogateDiagnostics(Z_NamePlusRecord *rec, + const char *dbname, int error, + char *const addinfo); + + private: + Z_Records *pack_records (const char *resultSetName, + int start, int num, + Z_RecordComposition *comp, + int *next, int *pres, + int *oid); + void fetch_via_piggyback (Z_SearchRequest *searchRequest, + Z_SearchResponse *searchResponse); + void fetch_via_present (Z_PresentRequest *req, Z_PresentResponse *res); + int m_preferredMessageSize; + int m_maximumRecordSize; };