X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Frecord-cache.h;fp=include%2Fyaz%2B%2B%2Frecord-cache.h;h=e05a4fdd2027f42ff1e5df8a50c895f4aec42079;hb=2c25ce513613784819fcb216c60d1584402e7907;hp=0000000000000000000000000000000000000000;hpb=779c379c70bf479073cc4968f6bf5ad35ffe6eec;p=yazpp-moved-to-github.git diff --git a/include/yaz++/record-cache.h b/include/yaz++/record-cache.h new file mode 100644 index 0000000..e05a4fd --- /dev/null +++ b/include/yaz++/record-cache.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2002-2004, Index Data. + * See the file LICENSE for details. + * + * $Id: record-cache.h,v 1.1 2004-03-29 22:46:50 adam Exp $ + */ + + +#include +#include + +class Yaz_RecordCache_Entry; + +class YAZ_EXPORT Yaz_RecordCache { + public: + Yaz_RecordCache (); + ~Yaz_RecordCache (); + void add (ODR o, Z_NamePlusRecordList *npr, int start, int hits); + + int lookup (ODR o, Z_NamePlusRecordList **npr, int start, int num, + Odr_oid *syntax, Z_RecordComposition *comp); + void clear(); + + void copy_searchRequest(Z_SearchRequest *sr); + void copy_presentRequest(Z_PresentRequest *pr); + void set_max_size(int sz); + private: + NMEM m_mem; + Yaz_RecordCache_Entry *m_entries; + Z_SearchRequest *m_searchRequest; + Z_PresentRequest *m_presentRequest; + int match (Yaz_RecordCache_Entry *entry, + Odr_oid *syntax, int offset, + Z_RecordComposition *comp); + int m_max_size; +};