service: Add the erpt services

Adds the basic skeleton of the erpt service based off information on
Switch Brew.
This commit is contained in:
Lioncash 2018-07-25 19:04:31 -04:00
parent d245610939
commit 821f2c03cb
4 changed files with 71 additions and 0 deletions

View file

@ -136,6 +136,8 @@ add_library(core STATIC
hle/service/bcat/bcat.h
hle/service/bcat/module.cpp
hle/service/bcat/module.h
hle/service/erpt/erpt.cpp
hle/service/erpt/erpt.h
hle/service/es/es.cpp
hle/service/es/es.h
hle/service/fatal/fatal.cpp

View file

@ -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

View file

@ -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

View file

@ -21,6 +21,7 @@
#include "core/hle/service/apm/apm.h"
#include "core/hle/service/audio/audio.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/fatal/fatal.h"
#include "core/hle/service/filesystem/filesystem.h"
@ -188,6 +189,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) {
APM::InstallInterfaces(*sm);
BCAT::InstallInterfaces(*sm);
Audio::InstallInterfaces(*sm);
ERPT::InstallInterfaces(*sm);
ES::InstallInterfaces(*sm);
Fatal::InstallInterfaces(*sm);
FileSystem::InstallInterfaces(*sm);