diff options
author | bunnei <bunneidev@gmail.com> | 2018-09-04 03:21:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-04 03:21:12 +0200 |
commit | 1c5636e690ca5844b396f97adc0a094558edc56f (patch) | |
tree | ed961ced2f21050de5af02bd5724aaa7de37d36e /src/core/hle/kernel/kernel.h | |
parent | Merge pull request #1229 from lioncash/forward-decl (diff) | |
parent | service: Migrate global named port map to the KernelCore class (diff) | |
download | yuzu-1c5636e690ca5844b396f97adc0a094558edc56f.tar yuzu-1c5636e690ca5844b396f97adc0a094558edc56f.tar.gz yuzu-1c5636e690ca5844b396f97adc0a094558edc56f.tar.bz2 yuzu-1c5636e690ca5844b396f97adc0a094558edc56f.tar.lz yuzu-1c5636e690ca5844b396f97adc0a094558edc56f.tar.xz yuzu-1c5636e690ca5844b396f97adc0a094558edc56f.tar.zst yuzu-1c5636e690ca5844b396f97adc0a094558edc56f.zip |
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r-- | src/core/hle/kernel/kernel.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index 089e959ac..ab2e9bffa 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -4,6 +4,8 @@ #pragma once +#include <string> +#include <unordered_map> #include "core/hle/kernel/object.h" template <typename T> @@ -15,6 +17,7 @@ struct EventType; namespace Kernel { +class ClientPort; class HandleTable; class Process; class ResourceLimit; @@ -25,6 +28,9 @@ enum class ResourceLimitCategory : u8; /// Represents a single instance of the kernel. class KernelCore { +private: + using NamedPortTable = std::unordered_map<std::string, SharedPtr<ClientPort>>; + public: KernelCore(); ~KernelCore(); @@ -59,6 +65,18 @@ public: /// Adds the given shared pointer to an internal list of active processes. void AppendNewProcess(SharedPtr<Process> process); + /// Adds a port to the named port table + void AddNamedPort(std::string name, SharedPtr<ClientPort> port); + + /// Finds a port within the named port table with the given name. + NamedPortTable::iterator FindNamedPort(const std::string& name); + + /// Finds a port within the named port table with the given name. + NamedPortTable::const_iterator FindNamedPort(const std::string& name) const; + + /// Determines whether or not the given port is a valid named port. + bool IsValidNamedPort(NamedPortTable::const_iterator port) const; + private: friend class Object; friend class Process; |