service/mvd: Migrate to ServiceFramework (#3890)

* service/mvd: Migrate to ServiceFramework

* service/mvd: Silenced clang format
This commit is contained in:
NarcolepticK 2018-06-29 04:14:49 -04:00 committed by Weiyi Wang
parent 3e42b361b1
commit db75b80e22
5 changed files with 28 additions and 29 deletions

View File

@ -4,13 +4,12 @@
#include "core/hle/service/mvd/mvd.h" #include "core/hle/service/mvd/mvd.h"
#include "core/hle/service/mvd/mvd_std.h" #include "core/hle/service/mvd/mvd_std.h"
#include "core/hle/service/service.h"
namespace Service { namespace Service {
namespace MVD { namespace MVD {
void Init() { void InstallInterfaces(SM::ServiceManager& service_manager) {
AddService(new MVD_STD()); std::make_shared<MVD_STD>()->InstallAsService(service_manager);
} }
} // namespace MVD } // namespace MVD

View File

@ -4,11 +4,13 @@
#pragma once #pragma once
#include "core/hle/service/service.h"
namespace Service { namespace Service {
namespace MVD { namespace MVD {
/// Initializes all MVD services. /// Initializes all MVD services.
void Init(); void InstallInterfaces(SM::ServiceManager& service_manager);
} // namespace MVD } // namespace MVD
} // namespace Service } // namespace Service

View File

@ -2,31 +2,32 @@
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include "core/hle/ipc_helpers.h"
#include "core/hle/service/mvd/mvd_std.h" #include "core/hle/service/mvd/mvd_std.h"
namespace Service { namespace Service {
namespace MVD { namespace MVD {
const Interface::FunctionInfo FunctionTable[] = { MVD_STD::MVD_STD() : ServiceFramework("mvd:std", 1) {
// clang-format off static const FunctionInfo functions[] = {
{0x00010082, nullptr, "Initialize"}, // clang-format off
{0x00020000, nullptr, "Shutdown"}, {0x00010082, nullptr, "Initialize"},
{0x00030300, nullptr, "CalculateWorkBufSize"}, {0x00020000, nullptr, "Shutdown"},
{0x000400C0, nullptr, "CalculateImageSize"}, {0x00030300, nullptr, "CalculateWorkBufSize"},
{0x00080142, nullptr, "ProcessNALUnit"}, {0x000400C0, nullptr, "CalculateImageSize"},
{0x00090042, nullptr, "ControlFrameRendering"}, {0x00080142, nullptr, "ProcessNALUnit"},
{0x000A0000, nullptr, "GetStatus"}, {0x00090042, nullptr, "ControlFrameRendering"},
{0x000B0000, nullptr, "GetStatusOther"}, {0x000A0000, nullptr, "GetStatus"},
{0x001D0042, nullptr, "GetConfig"}, {0x000B0000, nullptr, "GetStatusOther"},
{0x001E0044, nullptr, "SetConfig"}, {0x001D0042, nullptr, "GetConfig"},
{0x001F0902, nullptr, "SetOutputBuffer"}, {0x001E0044, nullptr, "SetConfig"},
{0x00210100, nullptr, "OverrideOutputBuffers"} {0x001F0902, nullptr, "SetOutputBuffer"},
// clang-format on {0x00210100, nullptr, "OverrideOutputBuffers"}
}; // clang-format on
};
MVD_STD::MVD_STD() { RegisterHandlers(functions);
Register(FunctionTable); };
}
} // namespace MVD } // namespace MVD
} // namespace Service } // namespace Service

View File

@ -9,13 +9,10 @@
namespace Service { namespace Service {
namespace MVD { namespace MVD {
class MVD_STD final : public Interface { class MVD_STD final : public ServiceFramework<MVD_STD> {
public: public:
MVD_STD(); MVD_STD();
~MVD_STD() = default;
std::string GetPortName() const override {
return "mvd:std";
}
}; };
} // namespace MVD } // namespace MVD

View File

@ -247,7 +247,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) {
GSP::InstallInterfaces(*sm); GSP::InstallInterfaces(*sm);
HID::InstallInterfaces(*sm); HID::InstallInterfaces(*sm);
IR::InstallInterfaces(*sm); IR::InstallInterfaces(*sm);
MVD::Init(); MVD::InstallInterfaces(*sm);
NDM::InstallInterfaces(*sm); NDM::InstallInterfaces(*sm);
NEWS::InstallInterfaces(*sm); NEWS::InstallInterfaces(*sm);
NFC::InstallInterfaces(*sm); NFC::InstallInterfaces(*sm);