core/core: Remove unnecessary sm/controller include

The only reason this include was necessary, was because the constructor
wasn't defaulted in the cpp file and the compiler would inline it
wherever it was used. However, given Controller is forward declared, all
those inlined constructors would see an incomplete type, causing a
compilation failure. So, we just place the constructor in the cpp file,
where it can see the complete type definition, allowing us to remove
this include.
This commit is contained in:
Lioncash 2018-09-06 14:32:25 -04:00
parent fbaefc47a0
commit 56ab608044
5 changed files with 5 additions and 2 deletions

View File

@ -24,7 +24,6 @@
#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/service.h" #include "core/hle/service/service.h"
#include "core/hle/service/sm/controller.h"
#include "core/hle/service/sm/sm.h" #include "core/hle/service/sm/sm.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
#include "core/perf_stats.h" #include "core/perf_stats.h"

View File

@ -57,4 +57,6 @@ Controller::Controller() : ServiceFramework("IpcController") {
RegisterHandlers(functions); RegisterHandlers(functions);
} }
Controller::~Controller() = default;
} // namespace Service::SM } // namespace Service::SM

View File

@ -11,7 +11,7 @@ namespace Service::SM {
class Controller final : public ServiceFramework<Controller> { class Controller final : public ServiceFramework<Controller> {
public: public:
Controller(); Controller();
~Controller() = default; ~Controller() override;
private: private:
void ConvertSessionToDomain(Kernel::HLERequestContext& ctx); void ConvertSessionToDomain(Kernel::HLERequestContext& ctx);

View File

@ -15,6 +15,7 @@
namespace Service::SM { namespace Service::SM {
ServiceManager::ServiceManager() = default;
ServiceManager::~ServiceManager() = default; ServiceManager::~ServiceManager() = default;
void ServiceManager::InvokeControlRequest(Kernel::HLERequestContext& context) { void ServiceManager::InvokeControlRequest(Kernel::HLERequestContext& context) {

View File

@ -46,6 +46,7 @@ class ServiceManager {
public: public:
static void InstallInterfaces(std::shared_ptr<ServiceManager> self); static void InstallInterfaces(std::shared_ptr<ServiceManager> self);
ServiceManager();
~ServiceManager(); ~ServiceManager();
ResultVal<Kernel::SharedPtr<Kernel::ServerPort>> RegisterService(std::string name, ResultVal<Kernel::SharedPtr<Kernel::ServerPort>> RegisterService(std::string name,