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:
parent
9e9a4bb3a7
commit
f13a66b963
2 changed files with 12 additions and 10 deletions
|
@ -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};
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
Loading…
Reference in a new issue