1
0
Fork 1
forked from suyu/suyu

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
// Refer to the license.txt file included.
#include <random>
#include <boost/optional.hpp>
#include "core/hle/service/acc/profile_manager.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_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() {
// TODO(ogniK): Create the default user we have for now until loading/saving users is added
auto user_uuid = UUID{1, 0};

View file

@ -5,7 +5,7 @@
#pragma once
#include <array>
#include <random>
#include "boost/optional.hpp"
#include "common/common_types.h"
#include "common/swap.h"
@ -38,15 +38,7 @@ struct UUID {
}
// TODO(ogniK): Properly generate uuids based on RFC-4122
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;
}
const UUID& Generate();
// Set the UUID to {0,0} to be considered an invalid user
void Invalidate() {