diff options
author | bunnei <bunneidev@gmail.com> | 2019-05-30 13:26:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-30 13:26:40 -0400 |
commit | ed74a3cb8b69841bd34344b1387320c0d8912979 (patch) | |
tree | f914218f6a5965ad6c47bd9acab096ab22356d5d /src/common/uuid.cpp | |
parent | 75561d190a67005b5c970747d59942174cc0d572 (diff) | |
parent | 4e462d1fd7cbd127eb64de084a97167e586957d3 (diff) |
Merge pull request #1931 from DarkLordZach/mii-database-1
mii: Implement MiiManager backend and several mii service commands
Diffstat (limited to 'src/common/uuid.cpp')
-rw-r--r-- | src/common/uuid.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/common/uuid.cpp b/src/common/uuid.cpp new file mode 100644 index 0000000000..26db03fbab --- /dev/null +++ b/src/common/uuid.cpp @@ -0,0 +1,33 @@ +// Copyright 2018 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <random> + +#include <fmt/format.h> + +#include "common/uuid.h" + +namespace Common { + +UUID UUID::Generate() { + std::random_device device; + std::mt19937 gen(device()); + std::uniform_int_distribution<u64> distribution(1, std::numeric_limits<u64>::max()); + return UUID{distribution(gen), distribution(gen)}; +} + +std::string UUID::Format() const { + return fmt::format("0x{:016X}{:016X}", uuid[1], uuid[0]); +} + +std::string UUID::FormatSwitch() const { + std::array<u8, 16> s{}; + std::memcpy(s.data(), uuid.data(), sizeof(u128)); + return fmt::format("{:02x}{:02x}{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{" + ":02x}{:02x}{:02x}{:02x}{:02x}", + s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9], s[10], s[11], + s[12], s[13], s[14], s[15]); +} + +} // namespace Common |