summaryrefslogtreecommitdiffstats
path: root/src/core/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 92ba42fb9..4d0ac72a5 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -35,6 +35,7 @@
#include "core/hle/service/apm/controller.h"
#include "core/hle/service/filesystem/filesystem.h"
#include "core/hle/service/glue/manager.h"
+#include "core/hle/service/lm/manager.h"
#include "core/hle/service/service.h"
#include "core/hle/service/sm/sm.h"
#include "core/loader/loader.h"
@@ -111,7 +112,8 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs,
}
struct System::Impl {
explicit Impl(System& system)
- : kernel{system}, cpu_core_manager{system}, applet_manager{system}, reporter{system} {}
+ : kernel{system}, fs_controller{system}, cpu_core_manager{system},
+ applet_manager{system}, reporter{system} {}
Cpu& CurrentCpuCore() {
return cpu_core_manager.GetCurrentCore();
@@ -249,6 +251,8 @@ struct System::Impl {
telemetry_session->AddField(Telemetry::FieldType::Performance, "Mean_Frametime_MS",
perf_stats->GetMeanFrametime());
+ lm_manager.Flush();
+
is_powered_on = false;
exit_lock = false;
@@ -337,8 +341,10 @@ struct System::Impl {
bool is_powered_on = false;
bool exit_lock = false;
+ Reporter reporter;
std::unique_ptr<Memory::CheatEngine> cheat_engine;
std::unique_ptr<Tools::Freezer> memory_freezer;
+ std::array<u8, 0x20> build_id{};
/// Frontend applets
Service::AM::Applets::AppletManager applet_manager;
@@ -346,8 +352,9 @@ struct System::Impl {
/// APM (Performance) services
Service::APM::Controller apm_controller{core_timing};
- /// Glue services
+ /// Service State
Service::Glue::ARPManager arp_manager;
+ Service::LM::Manager lm_manager{reporter};
/// Service manager
std::shared_ptr<Service::SM::ServiceManager> service_manager;
@@ -355,8 +362,6 @@ struct System::Impl {
/// Telemetry session for this emulation session
std::unique_ptr<Core::TelemetrySession> telemetry_session;
- Reporter reporter;
-
ResultStatus status = ResultStatus::Success;
std::string status_details = "";
@@ -632,6 +637,14 @@ const Service::APM::Controller& System::GetAPMController() const {
return impl->apm_controller;
}
+Service::LM::Manager& System::GetLogManager() {
+ return impl->lm_manager;
+}
+
+const Service::LM::Manager& System::GetLogManager() const {
+ return impl->lm_manager;
+}
+
void System::SetExitLock(bool locked) {
impl->exit_lock = locked;
}
@@ -640,6 +653,14 @@ bool System::GetExitLock() const {
return impl->exit_lock;
}
+void System::SetCurrentProcessBuildID(const CurrentBuildProcessID& id) {
+ impl->build_id = id;
+}
+
+const System::CurrentBuildProcessID& System::GetCurrentProcessBuildID() const {
+ return impl->build_id;
+}
+
System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) {
return impl->Init(*this, emu_window);
}