From 9bd189a1550a94b30faa72416a8e1a72edfdeae2 Mon Sep 17 00:00:00 2001
From: Hamish Milne <hamishmilne83@gmail.com>
Date: Sun, 29 Mar 2020 19:07:56 +0100
Subject: [PATCH] More cleaning up

---
 src/core/hle/kernel/process.h         | 3 ++-
 src/core/hle/service/am/am.h          | 1 -
 src/core/hle/service/cam/cam.cpp      | 2 ++
 src/core/hle/service/cam/cam.h        | 7 +------
 src/tests/core/hle/kernel/hle_ipc.cpp | 8 ++++----
 5 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h
index d9af80cd0..4eca568d9 100644
--- a/src/core/hle/kernel/process.h
+++ b/src/core/hle/kernel/process.h
@@ -11,9 +11,10 @@
 #include <string>
 #include <vector>
 #include <boost/container/static_vector.hpp>
+#include <boost/serialization/array.hpp>
 #include <boost/serialization/base_object.hpp>
-#include <boost/serialization/vector.hpp>
 #include <boost/serialization/string.hpp>
+#include <boost/serialization/vector.hpp>
 #include "common/bit_field.h"
 #include "common/common_types.h"
 #include "core/hle/kernel/handle_table.h"
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h
index deff326b7..25bd58265 100644
--- a/src/core/hle/service/am/am.h
+++ b/src/core/hle/service/am/am.h
@@ -155,7 +155,6 @@ std::string GetMediaTitlePath(Service::FS::MediaType media_type);
 class Module final {
 public:
     explicit Module(Core::System& system);
-    Module() = default;
     ~Module();
 
     class Interface : public ServiceFramework<Interface> {
diff --git a/src/core/hle/service/cam/cam.cpp b/src/core/hle/service/cam/cam.cpp
index bf4bdd9c5..e247d998f 100644
--- a/src/core/hle/service/cam/cam.cpp
+++ b/src/core/hle/service/cam/cam.cpp
@@ -21,6 +21,8 @@
 #include "core/memory.h"
 #include "core/settings.h"
 
+SERVICE_CONSTRUCT_IMPL(Service::CAM::Module)
+
 namespace Service::CAM {
 
 template <class Archive>
diff --git a/src/core/hle/service/cam/cam.h b/src/core/hle/service/cam/cam.h
index 375df2b20..04dc0e2ea 100644
--- a/src/core/hle/service/cam/cam.h
+++ b/src/core/hle/service/cam/cam.h
@@ -882,9 +882,4 @@ void InstallInterfaces(Core::System& system);
 
 } // namespace Service::CAM
 
-namespace boost::serialization {
-template <class Archive>
-void load_construct_data(Archive& ar, Service::CAM::Module* t, const unsigned int) {
-    ::new (t) Service::CAM::Module(Core::Global<Core::System>());
-}
-} // namespace boost::serialization
+SERVICE_CONSTRUCT(Service::CAM::Module)
diff --git a/src/tests/core/hle/kernel/hle_ipc.cpp b/src/tests/core/hle/kernel/hle_ipc.cpp
index 6c2a493bb..890343cd8 100644
--- a/src/tests/core/hle/kernel/hle_ipc.cpp
+++ b/src/tests/core/hle/kernel/hle_ipc.cpp
@@ -15,8 +15,6 @@
 #include "core/hle/kernel/process.h"
 #include "core/hle/kernel/server_session.h"
 
-SERIALIZE_EXPORT_IMPL(Kernel::SessionRequestHandler::SessionDataBase)
-
 namespace Kernel {
 
 static std::shared_ptr<Object> MakeObject(Kernel::KernelSystem& kernel) {
@@ -26,7 +24,8 @@ static std::shared_ptr<Object> MakeObject(Kernel::KernelSystem& kernel) {
 TEST_CASE("HLERequestContext::PopulateFromIncomingCommandBuffer", "[core][kernel]") {
     Core::Timing timing(1, 100);
     Memory::MemorySystem memory;
-    Kernel::KernelSystem kernel(memory, timing, [] {}, 0, 1, 0);
+    Kernel::KernelSystem kernel(
+        memory, timing, [] {}, 0, 1, 0);
     auto [server, client] = kernel.CreateSessionPair();
     HLERequestContext context(kernel, std::move(server), nullptr);
 
@@ -241,7 +240,8 @@ TEST_CASE("HLERequestContext::PopulateFromIncomingCommandBuffer", "[core][kernel
 TEST_CASE("HLERequestContext::WriteToOutgoingCommandBuffer", "[core][kernel]") {
     Core::Timing timing(1, 100);
     Memory::MemorySystem memory;
-    Kernel::KernelSystem kernel(memory, timing, [] {}, 0, 1, 0);
+    Kernel::KernelSystem kernel(
+        memory, timing, [] {}, 0, 1, 0);
     auto [server, client] = kernel.CreateSessionPair();
     HLERequestContext context(kernel, std::move(server), nullptr);