Conscience Core
CscCommandsDocGenerator.h
Go to the documentation of this file.
1 #ifndef CommandsDocGenerator_h
2 #define CommandsDocGenerator_h
3 
4 #include "../CommandParamsSpec.h"
5 #include "../Result/CommandResultSpec.h"
6 #include "CscCommon.h"
7 #include <functional>
8 
10 
11 using std::function;
12 
14 
15 ENUM(CscCommandDocGenerationFormat, CommandDocGenerationFormat_MARKDOWN, CommandDocGenerationFormat_HTML)
16 
18  CscCommandDocGenerationFormat format = CommandDocGenerationFormat_MARKDOWN;
19 };
20 
21 CSC_DLL_IMPORTEXPORT string generateCommandStringPaddedWithExampleValues(const CscCommandDataTypeMetadata *commandSpec, const map<string, string> &specifiedValues = {}, bool fillOptionalValues = false);
22 CSC_DLL_IMPORTEXPORT string generateCommandFormatDoc(const CscCommandDataTypeMetadata *commandSpec, const CscCommandDocGenerationContext &context);
23 CSC_DLL_IMPORTEXPORT string generateCommandResultDoc(const CscCommandDataTypeMetadata *commandSpec, const CscCommandResultMetadata *resultMetadata, const CscCommandDocGenerationContext &context);
24 CSC_DLL_IMPORTEXPORT void logCommandDocumentation(const string &commandId, const CscCommandDocGenerationContext &context = {});
25 CSC_DLL_IMPORTEXPORT void appendCommandDocumentation(const CscCommandDataTypeMetadata *commandSpec, string &targetString, const CscCommandDocGenerationContext &context = {});
26 
28 public:
30 
39  vector<fs::path> generateCommandsAPIDoc(
40  const fs::path &targetDirPath,
41  function<bool(const CscCommandDataTypeMetadata *commandSpec)> filter = [](auto commandSpec) { return true; }) const;
42 };
43 }
44 
45 #endif
conscience_core::bridging::commands::doc::generateCommandResultDoc
string generateCommandResultDoc(const CscCommandDataTypeMetadata *commandSpec, const CscCommandResultMetadata *resultMetadata, const CscCommandDocGenerationContext &context)
Definition: CscCommandsDocGenerator.cpp:223
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:34
conscience_core::bridging::commands::CscCommandDataTypeMetadata
Definition: CommandParamsSpec.h:293
conscience_core::bridging::commands::doc::CscCommandDocGenerationContext
Definition: CscCommandsDocGenerator.h:17
conscience_core::bridging::commands::result::ENUM
ENUM(CscCommandResultType, RESULT_NONE, RESULT_SEQUENCE, RESULT_POSITIONS, RESULT_FILE, RESULT_STRING, RESULT_BINARY, RESULT_OBJECT, RESULT_LIST, RESULT_BOOL, RESULT_LONG, RESULT_UNSIGNEDLONG, RESULT_DOUBLEFLOAT)
conscience_core::bridging::commands::doc::CscCommandsDocGenerator
Definition: CscCommandsDocGenerator.h:27
conscience_core::bridging::commands::result
Definition: CscCommandMetadataBuilder.h:26
conscience_core::bridging::commands::doc::generateCommandFormatDoc
string generateCommandFormatDoc(const CscCommandDataTypeMetadata *commandSpec, const CscCommandDocGenerationContext &context)
Definition: CscCommandsDocGenerator.cpp:446
conscience_core::bridging::commands::doc
Definition: CscCommandsDocGenerator.cpp:6
conscience_core::bridging::commands::result::CscCommandResultMetadata
Definition: CommandResultSpec.h:17
CscCommon.h
conscience_core::bridging::commands::doc::appendCommandDocumentation
void appendCommandDocumentation(const CscCommandDataTypeMetadata *commandSpec, string &targetString, map< string, const CscCommandResultMetadata * > resultsMetadata, const CscCommandDocGenerationContext &context)
Definition: CscCommandsDocGenerator.cpp:332
conscience_core::bridging::commands::doc::logCommandDocumentation
void logCommandDocumentation(const string &commandId, const CscCommandDocGenerationContext &context)
Definition: CscCommandsDocGenerator.cpp:304
conscience_core::bridging::commands::doc::generateCommandStringPaddedWithExampleValues
string generateCommandStringPaddedWithExampleValues(const CscCommandDataTypeMetadata *commandSpec, const map< string, string > &specifiedValues, bool fillOptionalValues)
Definition: CscCommandsDocGenerator.cpp:430