service: Add proper GetCacheStorageMax implementation to IApplicationFunctions
This commit is contained in:
parent
82949085c0
commit
d93fdc8a6c
@ -17,6 +17,7 @@
|
|||||||
#include "core/hle/service/filesystem/save_data_controller.h"
|
#include "core/hle/service/filesystem/save_data_controller.h"
|
||||||
#include "core/hle/service/ns/ns.h"
|
#include "core/hle/service/ns/ns.h"
|
||||||
#include "core/hle/service/sm/sm.h"
|
#include "core/hle/service/sm/sm.h"
|
||||||
|
#include "core/hle/service/glue/glue_manager.h"
|
||||||
|
|
||||||
namespace Service::AM {
|
namespace Service::AM {
|
||||||
|
|
||||||
@ -267,12 +268,21 @@ Result IApplicationFunctions::GetSaveDataSizeMax(Out<u64> out_max_normal_size,
|
|||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
Result IApplicationFunctions::GetCacheStorageMax(Out<u32> out_max_normal_size,
|
Result IApplicationFunctions::GetCacheStorageMax(Out<u32> out_cache_storage_index_max,
|
||||||
Out<u64> out_max_journal_size) {
|
Out<u64> out_max_journal_size) {
|
||||||
LOG_WARNING(Service_AM, "(STUBBED) called");
|
LOG_DEBUG(Service_AM, "called");
|
||||||
|
|
||||||
*out_max_normal_size = 0xFFFFFF;
|
const auto title_id = m_applet->program_id;
|
||||||
*out_max_journal_size = 0xFFFFFF;
|
|
||||||
|
std::vector<u8> nacp;
|
||||||
|
const auto result = system.GetARPManager().GetControlProperty(&nacp, title_id);
|
||||||
|
|
||||||
|
if (R_SUCCEEDED(result)) {
|
||||||
|
const auto rawnacp = reinterpret_cast<FileSys::RawNACP*>(nacp.data());
|
||||||
|
|
||||||
|
*out_cache_storage_index_max = static_cast<u32>(rawnacp->cache_storage_max_index);
|
||||||
|
*out_max_journal_size = static_cast<u64>(rawnacp->cache_storage_data_and_journal_max_size);
|
||||||
|
}
|
||||||
|
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ private:
|
|||||||
Result CreateCacheStorage(Out<u32> out_target_media, Out<u64> out_required_size, u16 index,
|
Result CreateCacheStorage(Out<u32> out_target_media, Out<u64> out_required_size, u16 index,
|
||||||
u64 normal_size, u64 journal_size);
|
u64 normal_size, u64 journal_size);
|
||||||
Result GetSaveDataSizeMax(Out<u64> out_max_normal_size, Out<u64> out_max_journal_size);
|
Result GetSaveDataSizeMax(Out<u64> out_max_normal_size, Out<u64> out_max_journal_size);
|
||||||
Result GetCacheStorageMax(Out<u32> out_max_normal_size, Out<u64> out_max_journal_size);
|
Result GetCacheStorageMax(Out<u32> out_cache_storage_index_max, Out<u64> out_max_journal_size);
|
||||||
Result BeginBlockingHomeButtonShortAndLongPressed(s64 unused);
|
Result BeginBlockingHomeButtonShortAndLongPressed(s64 unused);
|
||||||
Result EndBlockingHomeButtonShortAndLongPressed();
|
Result EndBlockingHomeButtonShortAndLongPressed();
|
||||||
Result BeginBlockingHomeButton(s64 timeout_ns);
|
Result BeginBlockingHomeButton(s64 timeout_ns);
|
||||||
|
Loading…
Reference in New Issue
Block a user