std::string file_path;
std::string content_proxy_server;
std::string content_tmp_file;
+ bool apdu_log;
CCL_bibset bibset;
std::string element_transform;
std::string element_raw;
{
const char *msg = 0;
const char *zoom_addinfo = 0;
- *error = ZOOM_connection_error(m_connection, &msg, &zoom_addinfo);
+ const char *dset = 0;
+ *error = ZOOM_connection_error_x(m_connection, &msg, &zoom_addinfo, &dset);
if (*error)
{
if (*error >= ZOOM_ERROR_CONNECT)
}
else
{
+ if (dset && !strcmp(dset, "info:srw/diagnostic/1"))
+ *error = yaz_diag_srw_to_bib1(*error);
*addinfo = (char *) odr_malloc(
odr, 20 + (zoom_addinfo ? strlen(zoom_addinfo) : 0));
**addinfo = '\0';
}
}
-yf::Zoom::Impl::Impl() : element_transform("pz2") , element_raw("raw")
+yf::Zoom::Impl::Impl() :
+ apdu_log(false), element_transform("pz2") , element_raw("raw")
{
bibset = ccl_qual_mk();
}
attr->name));
}
}
+ else if (!strcmp((const char *) ptr->name, "log"))
+ {
+ const struct _xmlAttr *attr;
+ for (attr = ptr->properties; attr; attr = attr->next)
+ {
+ if (!strcmp((const char *) attr->name, "apdu"))
+ apdu_log = mp::xml::get_bool(attr->children, false);
+ else
+ throw mp::filter::FilterException(
+ "Bad attribute " + std::string((const char *)
+ attr->name));
+ }
+ }
else
{
throw mp::filter::FilterException
b->set_option("rpnCharset", sptr->query_encoding);
b->set_option("timeout", "40");
-
+
+ if (m_p->apdu_log)
+ b->set_option("apdulog", "1");
std::string authentication = sptr->authentication;
std::string proxy = sptr->cfProxy;
nmem_destroy(nmem);
}
+#if YAZ_VERSIONL < 0x40206
+static void wrbuf_vp_puts(const char *buf, void *client_data)
+{
+ WRBUF b = (WRBUF) client_data;
+ wrbuf_puts(b, buf);
+}
+#endif
void yf::Zoom::Frontend::handle_search(mp::Package &package)
{