1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2021 by Dimitri van Heesch.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation under the terms of the GNU General Public License is hereby
7  * granted. No representations are made about the suitability of this software
8  * for any purpose. It is provided "as is" without express or implied warranty.
9  * See the GNU General Public License for more details.
10  *
11  * Documents produced by Doxygen are derivative works derived from the
12  * input used in their production; they are not affected by this license.
13  *
14  */
15 
16 #ifndef DOCSETS_H
17 #define DOCSETS_H
18 
19 #include <memory>
20 
21 #include "index.h"
22 
23 class TextStream;
24 
25 class Definition;
26 
27 /** A class that generates docset files.
28  *
29  *  These files can be used to create context help
30  *  for use within Apple's Xcode 3.0 development environment
31  */
32 class DocSets  : public IndexIntf
33 {
34 
35   public:
36     DocSets();
37    ~DocSets();
38     void initialize();
39     void finalize();
40     void incContentsDepth();
41     void decContentsDepth();
42     void addContentsItem(bool isDir,
43                          const QCString &name,
44                          const QCString &ref,
45                          const QCString &file,
46                          const QCString &anchor,
47                          bool separateIndex,
48                          bool addToNavIndex,
49                          const Definition *def
50                         );
51     void addIndexItem(const Definition *context,const MemberDef *md,
52                       const QCString &sectionAnchor,const QCString &title);
53     void addIndexFile(const QCString &name);
addImageFile(const QCString &)54     void addImageFile(const QCString &) {}
addStyleSheetFile(const QCString &)55     void addStyleSheetFile(const QCString &) {}
56 
57   private:
58     void writeToken(TextStream &t, const Definition *d,
59                     const QCString &type, const QCString &lang,
60                     const QCString &scope=QCString(), const QCString &anchor=QCString(),
61                     const QCString &decl=QCString());
62     struct Private;
63     std::unique_ptr<Private> p;
64 
65 };
66 
67 #endif /* DOCSETS_H */
68 
69