metaproxy 1.22.1
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

namespace  metaproxy_1
 
namespace  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 723 of file filter_z3950_client.cpp.

724{
725 return new mp::filter::Z3950Client;
726}

◆ set_charset_proposal()

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

Definition at line 489 of file filter_z3950_client.cpp.

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

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 729 of file filter_z3950_client.cpp.

729 {
730 0,
731 "z3950_client",
733 };

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