X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzclient.cpp;h=ca159a886aeb0fb2a8dae1e7ce130f823824a87e;hb=3f60ee904bd42b93051a01ac88fadca365101368;hp=16a2ae3a48ed6c3aa78e863f37fb169e5b727814;hpb=927890f041728f42cb5e1ed3646fce2f07b4f52c;p=yazpp-moved-to-github.git diff --git a/zoom/zclient.cpp b/zoom/zclient.cpp index 16a2ae3..ca159a8 100644 --- a/zoom/zclient.cpp +++ b/zoom/zclient.cpp @@ -1,57 +1,48 @@ -// $Header: /home/cvsroot/yaz++/zoom/zclient.cpp,v 1.3 2002-10-08 23:55:52 mike Exp $ +// $Id: zclient.cpp,v 1.6 2002-12-02 15:57:58 mike Exp $ // Simple sample client #include // for atoi() #include -#include "zoom++.h" +#include "zoom.h" int main(int argc, char **argv) { if (argc != 5) { - cerr << "Usage: " << argv[0] << - " <@prefix-search>\n"; + cerr << "Usage: " << + argv[0] << " <@prefix-search>\n"; return 1; } - const char *hostname = argv[1]; - const int port = atoi(argv[2]); - const char *dbname = argv[3]; - const char *searchSpec = argv[4]; - - ZOOM::connection *conn; + using namespace ZOOM; try { - conn = new ZOOM::connection(hostname, port); - } catch(ZOOM::bib1Exception& err) { - cerr << argv[0] << ": connect: bib1Exception " << + connection conn(argv[1], atoi(argv[2])); + conn.option("databaseName", argv[3]); + conn.option("preferredRecordSyntax", + record::syntax(record::syntax::XML)); + prefixQuery pq(argv[4]); + resultSet rs(conn, pq); + + size_t n = rs.size(); + cout << "found " << n << " records:\n"; + for (size_t i = 0; i < n; i++) { + const record rec(rs, i); + cout << "=== record " << i+1 << + " (record-syntax " << (string) rec.recsyn() << ")" << + " ===\n" << rec.render(); + } + + } catch(bib1Exception& err) { + cerr << argv[0] << ": bib1Exception " << err.errmsg() << " (" << err.addinfo() << ")\n"; return 2; + } catch(ZOOM::exception& err) { - cerr << argv[0] << ": connect: exception " << + cerr << argv[0] << ": exception " << err.errmsg() << "\n"; - return 2; - } - - conn->option("databaseName", dbname); - ZOOM::prefixQuery pq(searchSpec); - ZOOM::resultSet *rs; - try { - rs = new ZOOM::resultSet(*conn, pq); - } catch(ZOOM::bib1Exception err) { - //fprintf(stderr, "caught exception 0x%lx\n", (long) &err); - cerr << argv[0] << ": search: " << - err.errmsg() << " (" << err.addinfo() << ")\n"; return 3; } - size_t n = rs->size(); - cout << "found " << n << " records:\n"; - for (size_t i = 0; i < n; i++) { - const ZOOM::record *rec = rs->getRecord(i); - cout << "=== record " << i+1 << " (recsyn " << rec->recsyn() - << ") ===\n" << rec->render(); - } - return 0; }