mifluz

WordMeta.h

Go to the documentation of this file.
00001 //
00002 // WordMeta.h
00003 //
00004 // NAME
00005 // 
00006 // abstract class to manage and use an inverted index file.
00007 //
00008 // SYNOPSIS
00009 // 
00010 // #include <mifluz.h>
00011 // 
00012 // WordContext context;
00013 //
00014 // WordMeta* words = context->Meta();
00015 // 
00016 // delete words;
00017 // 
00018 // DESCRIPTION
00019 // 
00020 // WordMeta is the <i>mifluz</i> equivalent of a database handler. Each
00021 // WordMeta object is bound to an inverted index file and implements the
00022 // operations to create it, fill it with word occurrences and search 
00023 // for an entry matching a given criterion.
00024 // 
00025 // WordMeta is an abstract class and cannot be instanciated. 
00026 // The <b>Meta</b> method of the class WordContext will create 
00027 // an instance using the appropriate derived class, either WordMetaOne
00028 // or WordMetaMulti. Refer to the corresponding manual pages for
00029 // more information on their specific semantic.
00030 //
00031 // 
00032 //
00033 // END
00034 //
00035 // Part of the ht://Dig package <http://www.htdig.org/>
00036 // Copyright (c) 1999, 2000, 2001 The ht://Dig Group
00037 // For copyright details, see the file COPYING in your distribution
00038 // or the GNU General Public License version 2 or later
00039 // <http://www.gnu.org/copyleft/gpl.html>
00040 //
00041 // $Id: WordMeta_8h-source.html,v 1.1 2008年06月08日 10:13:16 sebdiaz Exp $
00042 //
00043 
00044 #ifndef _WordMeta_h_
00045 #define _WordMeta_h_
00046 
00047 #include <stdio.h>
00048 
00049 #include "htString.h"
00050 #include "WordDB.h"
00051 
00052 class WordContext;
00053 class WordLock;
00054 class WordMetaImp;
00055 
00056 //
00057 // Serial number range [1-2^32]
00058 //
00059 #define WORD_META_SERIAL_INVALID 0
00060 
00061 #define WORD_META_SERIAL_WORD 0
00062 #define WORD_META_SERIAL_FILE 1
00063 
00064 class WordMeta 
00065 {
00066 public:
00067 WordMeta() { words = 0; db = 0; imp = 0; }
00068 ~WordMeta();
00069 
00070 int Initialize(WordList* words);
00071 
00072 int Open();
00073 int Close();
00074 
00075 int Serial(int what, unsigned int& serial);
00076 int GetSerial(int what, unsigned int& serial);
00077 int SetSerial(int what, unsigned int serial);
00078 
00079 int Lock(const String& resource, WordLock*& lock);
00080 int Unlock(const String& resource, WordLock*& lock);
00081 
00082 private:
00083 WordList *words;
00084 WordDB *db;
00085 WordMetaImp *imp;
00086 };
00087 #endif /* _WordMeta_h_ */

Generated on Sun Jun 8 10:56:40 2008 for GNUmifluz by doxygen 1.5.5

AltStyle によって変換されたページ (->オリジナル) /