Use gitignore based on old cvsignore.
[yazpp-moved-to-github.git] / include / yazpp / record-cache.h
1 /*
2  * Copyright (c) 2002-2004, Index Data.
3  * See the file LICENSE for details.
4  * 
5  * $Id: record-cache.h,v 1.2 2006-03-30 14:15:58 adam Exp $
6  */
7
8
9 #include <yaz/nmem.h>
10 #include <yaz/z-core.h>
11
12 namespace yazpp_1 {
13 struct RecordCache_Entry;
14
15 class YAZ_EXPORT RecordCache {
16  public:
17     RecordCache ();
18     ~RecordCache ();
19     void add (ODR o, Z_NamePlusRecordList *npr, int start, int hits);
20     
21     int lookup (ODR o, Z_NamePlusRecordList **npr, int start, int num,
22                 Odr_oid *syntax, Z_RecordComposition *comp);
23     void clear();
24
25     void copy_searchRequest(Z_SearchRequest *sr);
26     void copy_presentRequest(Z_PresentRequest *pr);
27     void set_max_size(int sz);
28  private:
29     NMEM m_mem;
30     RecordCache_Entry *m_entries;
31     Z_SearchRequest *m_searchRequest;
32     Z_PresentRequest *m_presentRequest;
33     int match (RecordCache_Entry *entry,
34                Odr_oid *syntax, int offset,
35                Z_RecordComposition *comp);
36     int m_max_size;
37 };
38 };
39 /*
40  * Local variables:
41  * c-basic-offset: 4
42  * indent-tabs-mode: nil
43  * End:
44  * vim: shiftwidth=4 tabstop=8 expandtab
45  */
46