diff options
| -rw-r--r-- | src/core/hle/service/caps/caps_c.cpp | 16 | ||||
| -rw-r--r-- | src/core/hle/service/caps/caps_c.h | 3 | ||||
| -rw-r--r-- | src/core/hle/service/caps/caps_su.cpp | 7 | ||||
| -rw-r--r-- | src/core/hle/service/caps/caps_u.cpp | 15 | ||||
| -rw-r--r-- | src/core/hle/service/caps/caps_u.h | 1 |
5 files changed, 38 insertions, 4 deletions
diff --git a/src/core/hle/service/caps/caps_c.cpp b/src/core/hle/service/caps/caps_c.cpp index ab17a187e..a0ee116fa 100644 --- a/src/core/hle/service/caps/caps_c.cpp +++ b/src/core/hle/service/caps/caps_c.cpp | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | // Licensed under GPLv2 or any later version | 2 | // Licensed under GPLv2 or any later version |
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include "common/logging/log.h" | ||
| 6 | #include "core/hle/ipc_helpers.h" | ||
| 5 | #include "core/hle/service/caps/caps_c.h" | 7 | #include "core/hle/service/caps/caps_c.h" |
| 6 | 8 | ||
| 7 | namespace Service::Capture { | 9 | namespace Service::Capture { |
| @@ -47,7 +49,7 @@ CAPS_C::CAPS_C() : ServiceFramework("caps:c") { | |||
| 47 | static const FunctionInfo functions[] = { | 49 | static const FunctionInfo functions[] = { |
| 48 | {1, nullptr, "CaptureRawImage"}, | 50 | {1, nullptr, "CaptureRawImage"}, |
| 49 | {2, nullptr, "CaptureRawImageWithTimeout"}, | 51 | {2, nullptr, "CaptureRawImageWithTimeout"}, |
| 50 | {33, nullptr, "Unknown33"}, | 52 | {33, &CAPS_C::SetShimLibraryVersion, "SetShimLibraryVersion"}, |
| 51 | {1001, nullptr, "RequestTakingScreenShot"}, | 53 | {1001, nullptr, "RequestTakingScreenShot"}, |
| 52 | {1002, nullptr, "RequestTakingScreenShotWithTimeout"}, | 54 | {1002, nullptr, "RequestTakingScreenShotWithTimeout"}, |
| 53 | {1011, nullptr, "NotifyTakingScreenShotRefused"}, | 55 | {1011, nullptr, "NotifyTakingScreenShotRefused"}, |
| @@ -72,4 +74,16 @@ CAPS_C::CAPS_C() : ServiceFramework("caps:c") { | |||
| 72 | 74 | ||
| 73 | CAPS_C::~CAPS_C() = default; | 75 | CAPS_C::~CAPS_C() = default; |
| 74 | 76 | ||
| 77 | void CAPS_C::SetShimLibraryVersion(Kernel::HLERequestContext& ctx) { | ||
| 78 | IPC::RequestParser rp{ctx}; | ||
| 79 | const auto library_version{rp.Pop<u64>()}; | ||
| 80 | const auto applet_resource_user_id{rp.Pop<u64>()}; | ||
| 81 | |||
| 82 | LOG_WARNING(Service_Capture, "(STUBBED) called. library_version={}, applet_resource_user_id={}", | ||
| 83 | library_version, applet_resource_user_id); | ||
| 84 | |||
| 85 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 86 | rb.Push(RESULT_SUCCESS); | ||
| 87 | } | ||
| 88 | |||
| 75 | } // namespace Service::Capture | 89 | } // namespace Service::Capture |
diff --git a/src/core/hle/service/caps/caps_c.h b/src/core/hle/service/caps/caps_c.h index a9d028689..b110301d4 100644 --- a/src/core/hle/service/caps/caps_c.h +++ b/src/core/hle/service/caps/caps_c.h | |||
| @@ -16,6 +16,9 @@ class CAPS_C final : public ServiceFramework<CAPS_C> { | |||
| 16 | public: | 16 | public: |
| 17 | explicit CAPS_C(); | 17 | explicit CAPS_C(); |
| 18 | ~CAPS_C() override; | 18 | ~CAPS_C() override; |
| 19 | |||
| 20 | private: | ||
| 21 | void SetShimLibraryVersion(Kernel::HLERequestContext& ctx); | ||
| 19 | }; | 22 | }; |
| 20 | 23 | ||
| 21 | } // namespace Service::Capture | 24 | } // namespace Service::Capture |
diff --git a/src/core/hle/service/caps/caps_su.cpp b/src/core/hle/service/caps/caps_su.cpp index fffb2ecf9..e386470f7 100644 --- a/src/core/hle/service/caps/caps_su.cpp +++ b/src/core/hle/service/caps/caps_su.cpp | |||
| @@ -25,7 +25,12 @@ CAPS_SU::CAPS_SU() : ServiceFramework("caps:su") { | |||
| 25 | CAPS_SU::~CAPS_SU() = default; | 25 | CAPS_SU::~CAPS_SU() = default; |
| 26 | 26 | ||
| 27 | void CAPS_SU::SetShimLibraryVersion(Kernel::HLERequestContext& ctx) { | 27 | void CAPS_SU::SetShimLibraryVersion(Kernel::HLERequestContext& ctx) { |
| 28 | LOG_WARNING(Service_Capture, "(STUBBED) called"); | 28 | IPC::RequestParser rp{ctx}; |
| 29 | const auto library_version{rp.Pop<u64>()}; | ||
| 30 | const auto applet_resource_user_id{rp.Pop<u64>()}; | ||
| 31 | |||
| 32 | LOG_WARNING(Service_Capture, "(STUBBED) called. library_version={}, applet_resource_user_id={}", | ||
| 33 | library_version, applet_resource_user_id); | ||
| 29 | 34 | ||
| 30 | IPC::ResponseBuilder rb{ctx, 2}; | 35 | IPC::ResponseBuilder rb{ctx, 2}; |
| 31 | rb.Push(RESULT_SUCCESS); | 36 | rb.Push(RESULT_SUCCESS); |
diff --git a/src/core/hle/service/caps/caps_u.cpp b/src/core/hle/service/caps/caps_u.cpp index f36d8de2d..8e2b83629 100644 --- a/src/core/hle/service/caps/caps_u.cpp +++ b/src/core/hle/service/caps/caps_u.cpp | |||
| @@ -31,8 +31,7 @@ public: | |||
| 31 | CAPS_U::CAPS_U() : ServiceFramework("caps:u") { | 31 | CAPS_U::CAPS_U() : ServiceFramework("caps:u") { |
| 32 | // clang-format off | 32 | // clang-format off |
| 33 | static const FunctionInfo functions[] = { | 33 | static const FunctionInfo functions[] = { |
| 34 | {31, nullptr, "GetShimLibraryVersion"}, | 34 | {32, &CAPS_U::SetShimLibraryVersion, "SetShimLibraryVersion"}, |
| 35 | {32, nullptr, "SetShimLibraryVersion"}, | ||
| 36 | {102, &CAPS_U::GetAlbumContentsFileListForApplication, "GetAlbumContentsFileListForApplication"}, | 35 | {102, &CAPS_U::GetAlbumContentsFileListForApplication, "GetAlbumContentsFileListForApplication"}, |
| 37 | {103, nullptr, "DeleteAlbumContentsFileForApplication"}, | 36 | {103, nullptr, "DeleteAlbumContentsFileForApplication"}, |
| 38 | {104, nullptr, "GetAlbumContentsFileSizeForApplication"}, | 37 | {104, nullptr, "GetAlbumContentsFileSizeForApplication"}, |
| @@ -53,6 +52,18 @@ CAPS_U::CAPS_U() : ServiceFramework("caps:u") { | |||
| 53 | 52 | ||
| 54 | CAPS_U::~CAPS_U() = default; | 53 | CAPS_U::~CAPS_U() = default; |
| 55 | 54 | ||
| 55 | void CAPS_U::SetShimLibraryVersion(Kernel::HLERequestContext& ctx) { | ||
| 56 | IPC::RequestParser rp{ctx}; | ||
| 57 | const auto library_version{rp.Pop<u64>()}; | ||
| 58 | const auto applet_resource_user_id{rp.Pop<u64>()}; | ||
| 59 | |||
| 60 | LOG_WARNING(Service_Capture, "(STUBBED) called. library_version={}, applet_resource_user_id={}", | ||
| 61 | library_version, applet_resource_user_id); | ||
| 62 | |||
| 63 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 64 | rb.Push(RESULT_SUCCESS); | ||
| 65 | } | ||
| 66 | |||
| 56 | void CAPS_U::GetAlbumContentsFileListForApplication(Kernel::HLERequestContext& ctx) { | 67 | void CAPS_U::GetAlbumContentsFileListForApplication(Kernel::HLERequestContext& ctx) { |
| 57 | // Takes a type-0x6 output buffer containing an array of ApplicationAlbumFileEntry, a PID, an | 68 | // Takes a type-0x6 output buffer containing an array of ApplicationAlbumFileEntry, a PID, an |
| 58 | // u8 ContentType, two s64s, and an u64 AppletResourceUserId. Returns an output u64 for total | 69 | // u8 ContentType, two s64s, and an u64 AppletResourceUserId. Returns an output u64 for total |
diff --git a/src/core/hle/service/caps/caps_u.h b/src/core/hle/service/caps/caps_u.h index 689364de4..e04e56bbc 100644 --- a/src/core/hle/service/caps/caps_u.h +++ b/src/core/hle/service/caps/caps_u.h | |||
| @@ -18,6 +18,7 @@ public: | |||
| 18 | ~CAPS_U() override; | 18 | ~CAPS_U() override; |
| 19 | 19 | ||
| 20 | private: | 20 | private: |
| 21 | void SetShimLibraryVersion(Kernel::HLERequestContext& ctx); | ||
| 21 | void GetAlbumContentsFileListForApplication(Kernel::HLERequestContext& ctx); | 22 | void GetAlbumContentsFileListForApplication(Kernel::HLERequestContext& ctx); |
| 22 | }; | 23 | }; |
| 23 | 24 | ||