Version 1.0.1. Added assignment operator for class Yaz_Z_Query.
[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.2 2006-06-19 13:12:06 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     /// Construct query
21     Yaz_Z_Query();
22     /// Copy construct
23     Yaz_Z_Query(const Yaz_Z_Query &q);
24     /// Delete Query
25     virtual ~Yaz_Z_Query();
26     /// Set RPN
27     int set_rpn (const char *rpn);
28     /// Set Z Query
29     void set_Z_Query (Z_Query *z_query);
30     /// Get Z Query
31     Z_Query *get_Z_Query ();
32     /// print query
33     void print(char *str, int len);
34     /// match query
35     int match(const Yaz_Z_Query *other);
36     /// Copy
37     Yaz_Z_Query &operator=(const Yaz_Z_Query &);
38     /// Assign RPN string to it
39     Yaz_Z_Query& operator=(const char *rpn);
40  private:
41     char *m_buf;
42     int m_len;
43     ODR odr_decode;
44     ODR odr_encode;
45     ODR odr_print;
46     WRBUF zquery2pquery(Z_Query *q);
47 };
48 };
49 #endif
50 /*
51  * Local variables:
52  * c-basic-offset: 4
53  * indent-tabs-mode: nil
54  * End:
55  * vim: shiftwidth=4 tabstop=8 expandtab
56  */
57