diff --git a/application.cpp b/application.cpp index 369872527..0f5e6a76b 100644 --- a/application.cpp +++ b/application.cpp @@ -25,6 +25,7 @@ class application_impl { bfs::path _data_dir; string _version; + uint64_t _version_int; }; application::application() @@ -38,10 +39,18 @@ void application::set_version(string version) { my->_version = version; } +void application::set_version(uint64_t version) { + my->_version_int = version; +} + string application::version() const { return my->_version; } +uint64_t application::version_int() const { + return my->_version_int; +} + void application::startup() { for (auto plugin : initialized_plugins) plugin->startup(); diff --git a/include/appbase/application.hpp b/include/appbase/application.hpp index e857de015..1d024f537 100644 --- a/include/appbase/application.hpp +++ b/include/appbase/application.hpp @@ -18,11 +18,21 @@ namespace appbase { * @param version Version string output verbatim with -v/--version */ void set_version(string version); + /** @overload + * + * @param version Integer version independent of the string output with -v/--version + */ + void set_version(uint64_t version); /** @brief Gets version string * * @return Version string output with -v/--version */ string version() const; + /** @brief Gets version integer + * + * @return Version integer independent of the string output with -v/--version + */ + uint64_t version_int() const; /** * @brief Looks for the --plugin commandline / config option and calls initialize on those plugins *