diff options
author | Matt Sandy <msandy@google.com> | 2023-10-04 21:30:02 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-10-04 21:30:02 +0000 |
commit | 2a43f726c4b901c30d3f3d09c5e448683158d0a7 (patch) | |
tree | d525ca1fb098af8336132b90711cf8f92f236bfb | |
parent | cc35158691c5439e031eda2512268096b123efbd (diff) | |
parent | 38c6446cee0a8f0bf38866b7d2d3316082e0903a (diff) | |
download | aemu-2a43f726c4b901c30d3f3d09c5e448683158d0a7.tar.gz |
Use Win32 API for UUID generation. am: 7d913617cf am: 38c6446cee
Original change: https://android-review.googlesource.com/c/platform/hardware/google/aemu/+/2763111
Change-Id: I94c4218b27a8df07e0ac31b60ffbae263cf9068f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | base/include/aemu/base/testing/TestTempDir.h | 41 |
1 files changed, 11 insertions, 30 deletions
diff --git a/base/include/aemu/base/testing/TestTempDir.h b/base/include/aemu/base/testing/TestTempDir.h index f2fdac3..96a60eb 100644 --- a/base/include/aemu/base/testing/TestTempDir.h +++ b/base/include/aemu/base/testing/TestTempDir.h @@ -39,6 +39,10 @@ #include <unistd.h> #endif +#if defined(_MSC_VER) || defined(_WIN32) +#include <rpc.h> +#endif + namespace android { namespace base { @@ -53,38 +57,15 @@ namespace base { // } // destructor removes temp directory and all files under it. #ifdef _MSC_VER -// From https://stackoverflow.com/questions/24365331/how-can-i-generate-uuid-in-c-without-using-boost-library namespace uuid { - static std::random_device rd; - static std::mt19937 gen(rd()); - static std::uniform_int_distribution<> dis(0, 15); - static std::uniform_int_distribution<> dis2(8, 11); - static inline std::string generate_uuid_v4() { - std::stringstream ss; - int i; - ss << std::hex; - for (i = 0; i < 8; i++) { - ss << dis(gen); - } - ss << "-"; - for (i = 0; i < 4; i++) { - ss << dis(gen); - } - ss << "-4"; - for (i = 0; i < 3; i++) { - ss << dis(gen); - } - ss << "-"; - ss << dis2(gen); - for (i = 0; i < 3; i++) { - ss << dis(gen); - } - ss << "-"; - for (i = 0; i < 12; i++) { - ss << dis(gen); - }; - return ss.str(); + UUID uuid{}; + UuidCreate(&uuid); + RPC_CSTR str{}; + UuidToStringA(&uuid, &str); + std::string ret = reinterpret_cast<char*>(str); + RpcStringFreeA(&str); + return ret; } } #endif |