2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these libraries and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 // $TOG: DtSR_BookcaseEntry.hh /main/8 1998/04/17 11:41:33 mgreess $
24 /* Copyright (c) 1995,1996 FUJITSU LIMITED */
25 /* All Rights Reserved */
27 #ifndef _DTSR_BOOKCASEENTRY_HH_
28 #define _DTSR_BOOKCASEENTRY_HH_
30 #include "UAS_BookcaseEntry.hh"
31 #include "UAS_Base.hh"
32 #include "UAS_List.hh"
33 #include "UAS_SearchZones.hh"
35 #include "DtSR_Stems.hh"
41 class DtSR_BookcaseEntry : public UAS_BookcaseEntry
44 DtSR_BookcaseEntry(UAS_Pointer<UAS_Common>& bookcase, int searchable = 0)
45 : UAS_BookcaseEntry(bookcase, searchable) { };
46 virtual ~DtSR_BookcaseEntry() { };
50 class DtSR_BookcaseSearchEntry : public DtSR_BookcaseEntry
52 friend class DtSR_SearchEngine;
55 DtSR_BookcaseSearchEntry(int dbn, UAS_Pointer<UAS_Common>& bc,
57 virtual ~DtSR_BookcaseSearchEntry();
59 short language() { return f_language; }
61 UAS_Pointer<DtSR_Stems>& stems() { return f_stems; }
62 UAS_Pointer<DtSR_Stems> takeover_stems();
64 static void search_zones(UAS_SearchZones& search_zones);
66 UAS_Pointer<UAS_Common> bcase() { return uas_bcase; }
69 #if !defined(SC3) && !defined(linux)
72 template <class T> friend class UAS_Pointer;
76 virtual void unreference();
79 void _search_zones(UAS_SearchZones& search_zones);
81 UAS_Pointer<UAS_String> f_dbname;
86 DtSrKeytype* f_keytypes;
89 UAS_Pointer<DtSR_Stems> f_stems;
91 // list of bookcases to which this belongs
92 static UAS_Pointer<UAS_List<DtSR_BookcaseSearchEntry> > f_bcases;
93 static UAS_List<DtSR_BookcaseSearchEntry> &bcases();
95 UAS_Pointer<UAS_Common> uas_bcase;