Doxygen
dot.h
浏览该文件的文档.
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2019 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 DOT_H
17 #define DOT_H
18 
19 #include <map>
20 
21 #include "qcstring.h"
22 #include "dotgraph.h" // only for GraphOutputFormat
23 #include "dotfilepatcher.h"
24 #include "dotrunner.h"
25 
26 class DotRunner;
27 class DotRunnerQueue;
28 class TextStream;
29 
30 /** Singleton that manages parallel dot invocations and patching files for embedding image maps */
32 {
33  public:
34  static DotManager *instance();
35  static void deleteInstance();
36  DotRunner* createRunner(const QCString& absDotName, const QCString& md5Hash);
37  DotFilePatcher *createFilePatcher(const QCString &fileName);
38  bool run() const;
39 
40  private:
41  DotManager();
42  virtual ~DotManager();
43 
44  std::map<std::string, std::unique_ptr<DotRunner>> m_runners;
45  std::map<std::string, DotFilePatcher> m_filePatchers;
48  std::vector< std::unique_ptr<DotWorkerThread> > m_workers;
49 };
50 
51 void writeDotGraphFromFile(const QCString &inFile,const QCString &outDir,
52  const QCString &outFile,GraphOutputFormat format,
53  const QCString &srcFile,int srcLine);
55  const QCString &inFile, const QCString& outDir,
56  const QCString &relPath,const QCString& baseName,
57  const QCString &context,int graphId,
58  const QCString &srcFile,int srcLine);
59 
60 #endif
DotManager
Singleton that manages parallel dot invocations and patching files for embedding image maps
Definition: dot.h:31
DotManager::instance
static DotManager * instance()
Definition: dot.cpp:77
DotManager::createFilePatcher
DotFilePatcher * createFilePatcher(const QCString &fileName)
Definition: dot.cpp:143
DotManager::run
bool run() const
Definition: dot.cpp:154
DotRunner
Helper class to run dot from doxygen from multiple threads.
Definition: dotrunner.h:30
writeDotGraphFromFile
void writeDotGraphFromFile(const QCString &inFile, const QCString &outDir, const QCString &outFile, GraphOutputFormat format, const QCString &srcFile, int srcLine)
Definition: dot.cpp:272
DotManager::deleteInstance
static void deleteInstance()
Definition: dot.cpp:86
DotManager::m_queue
DotRunnerQueue * m_queue
Definition: dot.h:47
DotManager::createRunner
DotRunner * createRunner(const QCString &absDotName, const QCString &md5Hash)
Definition: dot.cpp:120
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
qcstring.h
DotFilePatcher
Helper class to insert a set of map file into an output file
Definition: dotfilepatcher.h:26
DotManager::m_workers
std::vector< std::unique_ptr< DotWorkerThread > > m_workers
Definition: dot.h:48
DotManager::DotManager
DotManager()
Definition: dot.cpp:92
DotRunnerQueue
Queue of dot jobs to run.
Definition: dotrunner.h:73
dotfilepatcher.h
writeDotImageMapFromFile
void writeDotImageMapFromFile(TextStream &t, const QCString &inFile, const QCString &outDir, const QCString &relPath, const QCString &baseName, const QCString &context, int graphId, const QCString &srcFile, int srcLine)
Definition: dot.cpp:325
dotrunner.h
dotgraph.h
DotManager::m_filePatchers
std::map< std::string, DotFilePatcher > m_filePatchers
Definition: dot.h:45
DotManager::m_theInstance
static DotManager * m_theInstance
Definition: dot.h:46
DotManager::~DotManager
virtual ~DotManager()
Definition: dot.cpp:115
DotManager::m_runners
std::map< std::string, std::unique_ptr< DotRunner > > m_runners
Definition: dot.h:44
GraphOutputFormat
GraphOutputFormat
Definition: dotgraph.h:27
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108