My Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cite.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  *
4  *
5  * Copyright (C) 2011 by Dimitri van Heesch
6  * Based on a patch by David Munger
7  *
8  * Permission to use, copy, modify, and distribute this software and its
9  * documentation under the terms of the GNU General Public License is hereby
10  * granted. No representations are made about the suitability of this software
11  * for any purpose. It is provided "as is" without express or implied warranty.
12  * See the GNU General Public License for more details.
13  *
14  * Documents produced by Doxygen are derivative works derived from the
15  * input used in their production; they are not affected by this license.
16  *
17  */
18 
19 #ifndef CITEDB_H
20 #define CITEDB_H
21 
22 #include <qdict.h>
23 
24 class FTextStream;
25 
27 struct CiteConsts
28 {
29  static const QCString fileName;
30  static const QCString anchorPrefix;
31 };
32 
34 struct CiteInfo
35 {
36  CiteInfo(const char *label_, const char *text_=0, const char *fullText_=0,
37  const char *ref_=0) :
38  label(label_), text(text_), fullText(fullText_), ref(ref_)
39  { }
40 
41  CiteInfo(const CiteInfo &o)
42  { label=o.label.copy(); text=o.text.copy(); fullText=o.fullText.copy(); ref=o.ref.copy(); }
43 
44  QCString label;
45  QCString text;
46  QCString fullText;
47  QCString ref;
48 
49 };
50 
56 class CiteDict
57 {
58  public:
60  CiteDict(int size);
61 
62 // /** Resolve references to citations */
63 // void resolve();
64 
66  void insert(const char *label);
67 
69  CiteInfo *find(const char *label) const;
70 
72  void generatePage() const;
73 
75  void clear();
76 
80  bool isEmpty() const;
81 
86 
87  private:
88 // bool writeAux();
89 // bool writeBst();
90 // bool execute();
91 // void parse();
92 // void clean();
93  QDict<CiteInfo> m_entries;
94 // QList<QCString> m_ordering;
95  QCString m_baseFileName;
96 };
97 
98 #endif