1 // $Header: /home/cvsroot/yaz++/zoom/master-header,v 1.3 2002-08-09 10:45:30 mike Exp $
4 // The ZOOM homepage is at http://zoom.z3950.org/
6 // Derived from version 1.0g at
7 // http://zoom.z3950.org/bind/cplusplus/zoom-1.0g.hh
9 #include <stddef.h> // for size_t
12 * * This is a bit stupid. The fact that our ZOOM-C++ implementation is
13 * * based on the ZOOM-C implementation is our Dirty Little Secret, and
14 * * there is in principle no reason why client code need be bothered
15 * * with it. Except of course that the public class declarations in
16 * * C++ have to lay their private parts out for the world to see
17 * * (oo-er). Hence the inclusion of <yaz/zoom.h>
19 *#include <yaz/zoom.h>
22 // Forward declarations for type names.
27 const char *option (const char *key);
28 const char *option (const char *key, const char *val);
36 connection (const char *hostname, int portnum);
38 const char *option (const char *key) const;
39 const char *option (const char *key, const char *val);
40 * ZOOM_connection _getYazConnection () const { return c; } // package-private
44 // pure virtual class: derive concrete subclasses from it.
49 * ZOOM_query _getYazQuery () const { return q; } // package-private
52 class prefixQuery : public query {
54 prefixQuery (const char *pqn);
58 class CCLQuery : public query {
60 CCLQuery (const char *ccl, void *qualset);
68 resultSet (connection &c, const query &q);
70 const char *option (const char *key) const;
71 const char *option (const char *key, const char *val);
73 const record *getRecord (size_t i) const;
77 * const resultSet *owner;
80 * record::record (const resultSet *rs, ZOOM_record rec):
81 * owner (rs), r (rec) {}
84 UNKNOWN, GRS1, SUTRS, USMARC, UKMARC, XML
86 record *clone () const;
87 syntax recsyn () const;
88 const char *render () const;
89 const char *rawdata () const;
98 const char *errmsg () const;
101 class systemException: public exception {
104 int errcode () const;
105 const char *errmsg () const;
108 class bib1Exception: public exception {
112 bib1Exception (int errcode, const char *addinfo);
113 int errcode () const;
114 const char *errmsg () const;
115 const char *addinfo () const;
118 class queryException: public exception {
121 * ~queryException ();
122 static const int PREFIX = 1;
123 static const int CCL = 2;
124 queryException (int qtype, const char *source);
125 int errcode () const;
126 const char *errmsg () const;
127 const char *addinfo () const;