WIN32 updates
[yazpp-moved-to-github.git] / include / yazpp / 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.1 2006-03-29 13:14:15 adam Exp $
6  */
7
8 #ifndef YAZPP_Z_QUERY_INCLUDED
9 #define YAZPP_Z_QUERY_INCLUDED
10
11 #include <yaz/proto.h>
12 #include <yazpp/query.h>
13
14 namespace yazpp_1 {
15 /** Z39.50 Query
16     RPN, etc.
17 */
18 class YAZ_EXPORT Yaz_Z_Query : public Yaz_Query {
19  public:
20     /// Make Query from rpn string
21     Yaz_Z_Query();
22     /// Delete Query
23     virtual ~Yaz_Z_Query();
24     /// Set RPN
25     int set_rpn (const char *rpn);
26     /// Set Z Query
27     void set_Z_Query (Z_Query *z_query);
28     /// Get Z Query
29     Z_Query *get_Z_Query ();
30     /// print query
31     void print(char *str, int len);
32     /// match query
33     int match(Yaz_Z_Query *other);
34     /// Copy
35     Yaz_Z_Query &operator=(const Yaz_Z_Query &);
36     /// Assign RPN string to it
37     Yaz_Z_Query& operator=(const char *rpn);
38  private:
39     char *m_buf;
40     int m_len;
41     ODR odr_decode;
42     ODR odr_encode;
43     ODR odr_print;
44     WRBUF zquery2pquery(Z_Query *q);
45 };
46 };
47 #endif
48 /*
49  * Local variables:
50  * c-basic-offset: 4
51  * indent-tabs-mode: nil
52  * End:
53  * vim: shiftwidth=4 tabstop=8 expandtab
54  */
55