Doxygen
Loading...
Searching...
No Matches
sitemap.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1997-2023 Dimitri van Heesch.
3 *
4 * Permission to use, copy, modify, and distribute this software and its
5 * documentation under the terms of the GNU General Public License is hereby
6 * granted. No representations are made about the suitability of this software
7 * for any purpose. It is provided "as is" without express or implied warranty.
8 * See the GNU General Public License for more details.
9 *
10 * Documents produced by Doxygen are derivative works derived from the
11 * input used in their production; they are not affected by this license.
12 */
13
14#ifndef SITEMAP_H
15#define SITEMAP_H
16
17#include <memory>
18
19#include "dstring.h"
20#include "construct.h"
21#include "indexlist.h"
22
23class Definition;
24class MemberDef;
25
26class Sitemap final : public IndexIntf
27{
28 public:
29 Sitemap();
32
33 void initialize();
34 void finalize();
37 void addContentsItem(bool isDir, const DString &name, const DString &ref,
38 const DString &file, const DString &anchor,
39 bool separateIndex, bool addToNavIndex,
40 const Definition *def, const DString &nameAsHtml) {}
41 void addIndexItem(const Definition *context, const MemberDef *md,
42 const DString &sectionAnchor, const DString &title) {}
43 void addIndexFile(const DString & name);
44 void addImageFile(const DString & name) {}
45 void addStyleSheetFile(const DString & name) {}
46
47 static inline const DString sitemapFileName = "sitemap.xml";
48
49 private:
50 class Private;
51 std::unique_ptr<Private> p;
52};
53
54class Crawlmap final : public IndexIntf
55{
56 public:
57 Crawlmap();
60
61 void initialize();
62 void finalize();
65 void addContentsItem(bool isDir, const DString & name, const DString & ref,
66 const DString & file, const DString & anchor,
67 bool separateIndex,bool addToNavIndex,
68 const Definition *def, const DString &nameAsHtml);
69 void addIndexItem(const Definition *context, const MemberDef *md,
70 const DString &sectionAnchor, const DString &title);
71 void addIndexFile(const DString & name);
72 void addImageFile(const DString & name){}
73 void addStyleSheetFile(const DString & name){}
74
75 static inline const DString crawlFileName = "doxygen_crawl";
76
77 private:
78 class Private;
79 std::unique_ptr<Private> p;
80};
81
82
83#endif // SITEMAP_H
84
void addImageFile(const DString &name)
Definition sitemap.h:72
void initialize()
Definition sitemap.cpp:95
void addStyleSheetFile(const DString &name)
Definition sitemap.h:73
void addContentsItem(bool isDir, const DString &name, const DString &ref, const DString &file, const DString &anchor, bool separateIndex, bool addToNavIndex, const Definition *def, const DString &nameAsHtml)
Definition sitemap.cpp:140
static const DString crawlFileName
Definition sitemap.h:75
void incContentsDepth()
Definition sitemap.h:63
void decContentsDepth()
Definition sitemap.h:64
std::unique_ptr< Private > p
Definition sitemap.h:79
void addIndexItem(const Definition *context, const MemberDef *md, const DString &sectionAnchor, const DString &title)
Definition sitemap.cpp:195
void addIndexFile(const DString &name)
Definition sitemap.cpp:133
void finalize()
Definition sitemap.cpp:118
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:89
The common base class of all entity definitions found in the sources.
Definition definition.h:77
Abstract interface for index generators.
Definition indexlist.h:33
A model of a class/file/namespace member symbol.
Definition memberdef.h:48
void addIndexFile(const DString &name)
Definition sitemap.cpp:72
std::unique_ptr< Private > p
Definition sitemap.h:51
static const DString sitemapFileName
Definition sitemap.h:47
void addIndexItem(const Definition *context, const MemberDef *md, const DString &sectionAnchor, const DString &title)
Definition sitemap.h:41
void addContentsItem(bool isDir, const DString &name, const DString &ref, const DString &file, const DString &anchor, bool separateIndex, bool addToNavIndex, const Definition *def, const DString &nameAsHtml)
Definition sitemap.h:37
void finalize()
Definition sitemap.cpp:65
void incContentsDepth()
Definition sitemap.h:35
void decContentsDepth()
Definition sitemap.h:36
Sitemap()
Definition sitemap.cpp:43
void initialize()
Definition sitemap.cpp:46
void addStyleSheetFile(const DString &name)
Definition sitemap.h:45
void addImageFile(const DString &name)
Definition sitemap.h:44
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition construct.h:37