DLL exports
[yazpp-moved-to-github.git] / zoom / zconn.cpp
1 // $Header: /home/cvsroot/yaz++/zoom/zconn.cpp,v 1.3 2002-10-09 09:07:10 mike Exp $
2
3 // Z39.50 Connection class
4
5 #include "zoom.h"
6
7
8 namespace ZOOM {
9     connection::connection(const char *hostname, int portnum) {
10         c = ZOOM_connection_new(hostname, portnum);
11
12         int errcode;
13         const char *errmsg;     // unused: carries same info as `errcode'
14         const char *addinfo;
15         if ((errcode = ZOOM_connection_error(c, &errmsg, &addinfo)) != 0) {
16             throw bib1Exception(errcode, addinfo);
17         }
18     }
19
20     const char *connection::option(const char *key) const {
21         return ZOOM_connection_option_get(c, key);
22     }
23
24     const char *connection::option(const char *key, const char *val) {
25         // ### There may be memory-management issues here.
26         const char *old = ZOOM_connection_option_get(c, key);
27         ZOOM_connection_option_set(c, key, val);
28         return old;
29     }
30
31     connection::~connection() {
32         ZOOM_connection_destroy(c);
33     }
34 }