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 §ionAnchor,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