Documentation generation produces consumable output in one command
Building the docs target now generates the reference and leaves finished documents in the build tree's docs directory: pdf/ holds the compiled PDF, html/ holds the browsable reference when that format is enabled. Doxygen and LaTeX work under docs/tmp/, which clean removes along with the rest of the tree. The reference has a front page and a structure. The markdown documents in docs/ are part of the input, OVERVIEW.md becomes the landing page, and the rest follow as chapters ahead of the namespace, class, and file reference. The module contract, previously a plain comment block invisible to Doxygen, is a page in its own right. Struct and enum members throughout the headers carry documentation, on their own lines above what they describe.
This commit is contained in:
@@ -30,16 +30,28 @@
|
||||
|
||||
/** @brief A loaded, fully validated module */
|
||||
struct dpm_module {
|
||||
/** Module name, its filename minus .so. */
|
||||
std::string name;
|
||||
void* handle = nullptr;
|
||||
|
||||
/** The dlopen handle. */
|
||||
void* handle = nullptr;
|
||||
|
||||
/** dpm_module_version() as read at load. */
|
||||
std::string version;
|
||||
|
||||
/** dpm_module_description() as read at load. */
|
||||
std::string description;
|
||||
|
||||
/** Resolved dpm_module_execute; the only path into module code. */
|
||||
int (*execute)(dpm_ctx*, const char*, int, char**) = nullptr;
|
||||
};
|
||||
|
||||
/** @brief Enumeration cursor over validated modules */
|
||||
struct dpm_cursor {
|
||||
/** One entry per valid module. */
|
||||
std::vector<dpm_module_info> infos;
|
||||
|
||||
/** Position of the next entry. */
|
||||
size_t idx = 0;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user