ns: rewrite IServiceGetterInterface

This commit is contained in:
Liam 2024-02-17 14:34:13 -05:00
parent ddeb9191f4
commit 81a1a3f7f1
7 changed files with 192 additions and 109 deletions

View file

@ -3,33 +3,12 @@
#pragma once
#include "core/hle/service/service.h"
namespace Core {
class System;
}
namespace Service::NS {
class IApplicationManagerInterface;
class NS final : public ServiceFramework<NS> {
public:
explicit NS(const char* name, Core::System& system_);
~NS() override;
std::shared_ptr<IApplicationManagerInterface> GetApplicationManagerInterface() const;
private:
template <typename T, typename... Args>
void PushInterface(HLERequestContext& ctx);
void PushIApplicationManagerInterface(HLERequestContext& ctx);
template <typename T, typename... Args>
std::shared_ptr<T> GetInterface(Args&&... args) const;
};
void LoopProcess(Core::System& system);
} // namespace Service::NS