service: Add the erpt services
Adds the basic skeleton of the erpt service based off information on Switch Brew.
This commit is contained in:
parent
d245610939
commit
821f2c03cb
|
@ -136,6 +136,8 @@ add_library(core STATIC
|
||||||
hle/service/bcat/bcat.h
|
hle/service/bcat/bcat.h
|
||||||
hle/service/bcat/module.cpp
|
hle/service/bcat/module.cpp
|
||||||
hle/service/bcat/module.h
|
hle/service/bcat/module.h
|
||||||
|
hle/service/erpt/erpt.cpp
|
||||||
|
hle/service/erpt/erpt.h
|
||||||
hle/service/es/es.cpp
|
hle/service/es/es.cpp
|
||||||
hle/service/es/es.h
|
hle/service/es/es.h
|
||||||
hle/service/fatal/fatal.cpp
|
hle/service/fatal/fatal.cpp
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
// Copyright 2018 yuzu emulator team
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
#include "core/hle/service/erpt/erpt.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
#include "core/hle/service/sm/sm.h"
|
||||||
|
|
||||||
|
namespace Service::ERPT {
|
||||||
|
|
||||||
|
class ErrorReportContext final : public ServiceFramework<ErrorReportContext> {
|
||||||
|
public:
|
||||||
|
explicit ErrorReportContext() : ServiceFramework{"erpt:c"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, nullptr, "SubmitContext"},
|
||||||
|
{1, nullptr, "CreateReport"},
|
||||||
|
{2, nullptr, "Unknown1"},
|
||||||
|
{3, nullptr, "Unknown2"},
|
||||||
|
{4, nullptr, "Unknown3"},
|
||||||
|
{5, nullptr, "Unknown4"},
|
||||||
|
{6, nullptr, "Unknown5"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class ErrorReportSession final : public ServiceFramework<ErrorReportSession> {
|
||||||
|
public:
|
||||||
|
explicit ErrorReportSession() : ServiceFramework{"erpt:r"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, nullptr, "OpenReport"},
|
||||||
|
{1, nullptr, "OpenManager"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void InstallInterfaces(SM::ServiceManager& sm) {
|
||||||
|
std::make_shared<ErrorReportContext>()->InstallAsService(sm);
|
||||||
|
std::make_shared<ErrorReportSession>()->InstallAsService(sm);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::ERPT
|
|
@ -0,0 +1,16 @@
|
||||||
|
// Copyright 2018 yuzu emulator team
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace Service::SM {
|
||||||
|
class ServiceManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::ERPT {
|
||||||
|
|
||||||
|
/// Registers all ERPT services with the specified service manager.
|
||||||
|
void InstallInterfaces(SM::ServiceManager& sm);
|
||||||
|
|
||||||
|
} // namespace Service::ERPT
|
|
@ -21,6 +21,7 @@
|
||||||
#include "core/hle/service/apm/apm.h"
|
#include "core/hle/service/apm/apm.h"
|
||||||
#include "core/hle/service/audio/audio.h"
|
#include "core/hle/service/audio/audio.h"
|
||||||
#include "core/hle/service/bcat/bcat.h"
|
#include "core/hle/service/bcat/bcat.h"
|
||||||
|
#include "core/hle/service/erpt/erpt.h"
|
||||||
#include "core/hle/service/es/es.h"
|
#include "core/hle/service/es/es.h"
|
||||||
#include "core/hle/service/fatal/fatal.h"
|
#include "core/hle/service/fatal/fatal.h"
|
||||||
#include "core/hle/service/filesystem/filesystem.h"
|
#include "core/hle/service/filesystem/filesystem.h"
|
||||||
|
@ -188,6 +189,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) {
|
||||||
APM::InstallInterfaces(*sm);
|
APM::InstallInterfaces(*sm);
|
||||||
BCAT::InstallInterfaces(*sm);
|
BCAT::InstallInterfaces(*sm);
|
||||||
Audio::InstallInterfaces(*sm);
|
Audio::InstallInterfaces(*sm);
|
||||||
|
ERPT::InstallInterfaces(*sm);
|
||||||
ES::InstallInterfaces(*sm);
|
ES::InstallInterfaces(*sm);
|
||||||
Fatal::InstallInterfaces(*sm);
|
Fatal::InstallInterfaces(*sm);
|
||||||
FileSystem::InstallInterfaces(*sm);
|
FileSystem::InstallInterfaces(*sm);
|
||||||
|
|
Reference in New Issue