Documented most of the still relevant tools

This commit is contained in:
2023-03-01 10:12:20 -08:00
parent b9625e7f14
commit 8cc122d97c
11 changed files with 225 additions and 50 deletions

View File

@@ -20,11 +20,37 @@ namespace Dawn {
std::vector<std::string> args;
std::map<std::string, std::string> flags;
/**
* Get the required flags for this tool. These flags will be checked in
* the passed args to the CLI.
*
* @return Array of required flags.
*/
virtual std::vector<std::string> getRequiredFlags();
/**
* Get the optional flags for this tool. Mapped by key value pair where
* the value is some default value you want for your tool.
*
* @return Array of optional flags.
*/
virtual std::map<std::string, std::string> getOptionalFlags();
public:
/**
* Execute the Dawn Tool from the CLI, functionally identically to main()
*
* @param argc Count of arguments in the array.
* @param argv Array of arguments.
* @return int32_t
*/
int32_t exec(const int32_t argc, const char *argv[]);
/**
* Overridable start method after the tool has been set up.
*
* @return 0 for success, otherwise for failure.
*/
virtual int32_t start() = 0;
};
}