Add an empty ssl service implementation

This stubs a single function that is needed for SMO's init.
This commit is contained in:
Billy Laws 2020-07-09 14:38:18 +01:00 committed by ◱ PixelyIon
parent a2c6a2a4ff
commit 378e494d82
5 changed files with 41 additions and 0 deletions

View File

@ -123,6 +123,7 @@ add_library(skyline SHARED
${source_DIR}/skyline/services/nifm/IGeneralService.cpp
${source_DIR}/skyline/services/nifm/IRequest.cpp
${source_DIR}/skyline/services/socket/bsd/IClient.cpp
${source_DIR}/skyline/services/ssl/ISslService.cpp
${source_DIR}/skyline/vfs/partition_filesystem.cpp
${source_DIR}/skyline/vfs/rom_filesystem.cpp
${source_DIR}/skyline/vfs/os_backing.cpp

View File

@ -79,6 +79,7 @@ namespace skyline::service {
nifm_IGeneralService,
nifm_IRequest,
socket_IClient,
ssl_ISslService,
};
/**
@ -117,6 +118,7 @@ namespace skyline::service {
{"nfp:user", Service::nfp_IUserManager},
{"nifm:u", Service::nifm_IStaticService},
{"bsd:u", Service::socket_IClient},
{"ssl", Service::ssl_ISslService},
};
class ServiceManager;

View File

@ -25,6 +25,7 @@
#include "nfp/IUserManager.h"
#include "nifm/IStaticService.h"
#include "socket/bsd/IClient.h"
#include "ssl/ISslService.h"
#include "serviceman.h"
namespace skyline::service {
@ -106,6 +107,9 @@ namespace skyline::service {
case Service::socket_IClient:
serviceObj = std::make_shared<socket::IClient>(state, *this);
break;
case Service::ssl_ISslService:
serviceObj = std::make_shared<ssl::ISslService>(state, *this);
break;
default:
throw exception("CreateService called on missing object, type: {}", serviceType);
}

View File

@ -0,0 +1,12 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/)
#include "ISslService.h"
namespace skyline::service::ssl {
ISslService::ISslService(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::ssl_ISslService, "ssl:ISslService", {
{0x5, SFUNC(ISslService::SetInterfaceVersion)}
}) {}
void ISslService::SetInterfaceVersion(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {}
}

View File

@ -0,0 +1,22 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/)
#pragma once
#include <services/base_service.h>
#include <services/serviceman.h>
namespace skyline::service::ssl {
/**
* @brief ISslService or ssl is used by applications to manage SSL connections (https://switchbrew.org/wiki/SSL_services#ssl)
*/
class ISslService : public BaseService {
public:
ISslService(const DeviceState &state, ServiceManager &manager);
/**
* @brief This sets the SSL interface version (https://switchbrew.org/wiki/SSL_services#SetInterfaceVersion)
*/
void SetInterfaceVersion(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
};
}