1 // $Header: /home/cvsroot/yaz++/zoom/zclient.cpp,v 1.2 2002-08-08 16:06:08 mike Exp $
3 // Trivial sample client
5 #include <stdlib.h> // for atoi()
9 int main(int argc, char **argv)
12 cerr << "Usage: " << argv[0] <<
13 " <host> <port> <db> <@prefix-search>\n";
17 const char *hostname = argv[1];
18 const int port = atoi(argv[2]);
19 const char *dbname = argv[3];
20 const char *searchSpec = argv[4];
22 ZOOM::connection *conn;
24 conn = new ZOOM::connection(hostname, port);
25 } catch(ZOOM::bib1Exception err) {
26 cerr << argv[0] << ": connect: bib1Exception " <<
27 err.errmsg() << " (" << err.addinfo() << ")\n";
29 } catch(ZOOM::exception err) {
30 cerr << argv[0] << ": connect: exception " <<
35 conn->option("databaseName", dbname);
36 ZOOM::prefixQuery pq(searchSpec);
39 rs = new ZOOM::resultSet(*conn, pq);
40 } catch(ZOOM::bib1Exception err) {
41 cerr << argv[0] << ": searchSpec: " <<
42 err.errmsg() << " (" << err.addinfo() << ")\n";
46 size_t n = rs->size();
47 cout << "found " << n << " records:\n";
48 for (size_t i = 0; i < n; i++) {
49 const ZOOM::record *rec = rs->getRecord(i);
50 cout << "=== record " << i+1 << " (recsyn " << rec->recsyn()
51 << ") ===\n" << rec->render();