|
|
@@ -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
|