Doxygen
Loading...
Searching...
No Matches
defgen.h File Reference

#include <src/defgen.h>

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void generateDEF ()

Function Documentation

◆ generateDEF()

void generateDEF ( )

Definition at line 463 of file defgen.cpp.

464{
465 DString outputDirectory = Config_getString(OUTPUT_DIRECTORY)+"/def";
466 Dir defDir(outputDirectory.str());
467 if (!defDir.exists() && !defDir.mkdir(outputDirectory.str()))
468 {
469 err("Could not create def directory in {}\n",outputDirectory);
470 return;
471 }
472
473 DString fileName=outputDirectory+"/doxygen.def";
474 std::ofstream f = Portable::openOutputStream(fileName);
475 if (!f.is_open())
476 {
477 err("Cannot open file {} for writing!\n",fileName);
478 return;
479 }
480 TextStream t(&f);
481 t << "AutoGen Definitions dummy;\n";
482
483 if (Doxygen::classLinkedMap->size()+
486 {
487 for (const auto &cd : *Doxygen::classLinkedMap)
488 {
489 generateDEFForClass(cd.get(),t);
490 }
491 for (const auto &fn : *Doxygen::inputNameLinkedMap)
492 {
493 for (const auto &fd : *fn)
494 {
495 generateDEFForFile(fd.get(),t);
496 }
497 }
498 for (const auto &nd : *Doxygen::namespaceLinkedMap)
499 {
500 generateDEFForNamespace(nd.get(),t);
501 }
502 }
503 else
504 {
505 t << "dummy_value = true;\n";
506 }
507}
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:84
const std::string & str() const
Definition dstring.h:645
Class representing a directory in the file system.
Definition dir.h:73
static NamespaceLinkedMap * namespaceLinkedMap
Definition doxygen.h:108
static FileNameLinkedMap * inputNameLinkedMap
Definition doxygen.h:97
static ClassLinkedMap * classLinkedMap
Definition doxygen.h:88
Text streaming class that buffers data.
Definition textstream.h:36
#define Config_getString(name)
Definition config.h:32
static void generateDEFForClass(const ClassDef *cd, TextStream &t)
Definition defgen.cpp:283
static void generateDEFForFile(const FileDef *fd, TextStream &t)
Definition defgen.cpp:431
static void generateDEFForNamespace(const NamespaceDef *nd, TextStream &t)
Definition defgen.cpp:403
#define err(fmt,...)
Definition message.h:127
std::ofstream openOutputStream(const DString &name, bool append=false)
Definition portable.cpp:681

References Doxygen::classLinkedMap, Config_getString, err, Dir::exists(), generateDEFForClass(), generateDEFForFile(), generateDEFForNamespace(), Doxygen::inputNameLinkedMap, Dir::mkdir(), Doxygen::namespaceLinkedMap, Portable::openOutputStream(), and DString::str().

Referenced by generateOutput().