From d1cfcdcb8909f35cdd1591dda099a5370648bbba Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Mon, 24 Feb 2025 11:49:56 +0100 Subject: ids: add generic interface function for creating a UUID --- src/buildtool/execution_api/common/ids.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/buildtool/execution_api/common/ids.hpp') diff --git a/src/buildtool/execution_api/common/ids.hpp b/src/buildtool/execution_api/common/ids.hpp index 0c5f689a..e4076226 100644 --- a/src/buildtool/execution_api/common/ids.hpp +++ b/src/buildtool/execution_api/common/ids.hpp @@ -129,4 +129,12 @@ static void EncodeUUIDVariant1(std::string* uuid) { return ss.str(); } +/// \brief Create a UUID for the current process +[[nodiscard]] static inline auto CreateUUID() -> std::string { + auto process_seed = CreateProcessUniqueId(); + // as CreateUUIDVersion4 still uses the process-specific random number, + // we can afford to use a constant seed. + return CreateUUIDVersion4(process_seed ? *process_seed : "unknown"); +} + #endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_IDS_HPP -- cgit v1.2.3