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,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};
 | 
			
		||||
 | 
			
		||||
@ -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() {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user