Change implementation of Yaz_Z_Query::zquery2pquery to use YAZ'
[yazpp-moved-to-github.git] / include / yaz++ / z-query.h
1 /*
2  * Copyright (c) 1998-2005, Index Data.
3  * See the file LICENSE for details.
4  * 
5  * $Id: z-query.h,v 1.6 2005-09-27 17:57:50 adam Exp $
6  */
7
8 #include <yaz/proto.h>
9 #include <yaz++/query.h>
10
11 namespace yazpp_1 {
12 /** Z39.50 Query
13     RPN, etc.
14 */
15 class YAZ_EXPORT Yaz_Z_Query : public Yaz_Query {
16  public:
17     /// Make Query from rpn string
18     Yaz_Z_Query();
19     /// Delete Query
20     virtual ~Yaz_Z_Query();
21     /// Set RPN
22     int set_rpn (const char *rpn);
23     /// Set Z Query
24     void set_Z_Query (Z_Query *z_query);
25     /// Get Z Query
26     Z_Query *get_Z_Query ();
27     /// print query
28     void print(char *str, int len);
29     /// match query
30     int match(Yaz_Z_Query *other);
31     /// Copy
32     Yaz_Z_Query &operator=(const Yaz_Z_Query &);
33     /// Assign RPN string to it
34     Yaz_Z_Query& Yaz_Z_Query::operator=(const char *rpn);
35  private:
36     char *m_buf;
37     int m_len;
38     ODR odr_decode;
39     ODR odr_encode;
40     ODR odr_print;
41     WRBUF zquery2pquery(Z_Query *q);
42 };
43 };
44 /*
45  * Local variables:
46  * c-basic-offset: 4
47  * indent-tabs-mode: nil
48  * End:
49  * vim: shiftwidth=4 tabstop=8 expandtab
50  */
51