metaproxy  1.21.0
Classes | Namespaces | Functions | Variables
filter_z3950_client.cpp File Reference
#include "config.hpp"
#include "filter_z3950_client.hpp"
#include <metaproxy/package.hpp>
#include <metaproxy/util.hpp>
#include <map>
#include <stdexcept>
#include <list>
#include <iostream>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition.hpp>
#include <boost/thread/xtime.hpp>
#include <yaz/zgdu.h>
#include <yaz/log.h>
#include <yaz/otherinfo.h>
#include <yaz/diagbib1.h>
#include <yaz/oid_db.h>
#include <yaz/charneg.h>
#include <yazpp/socket-manager.h>
#include <yazpp/pdu-assoc.h>
#include <yazpp/z-assoc.h>
Include dependency graph for filter_z3950_client.cpp:

Go to the source code of this file.

Classes

class  metaproxy_1::filter::Z3950Client::Assoc
 
class  metaproxy_1::filter::Z3950Client::Rep
 

Namespaces

 metaproxy_1
 
 metaproxy_1::filter
 

Functions

static void set_charset_proposal (ODR odr, Z_InitRequest *req, const char *charset)
 
static mp::filter::Base * filter_creator ()
 

Variables

struct metaproxy_1_filter_struct metaproxy_1_filter_z3950_client
 

Function Documentation

◆ filter_creator()

static mp::filter::Base* filter_creator ( )
static

Definition at line 725 of file filter_z3950_client.cpp.

726 {
727  return new mp::filter::Z3950Client;
728 }

◆ set_charset_proposal()

static void set_charset_proposal ( ODR  odr,
Z_InitRequest *  req,
const char *  charset 
)
static

Definition at line 491 of file filter_z3950_client.cpp.

492 {
493  Z_OtherInformation **p = &req->otherInfo;
494  Z_OtherInformationUnit *oi;
495 
496  if (*p)
497  {
498  int i;
499  for (i = 0; i < (*p)->num_elements; i++)
500  {
501  Z_External *ext = (*p)->list[i]->information.externallyDefinedInfo;
502  if ((*p)->list[i]->which == Z_OtherInfo_externallyDefinedInfo
503  && ext &&
504  ext->which == Z_External_charSetandLanguageNegotiation)
505  return;
506  }
507  }
508  if ((oi = yaz_oi_update(p, odr, 0, 0, 0)))
509  {
510  ODR_MASK_SET(req->options, Z_Options_negotiationModel);
511  oi->which = Z_OtherInfo_externallyDefinedInfo;
512  oi->information.externallyDefinedInfo =
513  yaz_set_proposal_charneg_list(odr, ",",
514  charset,
515  0 /* lang */,
516  1 /* records included */);
517  }
518 }

Referenced by metaproxy_1::filter::Z3950Client::Rep::send_and_receive().

Variable Documentation

◆ metaproxy_1_filter_z3950_client

struct metaproxy_1_filter_struct metaproxy_1_filter_z3950_client
Initial value:
= {
0,
"z3950_client",
}
static mp::filter::Base * filter_creator()

Definition at line 725 of file filter_z3950_client.cpp.

Referenced by metaproxy_1::FactoryStatic::FactoryStatic().