yuzu-emu
/
yuzu-android
Archived
1
0
Fork 0

profile_manager: Move UUID generation function to the cpp file

This avoids needing to dump the contents of <random> into other files
that include the profile manager header.
This commit is contained in:
Lioncash 2018-08-20 17:24:13 -04:00
parent 9e9a4bb3a7
commit f13a66b963
2 changed files with 12 additions and 10 deletions

View File

@ -2,6 +2,7 @@
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include <random>
#include <boost/optional.hpp> #include <boost/optional.hpp>
#include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/acc/profile_manager.h"
#include "core/settings.h" #include "core/settings.h"
@ -12,6 +13,15 @@ constexpr ResultCode ERROR_TOO_MANY_USERS(ErrorModule::Account, -1);
constexpr ResultCode ERROR_USER_ALREADY_EXISTS(ErrorModule::Account, -2); constexpr ResultCode ERROR_USER_ALREADY_EXISTS(ErrorModule::Account, -2);
constexpr ResultCode ERROR_ARGUMENT_IS_NULL(ErrorModule::Account, 20); constexpr ResultCode ERROR_ARGUMENT_IS_NULL(ErrorModule::Account, 20);
const UUID& UUID::Generate() {
std::random_device device;
std::mt19937 gen(device());
std::uniform_int_distribution<u64> distribution(1, std::numeric_limits<u64>::max());
uuid[0] = distribution(gen);
uuid[1] = distribution(gen);
return *this;
}
ProfileManager::ProfileManager() { ProfileManager::ProfileManager() {
// TODO(ogniK): Create the default user we have for now until loading/saving users is added // TODO(ogniK): Create the default user we have for now until loading/saving users is added
auto user_uuid = UUID{1, 0}; auto user_uuid = UUID{1, 0};

View File

@ -5,7 +5,7 @@
#pragma once #pragma once
#include <array> #include <array>
#include <random>
#include "boost/optional.hpp" #include "boost/optional.hpp"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/swap.h" #include "common/swap.h"
@ -38,15 +38,7 @@ struct UUID {
} }
// TODO(ogniK): Properly generate uuids based on RFC-4122 // TODO(ogniK): Properly generate uuids based on RFC-4122
const UUID& Generate() { const UUID& Generate();
std::random_device device;
std::mt19937 gen(device());
std::uniform_int_distribution<uint64_t> distribution(1,
std::numeric_limits<uint64_t>::max());
uuid[0] = distribution(gen);
uuid[1] = distribution(gen);
return *this;
}
// Set the UUID to {0,0} to be considered an invalid user // Set the UUID to {0,0} to be considered an invalid user
void Invalidate() { void Invalidate() {