summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2019-04-10 14:03:08 -0400
committerZach Hilman <zachhilman@gmail.com>2019-07-07 21:38:33 -0400
commit11f45e60159cdd215158e2c60ac08ed4e5a07439 (patch)
treed4679eeb3e8dfc69755822c6cfad89d0c0184290 /src
parent71bc2182c2e27c7dc635bd527325ebcde1f76ed0 (diff)
es: Implement ETicket CountPersonalizedTicket (10)
Returns the number of personalized (console/user-unique) tickets in the KeyManager.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/es/es.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp
index 1c6aef029..9adb39ac3 100644
--- a/src/core/hle/service/es/es.cpp
+++ b/src/core/hle/service/es/es.cpp
@@ -25,7 +25,7 @@ public:
{7, nullptr, "DeleteAllPersonalizedTicketEx"},
{8, &ETicket::GetTitleKey, "GetTitleKey"},
{9, &ETicket::CountCommonTicket, "CountCommonTicket"},
- {10, nullptr, "CountPersonalizedTicket"},
+ {10, &ETicket::CountPersonalizedTicket, "CountPersonalizedTicket"},
{11, nullptr, "ListCommonTicket"},
{12, nullptr, "ListPersonalizedTicket"},
{13, nullptr, "ListMissingPersonalizedTicket"},
@@ -133,6 +133,17 @@ private:
rb.Push<u32>(count);
}
+ void CountPersonalizedTicket(Kernel::HLERequestContext& ctx) {
+ LOG_DEBUG(Service_ETicket, "called");
+
+ keys.PopulateTickets();
+ const auto count = keys.GetPersonalizedTickets().size();
+
+ IPC::ResponseBuilder rb{ctx, 3};
+ rb.Push(RESULT_SUCCESS);
+ rb.Push<u32>(count);
+ }
+
};
void InstallInterfaces(SM::ServiceManager& service_manager) {