Doxygen
Loading...
Searching...
No Matches
defgen.h File Reference
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 464 of file defgen.cpp.

465{
466 DString outputDirectory = Config_getString(OUTPUT_DIRECTORY)+"/def";
467 Dir defDir(outputDirectory.str());
468 if (!defDir.exists() && !defDir.mkdir(outputDirectory.str()))
469 {
470 err("Could not create def directory in {}\n",outputDirectory);
471 return;
472 }
473
474 DString fileName=outputDirectory+"/doxygen.def";
475 std::ofstream f = Portable::openOutputStream(fileName);
476 if (!f.is_open())
477 {
478 err("Cannot open file {} for writing!\n",fileName);
479 return;
480 }
481 TextStream t(&f);
482 t << "AutoGen Definitions dummy;\n";
483
484 if (Doxygen::classLinkedMap->size()+
487 {
488 for (const auto &cd : *Doxygen::classLinkedMap)
489 {
490 generateDEFForClass(cd.get(),t);
491 }
492 for (const auto &fn : *Doxygen::inputNameLinkedMap)
493 {
494 for (const auto &fd : *fn)
495 {
496 generateDEFForFile(fd.get(),t);
497 }
498 }
499 for (const auto &nd : *Doxygen::namespaceLinkedMap)
500 {
501 generateDEFForNamespace(nd.get(),t);
502 }
503 }
504 else
505 {
506 t << "dummy_value = true;\n";
507 }
508}
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:88
const std::string & str() const
Definition dstring.h:649
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:284
static void generateDEFForFile(const FileDef *fd, TextStream &t)
Definition defgen.cpp:432
static void generateDEFForNamespace(const NamespaceDef *nd, TextStream &t)
Definition defgen.cpp:404
#define err(fmt,...)
Definition message.h:127
std::ofstream openOutputStream(const DString &name, bool append=false)
Definition portable.cpp:665

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().