2 * Copyright (c) 2000, Index Data.
3 * See the file LICENSE for details.
5 * $Id: yaz-z-server.h,v 1.1 2000-10-11 11:58:16 adam Exp $
8 #include <yaz++/yaz-z-assoc.h>
10 class YAZ_EXPORT Yaz_Z_Server : public Yaz_Z_Assoc {
12 Yaz_Z_Server(IYaz_PDU_Observable *the_PDU_Observable);
13 virtual void recv_Z_PDU(Z_APDU *apdu);
14 virtual void recv_Z_init (Z_InitRequest *initRequest,
15 Z_InitResponse *initResponse) = 0;
16 virtual void recv_Z_search (Z_SearchRequest *searchRequest,
17 Z_SearchResponse *searchResponse) = 0;
18 virtual void recv_Z_present (Z_PresentRequest *presentRequest,
19 Z_PresentResponse *presentResponse) = 0;
20 virtual void recv_Z_record (const char *resultSetName,
23 Z_RecordComposition *comp,
24 Z_NamePlusRecord *namePlusRecord,
25 Z_Records *diagnostics) = 0;
26 Z_Records *Yaz_Z_Server::create_nonSurrogateDiagnostics (
27 int error, const char *addinfo);
28 void create_databaseRecord (Z_NamePlusRecord *rec,
29 const char *dbname, int format,
30 const void *buf, int len);
31 void create_surrogateDiagnostics(Z_NamePlusRecord *rec,
32 const char *dbname, int error,
36 Z_Records *pack_records (const char *resultSetName,
38 Z_RecordComposition *comp,
41 void fetch_via_piggyback (Z_SearchRequest *searchRequest,
42 Z_SearchResponse *searchResponse);
43 void fetch_via_present (Z_PresentRequest *req, Z_PresentResponse *res);
44 int m_preferredMessageSize;
45 int m_maximumRecordSize;