+class Yaz_CharsetConverter {
+public:
+ Yaz_CharsetConverter();
+ ~Yaz_CharsetConverter();
+ void set_target_query_charset(const char *s);
+ void set_client_query_charset(const char *org);
+ const char *get_client_query_charset(void);
+ const char *get_target_query_charset(void);
+ void convert_type_1(Z_RPNQuery *q, ODR o);
+ void set_client_charset_selected(int sel);
+ int get_client_charset_selected();
+private:
+ void convert_type_1(char *buf_in, int len_in,
+ char **buf_out, int *len_out,
+ ODR o);
+ void convert_type_1(Z_Term *q, ODR o);
+ void convert_type_1(Z_RPNStructure *q, ODR o);
+ void convert_type_1(Z_Operand *q, ODR o);
+ char *m_target_query_charset;
+ char *m_client_query_charset;
+ int m_client_charset_selected;
+ yaz_iconv_t m_ct;
+ WRBUF m_wrbuf;
+};
+