X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=zoom%2Fzclient.cpp;fp=zoom%2Fzclient.cpp;h=f401ab8c6ab86a7dae800d99b528e912100d1fd0;hp=53e2f9d0f038f85efaffa102923450e0f4182fe3;hb=88e190489a5c483e5b860048aeebde41bf262962;hpb=2f83e1ab14eab55ce68001e48c5808193ef6bf77 diff --git a/zoom/zclient.cpp b/zoom/zclient.cpp index 53e2f9d..f401ab8 100644 --- a/zoom/zclient.cpp +++ b/zoom/zclient.cpp @@ -1,4 +1,4 @@ -// $Header: /home/cvsroot/yaz++/zoom/zclient.cpp,v 1.4 2002-10-09 09:07:10 mike Exp $ +// $Id: zclient.cpp,v 1.5 2002-11-30 22:33:21 mike Exp $ // Simple sample client @@ -10,48 +10,39 @@ 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 " << - 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"; + } catch(exception& err) { + cerr << argv[0] << ": exception " << + err.errmsg() << "\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; }