1 // $Header: /home/cvsroot/yaz++/zoom/zclient.cpp,v 1.4 2002-10-09 09:07:10 mike Exp $
3 // Simple sample client
5 #include <stdlib.h> // for atoi()
10 int main(int argc, char **argv)
13 cerr << "Usage: " << argv[0] <<
14 " <host> <port> <db> <@prefix-search>\n";
18 const char *hostname = argv[1];
19 const int port = atoi(argv[2]);
20 const char *dbname = argv[3];
21 const char *searchSpec = argv[4];
23 ZOOM::connection *conn;
25 conn = new ZOOM::connection(hostname, port);
26 } catch(ZOOM::bib1Exception& err) {
27 cerr << argv[0] << ": connect: bib1Exception " <<
28 err.errmsg() << " (" << err.addinfo() << ")\n";
30 } catch(ZOOM::exception& err) {
31 cerr << argv[0] << ": connect: exception " <<
36 conn->option("databaseName", dbname);
37 ZOOM::prefixQuery pq(searchSpec);
40 rs = new ZOOM::resultSet(*conn, pq);
41 } catch(ZOOM::bib1Exception err) {
42 //fprintf(stderr, "caught exception 0x%lx\n", (long) &err);
43 cerr << argv[0] << ": search: " <<
44 err.errmsg() << " (" << err.addinfo() << ")\n";
48 size_t n = rs->size();
49 cout << "found " << n << " records:\n";
50 for (size_t i = 0; i < n; i++) {
51 const ZOOM::record *rec = rs->getRecord(i);
52 cout << "=== record " << i+1 << " (recsyn " << rec->recsyn()
53 << ") ===\n" << rec->render();