System documentation of the GNU Image-Finding Tool

CAcURL2FTS.h
1 /* -*- mode: c++ -*-
2 */
3 /*
4 
5  GIFT, a flexible content based image retrieval system.
6  Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva
7 
8  Copyright (C) 2003, 2004 Bayreuth University
9  2005 Bamberg University
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14 
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with this program; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 
24 */
45 #ifndef _CACURL2FTS
46 #define _CACURL2FTS
47 #include "libGIFTAcURL2FTS/include/uses-declarations.h"
48 #include <string>
49 #include "libMRML/include/TID.h"
50 #include <iostream>
51 #include <fstream>
52 #include <map>
53 #ifdef HAS_HASH_MAP
54 #include <hash_map>
55 #else
56 #define hash_map map
57 #endif
58 #include "libMRML/include/CAccessorImplementation.h"
59 #include "libMRML/include/CMutex.h" // multithreading
60 class CXMLElement; // parameter of constructor
61 
67 private:
69  bool mWellConstructed;
70 protected:
74  TID mID;
78  string mURLPrefix;
94  mutable ifstream mURLToFeatureFile;
99  // this seems to be necessary
100  friend class CAcIFFileSystem;
101 public:
103  const string& getURLToFeatureFileName()const;
104 
122  CAcURL2FTS(const CXMLElement& inContentElement);
123 
129  virtual operator bool()const;
135  virtual int size()const;
142  pair<bool,string> URLToFFN(const string& inURL)const;
149  pair<bool,string> IDToFFN(TID inID)const;
151  friend void newStartURL2FTSElement(void *inUserData,
152  const char *inElementName,
153  const char **inAttributes);
155  friend void newEndURL2FTSElement(void *inUserData,
156  const char *inElementName);
157 };
158 
159 #endif
convenience typedef
Definition: CAccessorImplementation.h:49
An accessor to an inverted file.
Definition: CAcIFFileSystem.h:93
string mURLPrefix
the url-prefix for the image list
Definition: CAcURL2FTS.h:78
This class captures the structure of an XML element.
Definition: CXMLElement.h:51
TID mID
the ID of the next element
Definition: CAcURL2FTS.h:74
friend void newStartURL2FTSElement(void *inUserData, const char *inElementName, const char **inAttributes)
we construct this with a little help from this friend
convenience typedef
Definition: CAccessorImplementation.h:65
pair< bool, string > URLToFFN(const string &inURL) const
gives the feature file name which corresponds to a given URL return value: pair of bool (does the fea...
friend void newEndURL2FTSElement(void *inUserData, const char *inElementName)
we construct this with a little help from this friend
const string & getURLToFeatureFileName() const
gives back the content of mURLToFeatureFileName
pair< bool, string > IDToFFN(TID inID) const
gives the feature file name which corresponds to a given URL return value: pair of bool (does the fea...
string mURLToFeatureFileName
Name of the file that contains pairs of URL and the Feature file that belongs to the URL...
Definition: CAcURL2FTS.h:98
TID_string_map mIDToFFN
map from the id of an image to the name of the feature file for this image
Definition: CAcURL2FTS.h:92
virtual int size() const
Give the number of elements stored in this accessor.
CMutex mMutexURL2FTS
the mutex for multithreading the name is intended to be unique and immune against inheritance...
Definition: CAcURL2FTS.h:88
ifstream mURLToFeatureFile
URL -> FeatureFileName.
Definition: CAcURL2FTS.h:94
This class offers an abstraction from the locking method used.
Definition: CMutex.h:40
string mThumbnailURLPrefix
the thumbnail-url-prefix for the image list
Definition: CAcURL2FTS.h:82
CAccessorImplementation - a base class for everything accessing a GIFT database.
Definition: CAccessorImplementation.h:92
CAcURL2FTS(const CXMLElement &inContentElement)
Constructor: slurp in an url2fts file and fill the maps.
This accessor is a base class for accessors which use an URL2FTS file to implement the interface of t...
Definition: CAcURL2FTS.h:66
string_string_map mURLToFFN
map from the url of an image to the name of the feature file for this image
Definition: CAcURL2FTS.h:90

Need for discussion? Want to contribute? Contact
help-gift@gnu.org Generated using Doxygen