mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-12-02 11:42:47 +01:00
service: Add the basic skeleton for the NPNS services
This commit is contained in:
parent
981faea4d6
commit
ca5a93167e
4 changed files with 109 additions and 2 deletions
|
@ -282,6 +282,8 @@ add_library(core STATIC
|
||||||
hle/service/nifm/nifm.h
|
hle/service/nifm/nifm.h
|
||||||
hle/service/nim/nim.cpp
|
hle/service/nim/nim.cpp
|
||||||
hle/service/nim/nim.h
|
hle/service/nim/nim.h
|
||||||
|
hle/service/npns/npns.cpp
|
||||||
|
hle/service/npns/npns.h
|
||||||
hle/service/ns/ns.cpp
|
hle/service/ns/ns.cpp
|
||||||
hle/service/ns/ns.h
|
hle/service/ns/ns.h
|
||||||
hle/service/ns/pl_u.cpp
|
hle/service/ns/pl_u.cpp
|
||||||
|
|
88
src/core/hle/service/npns/npns.cpp
Normal file
88
src/core/hle/service/npns/npns.cpp
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
// 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/npns/npns.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
#include "core/hle/service/sm/sm.h"
|
||||||
|
|
||||||
|
namespace Service::NPNS {
|
||||||
|
|
||||||
|
class NPNS_S final : public ServiceFramework<NPNS_S> {
|
||||||
|
public:
|
||||||
|
explicit NPNS_S() : ServiceFramework{"npns:s"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{1, nullptr, "ListenAll"},
|
||||||
|
{2, nullptr, "ListenTo"},
|
||||||
|
{3, nullptr, "Receive"},
|
||||||
|
{4, nullptr, "ReceiveRaw"},
|
||||||
|
{5, nullptr, "GetReceiveEvent"},
|
||||||
|
{6, nullptr, "ListenUndelivered"},
|
||||||
|
{7, nullptr, "GetStateChangeEVent"},
|
||||||
|
{11, nullptr, "SubscribeTopic"},
|
||||||
|
{12, nullptr, "UnsubscribeTopic"},
|
||||||
|
{13, nullptr, "QueryIsTopicExist"},
|
||||||
|
{21, nullptr, "CreateToken"},
|
||||||
|
{22, nullptr, "CreateTokenWithApplicationId"},
|
||||||
|
{23, nullptr, "DestroyToken"},
|
||||||
|
{24, nullptr, "DestroyTokenWithApplicationId"},
|
||||||
|
{25, nullptr, "QueryIsTokenValid"},
|
||||||
|
{31, nullptr, "UploadTokenToBaaS"},
|
||||||
|
{32, nullptr, "DestroyTokenForBaaS"},
|
||||||
|
{33, nullptr, "CreateTokenForBaaS"},
|
||||||
|
{34, nullptr, "SetBaaSDeviceAccountIdList"},
|
||||||
|
{101, nullptr, "Suspend"},
|
||||||
|
{102, nullptr, "Resume"},
|
||||||
|
{103, nullptr, "GetState"},
|
||||||
|
{104, nullptr, "GetStatistics"},
|
||||||
|
{105, nullptr, "GetPlayReportRequestEvent"},
|
||||||
|
{111, nullptr, "GetJid"},
|
||||||
|
{112, nullptr, "CreateJid"},
|
||||||
|
{113, nullptr, "DestroyJid"},
|
||||||
|
{114, nullptr, "AttachJid"},
|
||||||
|
{115, nullptr, "DetachJid"},
|
||||||
|
{201, nullptr, "RequestChangeStateForceTimed"},
|
||||||
|
{102, nullptr, "RequestChangeStateForceAsync"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class NPNS_U final : public ServiceFramework<NPNS_U> {
|
||||||
|
public:
|
||||||
|
explicit NPNS_U() : ServiceFramework{"npns:u"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{1, nullptr, "ListenAll"},
|
||||||
|
{2, nullptr, "ListenTo"},
|
||||||
|
{3, nullptr, "Receive"},
|
||||||
|
{4, nullptr, "ReceiveRaw"},
|
||||||
|
{5, nullptr, "GetReceiveEvent"},
|
||||||
|
{7, nullptr, "GetStateChangeEVent"},
|
||||||
|
{21, nullptr, "CreateToken"},
|
||||||
|
{23, nullptr, "DestroyToken"},
|
||||||
|
{25, nullptr, "QueryIsTokenValid"},
|
||||||
|
{26, nullptr, "ListenToMyApplicationId"},
|
||||||
|
{101, nullptr, "Suspend"},
|
||||||
|
{102, nullptr, "Resume"},
|
||||||
|
{103, nullptr, "GetState"},
|
||||||
|
{104, nullptr, "GetStatistics"},
|
||||||
|
{111, nullptr, "GetJid"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void InstallInterfaces(SM::ServiceManager& sm) {
|
||||||
|
std::make_shared<NPNS_S>()->InstallAsService(sm);
|
||||||
|
std::make_shared<NPNS_U>()->InstallAsService(sm);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::NPNS
|
15
src/core/hle/service/npns/npns.h
Normal file
15
src/core/hle/service/npns/npns.h
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// 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::NPNS {
|
||||||
|
|
||||||
|
void InstallInterfaces(SM::ServiceManager& sm);
|
||||||
|
|
||||||
|
} // namespace Service::NPNS
|
|
@ -22,7 +22,7 @@
|
||||||
#include "core/hle/service/apm/apm.h"
|
#include "core/hle/service/apm/apm.h"
|
||||||
#include "core/hle/service/arp/arp.h"
|
#include "core/hle/service/arp/arp.h"
|
||||||
#include "core/hle/service/audio/audio.h"
|
#include "core/hle/service/audio/audio.h"
|
||||||
#include "core/hle/service/bcat/bcat.h"
|
#include "core/hle/service/bcat/module.h"
|
||||||
#include "core/hle/service/bpc/bpc.h"
|
#include "core/hle/service/bpc/bpc.h"
|
||||||
#include "core/hle/service/btdrv/btdrv.h"
|
#include "core/hle/service/btdrv/btdrv.h"
|
||||||
#include "core/hle/service/btm/btm.h"
|
#include "core/hle/service/btm/btm.h"
|
||||||
|
@ -48,11 +48,12 @@
|
||||||
#include "core/hle/service/nfp/nfp.h"
|
#include "core/hle/service/nfp/nfp.h"
|
||||||
#include "core/hle/service/nifm/nifm.h"
|
#include "core/hle/service/nifm/nifm.h"
|
||||||
#include "core/hle/service/nim/nim.h"
|
#include "core/hle/service/nim/nim.h"
|
||||||
|
#include "core/hle/service/npns/npns.h"
|
||||||
#include "core/hle/service/ns/ns.h"
|
#include "core/hle/service/ns/ns.h"
|
||||||
#include "core/hle/service/nvdrv/nvdrv.h"
|
#include "core/hle/service/nvdrv/nvdrv.h"
|
||||||
#include "core/hle/service/nvflinger/nvflinger.h"
|
#include "core/hle/service/nvflinger/nvflinger.h"
|
||||||
#include "core/hle/service/pcie/pcie.h"
|
#include "core/hle/service/pcie/pcie.h"
|
||||||
#include "core/hle/service/pctl/pctl.h"
|
#include "core/hle/service/pctl/module.h"
|
||||||
#include "core/hle/service/pcv/pcv.h"
|
#include "core/hle/service/pcv/pcv.h"
|
||||||
#include "core/hle/service/pm/pm.h"
|
#include "core/hle/service/pm/pm.h"
|
||||||
#include "core/hle/service/prepo/prepo.h"
|
#include "core/hle/service/prepo/prepo.h"
|
||||||
|
@ -236,6 +237,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm, FileSys::VfsFilesystem& vfs)
|
||||||
NFP::InstallInterfaces(*sm);
|
NFP::InstallInterfaces(*sm);
|
||||||
NIFM::InstallInterfaces(*sm);
|
NIFM::InstallInterfaces(*sm);
|
||||||
NIM::InstallInterfaces(*sm);
|
NIM::InstallInterfaces(*sm);
|
||||||
|
NPNS::InstallInterfaces(*sm);
|
||||||
NS::InstallInterfaces(*sm);
|
NS::InstallInterfaces(*sm);
|
||||||
Nvidia::InstallInterfaces(*sm, *nv_flinger);
|
Nvidia::InstallInterfaces(*sm, *nv_flinger);
|
||||||
PCIe::InstallInterfaces(*sm);
|
PCIe::InstallInterfaces(*sm);
|
||||||
|
|
Loading…
Reference in a new issue