diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-07-03 14:57:41 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-07-03 14:57:41 +0200 |
commit | 471b2a42117851aec46467a4b6b59ce6f5f6f421 (patch) | |
tree | 9fb35d086973b6f697035ba5aca3e89b80e31e99 | |
parent | acc: Implement IProfileEditor-specific commands 'Store' and 'StoreWithImage' (diff) | |
download | yuzu-471b2a42117851aec46467a4b6b59ce6f5f6f421.tar yuzu-471b2a42117851aec46467a4b6b59ce6f5f6f421.tar.gz yuzu-471b2a42117851aec46467a4b6b59ce6f5f6f421.tar.bz2 yuzu-471b2a42117851aec46467a4b6b59ce6f5f6f421.tar.lz yuzu-471b2a42117851aec46467a4b6b59ce6f5f6f421.tar.xz yuzu-471b2a42117851aec46467a4b6b59ce6f5f6f421.tar.zst yuzu-471b2a42117851aec46467a4b6b59ce6f5f6f421.zip |
-rw-r--r-- | src/core/hle/service/acc/acc.cpp | 11 | ||||
-rw-r--r-- | src/core/hle/service/acc/acc.h | 1 | ||||
-rw-r--r-- | src/core/hle/service/acc/acc_su.cpp | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 0b9d1df1c..002efaa7a 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -350,6 +350,17 @@ void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx rb.Push(is_locked); } +void Module::Interface::GetProfileEditor(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + Common::UUID user_id = rp.PopRaw<Common::UUID>(); + + LOG_DEBUG(Service_ACC, "called, user_id={}", user_id.Format()); + + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface<IProfileEditor>(user_id, *profile_manager); +} + void Module::Interface::TrySelectUserWithoutInteraction(Kernel::HLERequestContext& ctx) { LOG_DEBUG(Service_ACC, "called"); // A u8 is passed into this function which we can safely ignore. It's to determine if we have diff --git a/src/core/hle/service/acc/acc.h b/src/core/hle/service/acc/acc.h index 350f123a0..69e4f34fc 100644 --- a/src/core/hle/service/acc/acc.h +++ b/src/core/hle/service/acc/acc.h @@ -30,6 +30,7 @@ public: void IsUserRegistrationRequestPermitted(Kernel::HLERequestContext& ctx); void TrySelectUserWithoutInteraction(Kernel::HLERequestContext& ctx); void IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx); + void GetProfileEditor(Kernel::HLERequestContext& ctx); protected: std::shared_ptr<Module> module; diff --git a/src/core/hle/service/acc/acc_su.cpp b/src/core/hle/service/acc/acc_su.cpp index 1b7ec3ed0..0d1663657 100644 --- a/src/core/hle/service/acc/acc_su.cpp +++ b/src/core/hle/service/acc/acc_su.cpp @@ -41,7 +41,7 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p {202, nullptr, "CancelUserRegistration"}, {203, nullptr, "DeleteUser"}, {204, nullptr, "SetUserPosition"}, - {205, nullptr, "GetProfileEditor"}, + {205, &ACC_SU::GetProfileEditor, "GetProfileEditor"}, {206, nullptr, "CompleteUserRegistrationForcibly"}, {210, nullptr, "CreateFloatingRegistrationRequest"}, {230, nullptr, "AuthenticateServiceAsync"}, |