citra-emu
/
citra-canary
Archived
1
0
Fork 0

Services/HLE: Convert the http:C service to the new service framework.

This commit is contained in:
B3n30 2018-07-21 18:48:57 -05:00 committed by Subv
parent 78685065cf
commit 28124c053a
3 changed files with 69 additions and 65 deletions

View File

@ -2,12 +2,15 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/ipc.h"
#include "core/hle/service/http_c.h"
namespace Service {
namespace HTTP {
const Interface::FunctionInfo FunctionTable[] = {
HTTP_C::HTTP_C() : ServiceFramework("http:C", 32) {
static const FunctionInfo functions[] = {
{0x00010044, nullptr, "Initialize"},
{0x00020082, nullptr, "CreateContext"},
{0x00030040, nullptr, "CloseContext"},
@ -47,6 +50,8 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00250080, nullptr, "AddDefaultCert"},
{0x00260080, nullptr, "SelectRootCertChain"},
{0x002700C4, nullptr, "SetClientCert"},
{0x00290080, nullptr, "SetClientCertContext"},
{0x002A0040, nullptr, "GetSSLError"},
{0x002B0080, nullptr, "SetSSLOpt"},
{0x002C0080, nullptr, "SetSSLClearOpt"},
{0x002D0000, nullptr, "CreateRootCertChain"},
@ -63,10 +68,11 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x003800C0, nullptr, "SetPostDataTypeSize"},
{0x00390000, nullptr, "Finalize"},
};
HTTP_C::HTTP_C() {
Register(FunctionTable);
RegisterHandlers(functions);
}
void InstallInterfaces(SM::ServiceManager& service_manager) {
std::make_shared<HTTP_C>()->InstallAsService(service_manager);
}
} // namespace HTTP
} // namespace Service

View File

@ -9,14 +9,12 @@
namespace Service {
namespace HTTP {
class HTTP_C final : public Interface {
class HTTP_C final : public ServiceFramework<HTTP_C> {
public:
HTTP_C();
std::string GetPortName() const override {
return "http:C";
}
};
void InstallInterfaces(SM::ServiceManager& service_manager);
} // namespace HTTP
} // namespace Service

View File

@ -256,7 +256,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) {
QTM::InstallInterfaces(*sm);
CSND::InstallInterfaces(*sm);
AddService(new HTTP::HTTP_C);
HTTP::InstallInterfaces(*sm);
PM::InstallInterfaces(*sm);
AddService(new SOC::SOC_U);
SSL::InstallInterfaces(*sm);