diff options
| author | bunnei <bunneidev@gmail.com> | 2019-06-26 10:26:44 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-26 10:26:44 -0400 |
| commit | 4ed2774c26602d6ee1af316da5faf391d377d701 (patch) | |
| tree | a1ef0e65dfd79f8badde8dcd24014432428c51f8 /src/core/file_sys/registered_cache.cpp | |
| parent | 221996a19402dd53affa99f45bc888a248d3412f (diff) | |
| parent | d10fc2d7277cf075f875fe2831501cb79c50e21a (diff) | |
Merge pull request #2607 from DarkLordZach/arp-1
glue: Implement arp:w and arp:r services
Diffstat (limited to 'src/core/file_sys/registered_cache.cpp')
| -rw-r--r-- | src/core/file_sys/registered_cache.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp index 58917e094..4608490e0 100644 --- a/src/core/file_sys/registered_cache.cpp +++ b/src/core/file_sys/registered_cache.cpp @@ -645,6 +645,20 @@ ContentProviderUnion::ListEntriesFilterOrigin(std::optional<ContentProviderUnion return out; } +std::optional<ContentProviderUnionSlot> ContentProviderUnion::GetSlotForEntry( + u64 title_id, ContentRecordType type) const { + const auto iter = + std::find_if(providers.begin(), providers.end(), [title_id, type](const auto& provider) { + return provider.second != nullptr && provider.second->HasEntry(title_id, type); + }); + + if (iter == providers.end()) { + return std::nullopt; + } + + return iter->first; +} + ManualContentProvider::~ManualContentProvider() = default; void ManualContentProvider::AddEntry(TitleType title_type, ContentRecordType content_type, |
