|
|
@ -17,9 +17,11 @@ |
|
|
#include "core/hle/kernel/handle_table.h"
|
|
|
#include "core/hle/kernel/handle_table.h"
|
|
|
#include "core/hle/kernel/kernel.h"
|
|
|
#include "core/hle/kernel/kernel.h"
|
|
|
#include "core/hle/kernel/process.h"
|
|
|
#include "core/hle/kernel/process.h"
|
|
|
|
|
|
#include "core/hle/kernel/readable_event.h"
|
|
|
#include "core/hle/kernel/resource_limit.h"
|
|
|
#include "core/hle/kernel/resource_limit.h"
|
|
|
#include "core/hle/kernel/thread.h"
|
|
|
#include "core/hle/kernel/thread.h"
|
|
|
#include "core/hle/kernel/timer.h"
|
|
|
#include "core/hle/kernel/timer.h"
|
|
|
|
|
|
#include "core/hle/kernel/writable_event.h"
|
|
|
#include "core/hle/lock.h"
|
|
|
#include "core/hle/lock.h"
|
|
|
#include "core/hle/result.h"
|
|
|
#include "core/hle/result.h"
|
|
|
|
|
|
|
|
|
@ -175,6 +177,10 @@ struct KernelCore::Impl { |
|
|
// allowing us to simply use a pool index or similar.
|
|
|
// allowing us to simply use a pool index or similar.
|
|
|
Kernel::HandleTable thread_wakeup_callback_handle_table; |
|
|
Kernel::HandleTable thread_wakeup_callback_handle_table; |
|
|
|
|
|
|
|
|
|
|
|
/// Map of named events managed by the kernel, which are retrieved when HLE services need to
|
|
|
|
|
|
/// return an event to the system.
|
|
|
|
|
|
NamedEventTable named_events; |
|
|
|
|
|
|
|
|
/// Map of named ports managed by the kernel, which can be retrieved using
|
|
|
/// Map of named ports managed by the kernel, which can be retrieved using
|
|
|
/// the ConnectToPort SVC.
|
|
|
/// the ConnectToPort SVC.
|
|
|
NamedPortTable named_ports; |
|
|
NamedPortTable named_ports; |
|
|
@ -221,6 +227,19 @@ const Process* KernelCore::CurrentProcess() const { |
|
|
return impl->current_process; |
|
|
return impl->current_process; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void KernelCore::AddNamedEvent(std::string name, SharedPtr<ReadableEvent> event) { |
|
|
|
|
|
impl->named_events.emplace(std::move(name), std::move(event)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
KernelCore::NamedEventTable::iterator KernelCore::FindNamedEvent(const std::string& name) { |
|
|
|
|
|
return impl->named_events.find(name); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
KernelCore::NamedEventTable::const_iterator KernelCore::FindNamedEvent( |
|
|
|
|
|
const std::string& name) const { |
|
|
|
|
|
return impl->named_events.find(name); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void KernelCore::AddNamedPort(std::string name, SharedPtr<ClientPort> port) { |
|
|
void KernelCore::AddNamedPort(std::string name, SharedPtr<ClientPort> port) { |
|
|
impl->named_ports.emplace(std::move(name), std::move(port)); |
|
|
impl->named_ports.emplace(std::move(name), std::move(port)); |
|
|
} |
|
|
} |
|
|
|