X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=include%2Fyazpp%2Frecord-cache.h;h=d5bed57cd2b4a5445533b9129099af8a171ac8a1;hb=82d0b6ce2accdbe9987d0b8b4e6e818514455e22;hp=91e988bc822ebea2d6921090a146d7b2e9534108;hpb=fb334c4fc1a825055a3e01328015190ae6a7bf7f;p=yazpp-moved-to-github.git diff --git a/include/yazpp/record-cache.h b/include/yazpp/record-cache.h index 91e988b..d5bed57 100644 --- a/include/yazpp/record-cache.h +++ b/include/yazpp/record-cache.h @@ -1,8 +1,28 @@ -/* - * Copyright (c) 2002-2004, Index Data. - * See the file LICENSE for details. - * - * $Id: record-cache.h,v 1.2 2006-03-30 14:15:58 adam Exp $ +/* This file is part of the yazpp toolkit. + * Copyright (C) Index Data + * All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Index Data nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ @@ -10,35 +30,33 @@ #include namespace yazpp_1 { -struct RecordCache_Entry; class YAZ_EXPORT RecordCache { public: RecordCache (); ~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 add(ODR o, Z_NamePlusRecordList *npr, int start, int hits); + void add(ODR o, Z_NamePlusRecordList *npr, int start, + Z_RecordComposition *comp); + + 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); + void set_max_size(size_t sz); private: - NMEM m_mem; - RecordCache_Entry *m_entries; - Z_SearchRequest *m_searchRequest; - Z_PresentRequest *m_presentRequest; - int match (RecordCache_Entry *entry, - Odr_oid *syntax, int offset, - Z_RecordComposition *comp); - int m_max_size; + struct RecordCache_Entry; + struct Rep; + + Rep *m_p; }; }; /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab