X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzclient.cpp;h=ca159a886aeb0fb2a8dae1e7ce130f823824a87e;hb=3f60ee904bd42b93051a01ac88fadca365101368;hp=8a1bb95e19b5d3580e66d78a3a5ee623c25bcb6e;hpb=8e0f7888835eb1a84882b440209ec125ce5856c1;p=yazpp-moved-to-github.git diff --git a/zoom/zclient.cpp b/zoom/zclient.cpp index 8a1bb95..ca159a8 100644 --- a/zoom/zclient.cpp +++ b/zoom/zclient.cpp @@ -1,54 +1,48 @@ -// $Header: /home/cvsroot/yaz++/zoom/zclient.cpp,v 1.1 2002-08-08 13:31:54 mike Exp $ +// $Id: zclient.cpp,v 1.6 2002-12-02 15:57:58 mike Exp $ -// Trivial sample client +// 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::bib1Error err) { - cerr << argv[0] << ": connect: " << + 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::error err) { - cerr << argv[0] << ": connect: " << 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::bib1Error err) { - cerr << argv[0] << ": searchSpec: " << - err.errmsg() << " (" << err.addinfo() << ")\n"; + } catch(ZOOM::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; }