|
| Impl () |
|
| ~Impl () |
|
void | process (metaproxy_1::Package &package) |
|
void | configure (const xmlNode *ptr, bool test_only, const char *path) |
|
Definition at line 41 of file filter_sort.cpp.
◆ Impl()
mp::filter::Sort::Impl::Impl |
( |
| ) |
|
◆ ~Impl()
mp::filter::Sort::Impl::~Impl |
( |
| ) |
|
◆ configure()
void mp::filter::Sort::Impl::configure |
( |
const xmlNode * |
ptr, |
|
|
bool |
test_only, |
|
|
const char * |
path |
|
) |
| |
Definition at line 438 of file filter_sort.cpp.
441 for (ptr = ptr->children; ptr; ptr = ptr->next)
443 if (ptr->type != XML_ELEMENT_NODE)
445 if (!strcmp((
const char *) ptr->name,
"sort"))
447 const struct _xmlAttr *attr;
448 for (attr = ptr->properties; attr; attr = attr->next)
450 if (!strcmp((
const char *) attr->name,
"prefetch"))
452 m_prefetch = mp::xml::get_int(attr->children, -1);
455 throw mp::filter::FilterException(
456 "Bad or missing value for attribute " +
457 std::string((
const char *) attr->name));
460 else if (!strcmp((
const char *) attr->name,
"xpath"))
464 else if (!strcmp((
const char *) attr->name,
"namespaces"))
468 else if (!strcmp((
const char *) attr->name,
"ascending"))
470 m_ascending = mp::xml::get_bool(attr->children,
true);
472 else if (!strcmp((
const char *) attr->name,
"debug"))
474 m_debug = mp::xml::get_bool(attr->children,
false);
477 throw mp::filter::FilterException(
479 std::string((
const char *) attr->name));
484 throw mp::filter::FilterException
486 + std::string((
const char *) ptr->name)
487 +
" in sort filter");
492 throw mp::filter::FilterException
493 (
"Missing xpath attribute for config element in sort filter");
◆ get_frontend()
yf::Sort::FrontendPtr mp::filter::Sort::Impl::get_frontend |
( |
mp::Package & |
package | ) |
|
|
private |
Definition at line 393 of file filter_sort.cpp.
395 boost::mutex::scoped_lock lock(
m_mutex);
397 std::map<mp::Session,yf::Sort::FrontendPtr>::iterator it;
405 if (!it->second->m_in_use)
407 it->second->m_in_use =
true;
◆ process()
void mp::filter::Sort::Impl::process |
( |
metaproxy_1::Package & |
package | ) |
|
Definition at line 725 of file filter_sort.cpp.
728 Z_GDU *gdu = package.request().get();
732 f->handle_package(package);
734 else if (gdu && gdu->which == Z_GDU_Z3950 && gdu->u.z3950->which ==
738 f->m_is_virtual =
true;
◆ release_frontend()
void mp::filter::Sort::Impl::release_frontend |
( |
mp::Package & |
package | ) |
|
|
private |
Definition at line 418 of file filter_sort.cpp.
420 boost::mutex::scoped_lock lock(
m_mutex);
421 std::map<mp::Session,yf::Sort::FrontendPtr>::iterator it;
426 if (package.session().is_closed())
432 it->second->m_in_use =
false;
◆ Frontend
◆ m_ascending
bool metaproxy_1::filter::Sort::Impl::m_ascending |
|
private |
◆ m_clients
std::map<mp::Session, FrontendPtr> metaproxy_1::filter::Sort::Impl::m_clients |
|
private |
◆ m_cond_session_ready
boost::condition metaproxy_1::filter::Sort::Impl::m_cond_session_ready |
|
private |
◆ m_debug
bool metaproxy_1::filter::Sort::Impl::m_debug |
|
private |
◆ m_mutex
boost::mutex metaproxy_1::filter::Sort::Impl::m_mutex |
|
private |
◆ m_namespaces
std::string metaproxy_1::filter::Sort::Impl::m_namespaces |
|
private |
◆ m_prefetch
int metaproxy_1::filter::Sort::Impl::m_prefetch |
|
private |
◆ m_xpath_expr
std::string metaproxy_1::filter::Sort::Impl::m_xpath_expr |
|
private |
The documentation for this class was generated from the following file: