Bump copyright year
[yazpp-moved-to-github.git] / zoom / zrs.cpp
1 // Z39.50 Result Set class
2
3 #include "zoom.h"
4
5
6 namespace ZOOM {
7     resultSet::resultSet(connection &c, const query &q) : owner(c) {
8         ZOOM_connection yazc = c._getYazConnection();
9         rs = ZOOM_connection_search(yazc, q._getYazQuery());
10         int errcode;
11         const char *errmsg;     // unused: carries same info as `errcode'
12         const char *addinfo;
13
14         if ((errcode = ZOOM_connection_error(yazc, &errmsg, &addinfo)) != 0) {
15             ZOOM_resultset_destroy(rs);
16             throw bib1Exception(errcode, addinfo);
17         }
18     }
19
20     resultSet::~resultSet() {
21         ZOOM_resultset_destroy(rs);
22     }
23
24     std::string resultSet::option(const std::string &key) const {
25         return ZOOM_resultset_option_get(rs, key.c_str());
26     }
27
28     bool resultSet::option(const std::string &key, const std::string &val) {
29       ZOOM_resultset_option_set(rs, key.c_str(), val.c_str());
30         return true;
31     }
32
33     size_t resultSet::size() const {
34         return ZOOM_resultset_size(rs);
35     }
36 }
37 /*
38  * Local variables:
39  * c-basic-offset: 4
40  * c-file-style: "Stroustrup"
41  * indent-tabs-mode: nil
42  * End:
43  * vim: shiftwidth=4 tabstop=8 expandtab
44  */
45