|
|
|
@ -96,6 +96,48 @@ public: |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
class IGeneralService final : public ServiceFramework<IGeneralService> { |
|
|
|
public: |
|
|
|
IGeneralService(); |
|
|
|
|
|
|
|
private: |
|
|
|
void GetClientId(Kernel::HLERequestContext& ctx) { |
|
|
|
LOG_WARNING(Service_NIFM, "(STUBBED) called"); |
|
|
|
IPC::ResponseBuilder rb{ctx, 4}; |
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.Push<u64>(0); |
|
|
|
} |
|
|
|
void CreateScanRequest(Kernel::HLERequestContext& ctx) { |
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
|
|
|
|
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.PushIpcInterface<IScanRequest>(); |
|
|
|
|
|
|
|
LOG_DEBUG(Service_NIFM, "called"); |
|
|
|
} |
|
|
|
void CreateRequest(Kernel::HLERequestContext& ctx) { |
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
|
|
|
|
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.PushIpcInterface<IRequest>(); |
|
|
|
|
|
|
|
LOG_DEBUG(Service_NIFM, "called"); |
|
|
|
} |
|
|
|
void RemoveNetworkProfile(Kernel::HLERequestContext& ctx) { |
|
|
|
LOG_WARNING(Service_NIFM, "(STUBBED) called"); |
|
|
|
IPC::ResponseBuilder rb{ctx, 2}; |
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
} |
|
|
|
void CreateTemporaryNetworkProfile(Kernel::HLERequestContext& ctx) { |
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
|
|
|
|
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.PushIpcInterface<INetworkProfile>(); |
|
|
|
|
|
|
|
LOG_DEBUG(Service_NIFM, "called"); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
IGeneralService::IGeneralService() : ServiceFramework("IGeneralService") { |
|
|
|
static const FunctionInfo functions[] = { |
|
|
|
{1, &IGeneralService::GetClientId, "GetClientId"}, |
|
|
|
@ -137,50 +179,28 @@ IGeneralService::IGeneralService() : ServiceFramework("IGeneralService") { |
|
|
|
RegisterHandlers(functions); |
|
|
|
} |
|
|
|
|
|
|
|
void IGeneralService::GetClientId(Kernel::HLERequestContext& ctx) { |
|
|
|
LOG_WARNING(Service_NIFM, "(STUBBED) called"); |
|
|
|
IPC::ResponseBuilder rb{ctx, 4}; |
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.Push<u64>(0); |
|
|
|
} |
|
|
|
|
|
|
|
void IGeneralService::CreateScanRequest(Kernel::HLERequestContext& ctx) { |
|
|
|
void Module::Interface::CreateGeneralServiceOld(Kernel::HLERequestContext& ctx) { |
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
|
|
|
|
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.PushIpcInterface<IScanRequest>(); |
|
|
|
|
|
|
|
rb.PushIpcInterface<IGeneralService>(); |
|
|
|
LOG_DEBUG(Service_NIFM, "called"); |
|
|
|
} |
|
|
|
|
|
|
|
void IGeneralService::CreateRequest(Kernel::HLERequestContext& ctx) { |
|
|
|
void Module::Interface::CreateGeneralService(Kernel::HLERequestContext& ctx) { |
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
|
|
|
|
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.PushIpcInterface<IRequest>(); |
|
|
|
|
|
|
|
rb.PushIpcInterface<IGeneralService>(); |
|
|
|
LOG_DEBUG(Service_NIFM, "called"); |
|
|
|
} |
|
|
|
|
|
|
|
void IGeneralService::RemoveNetworkProfile(Kernel::HLERequestContext& ctx) { |
|
|
|
LOG_WARNING(Service_NIFM, "(STUBBED) called"); |
|
|
|
IPC::ResponseBuilder rb{ctx, 2}; |
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
} |
|
|
|
|
|
|
|
void IGeneralService::CreateTemporaryNetworkProfile(Kernel::HLERequestContext& ctx) { |
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
|
|
|
|
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.PushIpcInterface<INetworkProfile>(); |
|
|
|
|
|
|
|
LOG_DEBUG(Service_NIFM, "called"); |
|
|
|
} |
|
|
|
Module::Interface::Interface(std::shared_ptr<Module> module, const char* name) |
|
|
|
: ServiceFramework(name), module(std::move(module)) {} |
|
|
|
|
|
|
|
void InstallInterfaces(SM::ServiceManager& service_manager) { |
|
|
|
std::make_shared<NIFM_A>()->InstallAsService(service_manager); |
|
|
|
std::make_shared<NIFM_S>()->InstallAsService(service_manager); |
|
|
|
std::make_shared<NIFM_U>()->InstallAsService(service_manager); |
|
|
|
auto module = std::make_shared<Module>(); |
|
|
|
std::make_shared<NIFM_A>(module)->InstallAsService(service_manager); |
|
|
|
std::make_shared<NIFM_S>(module)->InstallAsService(service_manager); |
|
|
|
std::make_shared<NIFM_U>(module)->InstallAsService(service_manager); |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace NIFM
|
|
|
|
|