diff options
Diffstat (limited to 'server/src/macrolist.h')
-rw-r--r-- | server/src/macrolist.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/server/src/macrolist.h b/server/src/macrolist.h index 328e522..9b9b0d2 100644 --- a/server/src/macrolist.h +++ b/server/src/macrolist.h @@ -32,13 +32,38 @@ #include <string> #include "versionstr.h" +#include "exception.h" + +/** + * The Items contained in the MacroList. + */ typedef std::map<VersionStr, std::string> MacroListItem; +/** + * The MacroList class is intended for macro file caching, so that all macros + * do not need to be parsed on each macro query. + * It builds a list of macros and versions based on the informations read from + * the MacroHeaderParser. + * This means that just because a macro gets into the list doesn't means that it + * will validate as a correct macro (not even nessecarily correct XML). + */ class MacroList : public std::map<std::string, MacroListItem > { public: + /** + * Constructor. + * @param macropath A std::string containing the path in which we should look + * for xml files. + */ MacroList(std::string macropath); - - std::string getLatestVersion(std::string macro); + + /** + * Convenience method, to gain the filename of the latest version of a given macro. + * This method throws an Exception if the macro does not exist in the tree. + * @param macro A std::string containing the name of the wanted macro. + * @return A std::string containing the file containing the macro with full path + * included. + */ + std::string getLatestVersion(std::string macro) throw(Exception); private: std::string macropath; |