-/* $Id: filter_virt_db.cpp,v 1.32 2006-01-18 10:30:28 adam Exp $
+/* $Id: filter_virt_db.cpp,v 1.35 2006-02-02 11:33:46 adam Exp $
Copyright (c) 2005, Index Data.
%LICENSE%
};
class Virt_db::Rep {
friend class Virt_db;
- friend class Frontend;
+ friend struct Frontend;
FrontendPtr get_frontend(Package &package);
void release_frontend(Package &package);
Z_APDU *init_apdu = zget_APDU(odr, Z_APDU_initRequest);
- std::list<std::string>::const_iterator t_it = b->m_targets.begin();
- int cat = 1;
- for (; t_it != b->m_targets.end(); t_it++, cat++)
- {
- yaz_oi_set_string_oidval(&init_apdu->u.initRequest->otherInfo, odr,
- VAL_PROXY, cat, t_it->c_str());
- }
-
+ yp2::util::set_vhost_otherinfo(&init_apdu->u.initRequest->otherInfo, odr,
+ b->m_targets);
Z_InitRequest *req = init_apdu->u.initRequest;
// copy stuff from Frontend Init Request
{
b->m_named_result_sets = true;
}
- std::cout << "GOT INIT res=" << *res->result << "\n";
if (!*res->result)
{
yp2::util::get_init_diagnostics(res, error_code, addinfo);
std::list<std::string>::const_iterator t_it = b->m_targets.begin();
if (t_it != b->m_targets.end())
{
- if (!yp2::util::set_databases_from_zurl(odr, *t_it,
+ yp2::util::set_databases_from_zurl(odr, *t_it,
&req->num_databaseNames,
- &req->databaseNames));
+ &req->databaseNames);
}
*req->replaceIndicator = 1;
std::list<std::string>::const_iterator t_it = b->m_targets.begin();
if (t_it != b->m_targets.end())
{
- if (!yp2::util::set_databases_from_zurl(odr, *t_it,
+ yp2::util::set_databases_from_zurl(odr, *t_it,
&req->num_databaseNames,
- &req->databaseNames));
+ &req->databaseNames);
}
scan_package.request() = yazpp_1::GDU(apdu_req);
{
Z_InitRequest *req = gdu->u.z3950->u.initRequest;
- const char *vhost =
- yaz_oi_get_string_oidval(&req->otherInfo, VAL_PROXY, 1, 0);
- if (!vhost)
+ std::list<std::string> vhosts;
+ yp2::util::get_vhost_otherinfo(&req->otherInfo, false, vhosts);
+ if (vhosts.size() == 0)
{
f->m_init_gdu = gdu;