2 * Copyright (c) 1998-1999, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
6 * $Id: yaz-ir-assoc.h,v 1.7 1999-04-21 12:09:01 adam Exp $
9 #include <yaz-z-assoc.h>
10 #include <yaz-z-query.h>
12 /** Information Retrieval Assocation.
13 This object implements the client - and server role of a generic
16 class YAZ_EXPORT Yaz_IR_Assoc: public Yaz_Z_Assoc {
18 /// Create object using the PDU Observer specified
19 Yaz_IR_Assoc(IYaz_PDU_Observable *the_PDU_Observable);
20 /// Destroy assocation and close PDU Observer
21 virtual ~Yaz_IR_Assoc();
22 /// Receive Z39.50 PDU
23 void recv_Z_PDU(Z_APDU *apdu);
24 /// Set Database Names
25 void set_databaseNames (int num, const char **list);
26 void set_databaseNames(const char *dblist, const char *sep);
27 /// Get Database Names
28 void get_databaseNames (int *num, char ***list);
30 void client(const char *addr);
32 /// Set Preferred Record Syntax
33 void set_preferredRecordSyntax (int value);
34 void set_preferredRecordSyntax (const char *syntax);
35 /// Get Preferred Record Syntax
36 void get_preferredRecordSyntax (int *val);
37 void get_preferredRecordSyntax (const char **syntax);
39 /// Set ElementSetName
40 void set_elementSetName (const char *elementSetName);
41 /// Get ElementSetName
42 void get_elementSetName (const char **elementSetName);
43 void get_elementSetName (Z_ElementSetNames **elementSetNames);
45 int get_lastReceived();
46 void set_lastReceived(int lastReceived);
49 void set_proxy(const char *str);
50 const char *get_proxy();
51 const char *get_host();
53 void set_cookie(const char *str);
54 const char *get_cookie();
57 int send_initRequest();
58 int send_searchRequest(Yaz_Z_Query *query);
59 int send_presentRequest(int start, int number);
61 virtual void recv_initRequest(Z_InitRequest *initRequest);
62 virtual void recv_initResponse(Z_InitResponse *initResponse);
63 virtual void recv_searchRequest(Z_SearchRequest *searchRequest);
64 virtual void recv_presentRequest(Z_PresentRequest *presentRequest);
65 virtual void recv_searchResponse(Z_SearchResponse *searchResponse);
66 virtual void recv_presentResponse(Z_PresentResponse *presentResponse);
71 int m_num_databaseNames;
72 char **m_databaseNames;
73 int m_preferredRecordSyntax;
74 Z_ElementSetNames *m_elementSetNames;