Stub play reporting services

This commit is contained in:
Billy Laws 2020-07-09 14:41:30 +01:00 committed by ◱ PixelyIon
parent 378e494d82
commit 2e60b5e60d
5 changed files with 41 additions and 0 deletions

View File

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

View File

@ -80,6 +80,7 @@ namespace skyline::service {
nifm_IRequest, nifm_IRequest,
socket_IClient, socket_IClient,
ssl_ISslService, ssl_ISslService,
prepo_IPrepoService
}; };
/** /**
@ -119,6 +120,7 @@ namespace skyline::service {
{"nifm:u", Service::nifm_IStaticService}, {"nifm:u", Service::nifm_IStaticService},
{"bsd:u", Service::socket_IClient}, {"bsd:u", Service::socket_IClient},
{"ssl", Service::ssl_ISslService}, {"ssl", Service::ssl_ISslService},
{"prepo:u", Service::prepo_IPrepoService}
}; };
class ServiceManager; class ServiceManager;

View File

@ -0,0 +1,12 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/)
#include "IPrepoService.h"
namespace skyline::service::prepo {
IPrepoService::IPrepoService(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::prepo_IPrepoService, "prepo:IPrepoService", {
{0x2775, SFUNC(IPrepoService::SaveReportWithUser)},
}) {}
void IPrepoService::SaveReportWithUser(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::prepo {
/**
* @brief IPrepoService or prepo:u is used by applications to store statistics (https://switchbrew.org/wiki/BCAT_services#prepo:a.2C_prepo:a2.2C_prepo:m.2C_prepo:u.2C_prepo:s)
*/
class IPrepoService : public BaseService {
public:
IPrepoService(const DeviceState &state, ServiceManager &manager);
/**
* @brief This saves a play report for the given user
*/
void SaveReportWithUser(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
};
}

View File

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