|
@@ -3,6 +3,8 @@
|
|
|
|
|
|
|
|
#pragma once
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
+#include <array>
|
|
|
|
|
+
|
|
|
#include "core/hle/kernel/k_auto_object.h"
|
|
#include "core/hle/kernel/k_auto_object.h"
|
|
|
#include "core/hle/kernel/k_event.h"
|
|
#include "core/hle/kernel/k_event.h"
|
|
|
#include "core/hle/kernel/k_memory_block.h"
|
|
#include "core/hle/kernel/k_memory_block.h"
|
|
@@ -52,8 +54,7 @@ public:
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
public:
|
|
public:
|
|
|
- explicit SessionMappings(KernelCore& kernel_)
|
|
|
|
|
- : kernel(kernel_), m_mappings(nullptr), m_num_send(), m_num_recv(), m_num_exch() {}
|
|
|
|
|
|
|
+ explicit SessionMappings(KernelCore& kernel_) : kernel(kernel_) {}
|
|
|
|
|
|
|
|
void Initialize() {}
|
|
void Initialize() {}
|
|
|
void Finalize();
|
|
void Finalize();
|
|
@@ -149,17 +150,15 @@ public:
|
|
|
|
|
|
|
|
private:
|
|
private:
|
|
|
KernelCore& kernel;
|
|
KernelCore& kernel;
|
|
|
- Mapping m_static_mappings[NumStaticMappings];
|
|
|
|
|
- Mapping* m_mappings;
|
|
|
|
|
- u8 m_num_send;
|
|
|
|
|
- u8 m_num_recv;
|
|
|
|
|
- u8 m_num_exch;
|
|
|
|
|
|
|
+ std::array<Mapping, NumStaticMappings> m_static_mappings;
|
|
|
|
|
+ Mapping* m_mappings{};
|
|
|
|
|
+ u8 m_num_send{};
|
|
|
|
|
+ u8 m_num_recv{};
|
|
|
|
|
+ u8 m_num_exch{};
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
public:
|
|
public:
|
|
|
- explicit KSessionRequest(KernelCore& kernel_)
|
|
|
|
|
- : KAutoObject(kernel_), m_mappings(kernel_), m_thread(nullptr), m_server(nullptr),
|
|
|
|
|
- m_event(nullptr) {}
|
|
|
|
|
|
|
+ explicit KSessionRequest(KernelCore& kernel_) : KAutoObject(kernel_), m_mappings(kernel_) {}
|
|
|
|
|
|
|
|
static KSessionRequest* Create(KernelCore& kernel) {
|
|
static KSessionRequest* Create(KernelCore& kernel) {
|
|
|
KSessionRequest* req = KSessionRequest::Allocate(kernel);
|
|
KSessionRequest* req = KSessionRequest::Allocate(kernel);
|
|
@@ -281,7 +280,7 @@ public:
|
|
|
|
|
|
|
|
private:
|
|
private:
|
|
|
// NOTE: This is public and virtual in Nintendo's kernel.
|
|
// NOTE: This is public and virtual in Nintendo's kernel.
|
|
|
- void Finalize() {
|
|
|
|
|
|
|
+ void Finalize() override {
|
|
|
m_mappings.Finalize();
|
|
m_mappings.Finalize();
|
|
|
|
|
|
|
|
if (m_thread) {
|
|
if (m_thread) {
|
|
@@ -297,11 +296,11 @@ private:
|
|
|
|
|
|
|
|
private:
|
|
private:
|
|
|
SessionMappings m_mappings;
|
|
SessionMappings m_mappings;
|
|
|
- KThread* m_thread;
|
|
|
|
|
- KProcess* m_server;
|
|
|
|
|
- KEvent* m_event;
|
|
|
|
|
- uintptr_t m_address;
|
|
|
|
|
- size_t m_size;
|
|
|
|
|
|
|
+ KThread* m_thread{};
|
|
|
|
|
+ KProcess* m_server{};
|
|
|
|
|
+ KEvent* m_event{};
|
|
|
|
|
+ uintptr_t m_address{};
|
|
|
|
|
+ size_t m_size{};
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
} // namespace Kernel
|
|
} // namespace Kernel
|