-/* $Id: proxy.h,v 1.4 2004-04-22 07:46:21 adam Exp $
+/* $Id: proxy.h,v 1.7 2004-10-18 22:10:57 adam Exp $
Copyright (c) 1998-2004, Index Data.
This file is part of the yaz-proxy.
int check_query(ODR odr, const char *name, Z_Query *query, char **addinfo);
int check_syntax(ODR odr, const char *name,
Odr_oid *syntax, Z_RecordComposition *comp,
- char **addinfo, char **stylesheet, char **schema);
- char *get_explain(ODR odr, const char *name, const char *db,
- int *len);
-private:
+ char **addinfo, char **stylesheet, char **schema,
+ char **backend_type, char **backend_charset);
+ char *get_explain_doc(ODR odr, const char *name, const char *db,
+ int *len);
+ const char *get_explain_name(const char *db, const char **backend_db);
+ private:
void operator=(const Yaz_ProxyConfig &conf);
class Yaz_ProxyConfigP *m_cp;
};
char *get_proxy(Z_OtherInformation **otherInfo);
Yaz_ProxyClient *get_client(Z_APDU *apdu, const char *cookie,
const char *proxy_host);
+ void srw_get_client(const char *db, const char **backend_db);
Z_APDU *result_set_optimize(Z_APDU *apdu);
void shutdown();
-
+ void releaseClient();
Yaz_ProxyClient *m_client;
IYaz_PDU_Observable *m_PDU_Observable;
Yaz_ProxyClient *m_clientPool;
Z_APDU *m_stylesheet_apdu;
Z_NamePlusRecordList *m_stylesheet_nprl;
char *m_schema;
- void convert_to_marcxml(Z_NamePlusRecordList *p);
+ char *m_backend_type;
+ char *m_backend_charset;
+ int m_frontend_type;
+ void convert_to_frontend_type(Z_NamePlusRecordList *p);
+ void convert_to_marcxml(Z_NamePlusRecordList *p, const char *charset);
int convert_xsl(Z_NamePlusRecordList *p, Z_APDU *apdu);
void convert_xsl_delay();
Z_APDU *m_initRequest_apdu;