From 71bc2182c2e27c7dc635bd527325ebcde1f76ed0 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 10 Apr 2019 14:02:27 -0400 Subject: es: Implement ETicket CountCommonTicket (9) Returns the number of common (non-console-unique) tickets in the KeyManager. --- src/core/hle/service/es/es.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/core/hle/service/es') diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index 65dfaa2a0..1c6aef029 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -24,7 +24,7 @@ public: {6, nullptr, "DeleteAllPersonalizedTicket"}, {7, nullptr, "DeleteAllPersonalizedTicketEx"}, {8, &ETicket::GetTitleKey, "GetTitleKey"}, - {9, nullptr, "CountCommonTicket"}, + {9, &ETicket::CountCommonTicket, "CountCommonTicket"}, {10, nullptr, "CountPersonalizedTicket"}, {11, nullptr, "ListCommonTicket"}, {12, nullptr, "ListPersonalizedTicket"}, @@ -122,6 +122,17 @@ private: rb.Push(RESULT_SUCCESS); } + void CountCommonTicket(Kernel::HLERequestContext& ctx) { + LOG_DEBUG(Service_ETicket, "called"); + + keys.PopulateTickets(); + const auto count = keys.GetCommonTickets().size(); + + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(RESULT_SUCCESS); + rb.Push(count); + } + }; void InstallInterfaces(SM::ServiceManager& service_manager) { -- cgit v1.2.3