forked from ShuriZma/suyu
1
0
Fork 0

core: Keep instance of APM Controller

This commit is contained in:
Zach Hilman 2019-06-28 22:46:31 -04:00
parent e52306ca60
commit e2ad3e1fb0
2 changed files with 20 additions and 0 deletions

View File

@ -25,6 +25,7 @@
#include "core/hle/kernel/scheduler.h" #include "core/hle/kernel/scheduler.h"
#include "core/hle/kernel/thread.h" #include "core/hle/kernel/thread.h"
#include "core/hle/service/am/applets/applets.h" #include "core/hle/service/am/applets/applets.h"
#include "core/hle/service/apm/controller.h"
#include "core/hle/service/glue/manager.h" #include "core/hle/service/glue/manager.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
#include "core/hle/service/sm/sm.h" #include "core/hle/service/sm/sm.h"
@ -304,6 +305,9 @@ struct System::Impl {
/// Frontend applets /// Frontend applets
Service::AM::Applets::AppletManager applet_manager; Service::AM::Applets::AppletManager applet_manager;
/// APM (Performance) services
Service::APM::Controller apm_controller{core_timing};
/// Glue services /// Glue services
Service::Glue::ARPManager arp_manager; Service::Glue::ARPManager arp_manager;
@ -566,6 +570,14 @@ const Service::Glue::ARPManager& System::GetARPManager() const {
return impl->arp_manager; return impl->arp_manager;
} }
Service::APM::Controller& System::GetAPMController() {
return impl->apm_controller;
}
const Service::APM::Controller& System::GetAPMController() const {
return impl->apm_controller;
}
System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) {
return impl->Init(*this, emu_window); return impl->Init(*this, emu_window);
} }

View File

@ -43,6 +43,10 @@ struct AppletFrontendSet;
class AppletManager; class AppletManager;
} // namespace AM::Applets } // namespace AM::Applets
namespace APM {
class Controller;
}
namespace Glue { namespace Glue {
class ARPManager; class ARPManager;
} }
@ -296,6 +300,10 @@ public:
const Service::Glue::ARPManager& GetARPManager() const; const Service::Glue::ARPManager& GetARPManager() const;
Service::APM::Controller& GetAPMController();
const Service::APM::Controller& GetAPMController() const;
private: private:
System(); System();