X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzconn.cpp;h=d5d4c85ac8d6e75e628fd153ac70e5f530894636;hb=3f60ee904bd42b93051a01ac88fadca365101368;hp=e6f9dc907d296e42209627f2d1b8dd6ba58d587b;hpb=8e0f7888835eb1a84882b440209ec125ce5856c1;p=yazpp-moved-to-github.git diff --git a/zoom/zconn.cpp b/zoom/zconn.cpp index e6f9dc9..d5d4c85 100644 --- a/zoom/zconn.cpp +++ b/zoom/zconn.cpp @@ -1,31 +1,34 @@ -// $Header: /home/cvsroot/yaz++/zoom/zconn.cpp,v 1.1 2002-08-08 13:31:54 mike Exp $ +// $Header: /home/cvsroot/yaz++/zoom/zconn.cpp,v 1.4 2002-11-30 22:33:21 mike Exp $ // Z39.50 Connection class -#include "zoom++.h" +#include "zoom.h" namespace ZOOM { - connection::connection(const char *hostname, int portnum) { - c = ZOOM_connection_new(hostname, portnum); + connection::connection(const string &hostname, int portnum) { + const char *line_printer_size_hostname = hostname.c_str(); + //###cerr << "opening " << hostname << ":" << portnum << "\n"; + c = ZOOM_connection_new(line_printer_size_hostname, portnum); + //###cerr << "opened, got " << c << "\n"; int errcode; const char *errmsg; // unused: carries same info as `errcode' const char *addinfo; if ((errcode = ZOOM_connection_error(c, &errmsg, &addinfo)) != 0) { - throw bib1Error(errcode, addinfo); + //###cerr << "oops: no connect, errcode=" << errcode << "\n"; + throw bib1Exception(errcode, addinfo); } } - const char *connection::option(const char *key) const { - return ZOOM_connection_option_get(c, key); + string connection::option(const string &key) const { + return ZOOM_connection_option_get(c, key.c_str()); } - const char *connection::option(const char *key, const char *val) { - // ### There may be memory-management issues here. - const char *old = ZOOM_connection_option_get(c, key); - ZOOM_connection_option_set(c, key, val); - return old; + bool connection::option(const string &key, const string &val) { + // No way to tell whether ZOOM_connection_option_set() accepts key + ZOOM_connection_option_set(c, key.c_str(), val.c_str()); + return true; } connection::~connection() {