4 changed files with 88 additions and 1 deletions
-
2src/core/CMakeLists.txt
-
62src/core/hle/service/ns/dynamic_rights_interface.cpp
-
22src/core/hle/service/ns/dynamic_rights_interface.h
-
3src/core/hle/service/ns/ns.cpp
@ -0,0 +1,62 @@ |
|||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|||
|
|||
#include "core/hle/service/cmif_serialization.h"
|
|||
#include "core/hle/service/ns/dynamic_rights_interface.h"
|
|||
|
|||
namespace Service::NS { |
|||
|
|||
IDynamicRightsInterface::IDynamicRightsInterface(Core::System& system_) |
|||
: ServiceFramework{system_, "DynamicRightsInterface"} { |
|||
// clang-format off
|
|||
static const FunctionInfo functions[] = { |
|||
{0, nullptr, "RequestApplicationRightsOnServer"}, |
|||
{1, nullptr, "RequestAssignRights"}, |
|||
{4, nullptr, "DeprecatedRequestAssignRightsToResume"}, |
|||
{5, D<&IDynamicRightsInterface::VerifyActivatedRightsOwners>, "VerifyActivatedRightsOwners"}, |
|||
{6, nullptr, "DeprecatedGetApplicationRightsStatus"}, |
|||
{7, nullptr, "RequestPrefetchForDynamicRights"}, |
|||
{8, nullptr, "GetDynamicRightsState"}, |
|||
{9, nullptr, "RequestApplicationRightsOnServerToResume"}, |
|||
{10, nullptr, "RequestAssignRightsToResume"}, |
|||
{11, nullptr, "GetActivatedRightsUsers"}, |
|||
{12, nullptr, "GetApplicationRightsStatus"}, |
|||
{13, D<&IDynamicRightsInterface::GetRunningApplicationStatus>, "GetRunningApplicationStatus"}, |
|||
{14, nullptr, "SelectApplicationLicense"}, |
|||
{15, nullptr, "RequestContentsAuthorizationToken"}, |
|||
{16, nullptr, "QualifyUser"}, |
|||
{17, nullptr, "QualifyUserWithProcessId"}, |
|||
{18, D<&IDynamicRightsInterface::NotifyApplicationRightsCheckStart>, "NotifyApplicationRightsCheckStart"}, |
|||
{19, nullptr, "UpdateUserList"}, |
|||
{20, nullptr, "IsRightsLostUser"}, |
|||
{21, nullptr, "SetRequiredAddOnContentsOnContentsAvailabilityTransition"}, |
|||
{22, nullptr, "GetLimitedApplicationLicense"}, |
|||
{23, nullptr, "GetLimitedApplicationLicenseUpgradableEvent"}, |
|||
{24, nullptr, "NotifyLimitedApplicationLicenseUpgradableEventForDebug"}, |
|||
{25, nullptr, "RequestProceedDynamicRightsState"}, |
|||
}; |
|||
// clang-format on
|
|||
|
|||
RegisterHandlers(functions); |
|||
} |
|||
|
|||
IDynamicRightsInterface::~IDynamicRightsInterface() = default; |
|||
|
|||
Result IDynamicRightsInterface::NotifyApplicationRightsCheckStart() { |
|||
LOG_WARNING(Service_NS, "(STUBBED) called"); |
|||
R_SUCCEED(); |
|||
} |
|||
|
|||
Result IDynamicRightsInterface::GetRunningApplicationStatus(Out<u32> out_status, |
|||
u64 rights_handle) { |
|||
LOG_WARNING(Service_NS, "(STUBBED) called, rights_handle={:#x}", rights_handle); |
|||
*out_status = 0; |
|||
R_SUCCEED(); |
|||
} |
|||
|
|||
Result IDynamicRightsInterface::VerifyActivatedRightsOwners(u64 rights_handle) { |
|||
LOG_WARNING(Service_NS, "(STUBBED) called, rights_handle={:#x}", rights_handle); |
|||
R_SUCCEED(); |
|||
} |
|||
|
|||
} // namespace Service::NS
|
|||
@ -0,0 +1,22 @@ |
|||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project |
|||
// SPDX-License-Identifier: GPL-2.0-or-later |
|||
|
|||
#pragma once |
|||
|
|||
#include "core/hle/service/cmif_types.h" |
|||
#include "core/hle/service/service.h" |
|||
|
|||
namespace Service::NS { |
|||
|
|||
class IDynamicRightsInterface final : public ServiceFramework<IDynamicRightsInterface> { |
|||
public: |
|||
explicit IDynamicRightsInterface(Core::System& system_); |
|||
~IDynamicRightsInterface() override; |
|||
|
|||
private: |
|||
Result NotifyApplicationRightsCheckStart(); |
|||
Result GetRunningApplicationStatus(Out<u32> out_status, u64 rights_handle); |
|||
Result VerifyActivatedRightsOwners(u64 rights_handle); |
|||
}; |
|||
|
|||
} // namespace Service::NS |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue