class DoxygenXLinks
This is the main class of this little project that organizes the pieces and performs all necessary steps. Method Run is called in Run
#include <dxl.hpp>
Inner Type Index: | |
| struct | Statistics |
| Some statistical data displayed with verbose output option. (todo!). More... | |
Public Field Index: | |
| alib::Lock | DLLock |
| DoxygenINIFile | Doxyfile |
| The Doxyfile to process. | |
| ExclamationFile | Exclamations |
| alib::CString | ExclamationsPath = "DoxygenXLinks.exclamations.txt" |
| The path to this file. Todo: make configurable and auto-generated from app-name. | |
| alib::StdVectorMA< Index * > | Indices |
| alib::MonoAllocator | MA |
| Our mono allocator. | |
| Statistics | Stats |
| Statistics collected during the execution and printed when verbose output is requested. | |
| DXLThreadPool | TPool |
| The thread pool used to load and search the HMTL files. | |
| alib::HashMap< alib::MonoAllocator, alib::String, XLink *, std::hash< alib::String >, std::equal_to< alib::String >, alib::lang::Caching::Enabled, alib::Recycling::None > | XLinkMap |
| The set of unique XLinks found in the source and HTML files. | |
Public Method Index: | |
| DoxygenXLinks () | |
| Constructor. | |
| ~DoxygenXLinks () | |
| Virtual destructor. | |
| void | AddAnchorTitle (const alib::String &anchorName, const alib::String &anchorTitle, const alib::String &sourceHint) |
| void | GetELDecoration (Styles &styles, bool isELREFAnchor, alib::File &elLocation, alib::String targetFilename, alib::String targetAnchor, int lineNo, int colNo) |
| alib::FTree & | GetHTMLTree () |
| alib::SharedLock & | GetHTMLTreeLock () |
| alib::FTree & | GetSourceTree () |
| alib::SharedLock & | GetSourceTreeLock () |
| XLink * | GetXLink (alib::String &searchString, const alib::files::File &htmlFile) |
| XLink * | RegisterXLink (alib::String &searchString) |
| void | Run () |
| The main method of this main class of project DoxygenXLinks. | |
Protected Field Index: | |
| alib::SharedFTree | fTreeHTML |
| The file tree used for reading the html files. | |
| alib::SharedFTree | fTreeSources |
| The file tree used for reading the source files. | |
| alib::Verbosity | verbosityGetELDecoration = alib::Verbosity(-1) |
| Used to optimize logging speed in critical code section. | |
Protected Method Index: | |
| void | listLinks (const alib::String &expressionString, const alib::String &format) |
| void | scanHTMLFiles () |
| Scans the HTML input file tree. | |
| void | scanReplSrcFiles (const alib::String &folder) |
| void | scanSrcFiles () |
| void | schduleHTMLReplacers () |
| Launches the HTMLReplacer jobs on the HTML-file tree. | |
| void | schduleSourceReplacers (const alib::String &folder) |
| void | scheduleSrcScanners () |
| Launches the SourceLocationFinder jobs on the source-file tree. | |
| void | tryResolveHTMLTargetFile (XLink &xLink) |
| void | writeErrors () |
| Writes the non-resolved and ambiguous src links in an ordered fashion. | |
| void | writeStatistics () |
| void | writeXLinksInHTMLNotInSource () |
| void | writeXLinksInSourceNotInHTML () |
| alib::Lock dxl::DoxygenXLinks::DLLock |
| DoxygenINIFile dxl::DoxygenXLinks::Doxyfile |
| ExclamationFile dxl::DoxygenXLinks::Exclamations |
| alib::CString dxl::DoxygenXLinks::ExclamationsPath = "DoxygenXLinks.exclamations.txt" |
|
protected |
|
protected |
| alib::StdVectorMA<Index*> dxl::DoxygenXLinks::Indices |
| alib::MonoAllocator dxl::DoxygenXLinks::MA |
| Statistics dxl::DoxygenXLinks::Stats |
| DXLThreadPool dxl::DoxygenXLinks::TPool |
|
protected |
| alib::HashMap< alib::MonoAllocator, alib::String, XLink*, std::hash<alib::String>, std::equal_to<alib::String>, alib::lang::Caching::Enabled,alib::Recycling::None> dxl::DoxygenXLinks::XLinkMap |
| void dxl::DoxygenXLinks::AddAnchorTitle | ( | const alib::String & | anchorName, |
| const alib::String & | anchorTitle, | ||
| const alib::String & | sourceHint ) |
This method searches the anchor with the given name in all tag-files and adds the given title information.
One way to receive the title information is described in manual section... TODO: also ist das überhaupt noch drin? Jedenfalls funktionierte es ja mit den ALib-macro-groups gar nicht!
Note that all given strings are volatile and must be copied before stored.
| anchorName | The name of the anchor to receive a title. |
| anchorTitle | The title to set. |
| sourceHint | Information about where the anchor title came from. |
| void dxl::DoxygenXLinks::GetELDecoration | ( | Styles & | styles, |
| bool | isELREFAnchor, | ||
| alib::File & | elLocation, | ||
| alib::String | targetFilename, | ||
| alib::String | targetAnchor, | ||
| int | lineNo, | ||
| int | colNo ) |
This is used with HTML-links that are set by Doxygen automatically (not explicitly by the documentation writer). It is determined which css classes are added to the anchor.
| styles | The target styles struct to set. |
| isELREFAnchor | Denotes whether an anchor with class "el" or "elref" was found. |
| elLocation | The HTML-file where the EL-anchor was found. |
| targetFilename | The target HTML-file name portion of the anchor. |
| targetAnchor | The anchor portion of anchor. |
| lineNo | The line in elLocation. (Used for log-output.) |
| colNo | The column in elLocation. (Used for log-output.) |
|
inline |
|
inline |
|
inline |
|
inline |
| XLink * dxl::DoxygenXLinks::GetXLink | ( | alib::String & | searchString, |
| const alib::files::File & | htmlFile ) |
This is the central search method of this project, called by the class HTMLReplacer. While most of the search-logic is located in the method Search, this method is responsible for the creation of creating and hashing XLink objects and for collecting erroneous links.
| searchString | The string found in the HTML file to search for. |
| htmlFile | The HTML file where this link is currently found. This is used to resolve local versions. |
false, no target information is set, and no replacement must happen by the caller.
|
protected |
| XLink * dxl::DoxygenXLinks::RegisterXLink | ( | alib::String & | searchString | ) |
This method stores a link in the XLinkMap but does not resolve it, yet. It is called by the SourceLocationFinder.
| searchString | The string found in the HTML file to search for. |
| void dxl::DoxygenXLinks::Run | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |
Launches the HTMLReplacer jobs on the HTML-file tree.
|
protected |
Launches the SourceReplacer jobs on the source-file tree.
| folder | The directory to search copies of sources. (Only used for log-output here.) |
|
protected |
Launches the SourceLocationFinder jobs on the source-file tree.
|
protected |
Implements a special feature: Files not found in doxygen tag-files, might still have an HTML-file containing its source. Such files are named "XYZ_source.html". This method is called if an XLink to a file cannon not be resolved otherwise.
| xLink | The XLink with the unresolved target file. |
|
protected |
|
protected |
|
protected |
|
protected |