summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Lioncash2020-09-16 18:14:43 -0400
committerGravatar Lioncash2020-09-16 18:16:04 -0400
commit0e80567bef380843f5fc9bc00b70f14c4bd577b1 (patch)
tree552dc5595866d8ab498dd879a3664f4bad60ac31
parentloader/nso: Remove unnecessary [[maybe_unused]] (diff)
downloadyuzu-0e80567bef380843f5fc9bc00b70f14c4bd577b1.tar.gz
yuzu-0e80567bef380843f5fc9bc00b70f14c4bd577b1.tar.xz
yuzu-0e80567bef380843f5fc9bc00b70f14c4bd577b1.zip
file_sys/bis_factory: Eliminate usage of the global system accessor
Diffstat (limited to '')
-rw-r--r--src/core/core.cpp4
-rw-r--r--src/core/core.h4
-rw-r--r--src/core/file_sys/bis_factory.cpp10
-rw-r--r--src/core/file_sys/bis_factory.h2
-rw-r--r--src/core/hle/service/filesystem/filesystem.cpp2
5 files changed, 11 insertions, 11 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 05b1d2b92..44aaba242 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -629,11 +629,11 @@ Loader::AppLoader& System::GetAppLoader() const {
629 return *impl->app_loader; 629 return *impl->app_loader;
630} 630}
631 631
632void System::SetFilesystem(std::shared_ptr<FileSys::VfsFilesystem> vfs) { 632void System::SetFilesystem(FileSys::VirtualFilesystem vfs) {
633 impl->virtual_filesystem = std::move(vfs); 633 impl->virtual_filesystem = std::move(vfs);
634} 634}
635 635
636std::shared_ptr<FileSys::VfsFilesystem> System::GetFilesystem() const { 636FileSys::VirtualFilesystem System::GetFilesystem() const {
637 return impl->virtual_filesystem; 637 return impl->virtual_filesystem;
638} 638}
639 639
diff --git a/src/core/core.h b/src/core/core.h
index 5c6cfbffe..83ded63a5 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -316,9 +316,9 @@ public:
316 Service::SM::ServiceManager& ServiceManager(); 316 Service::SM::ServiceManager& ServiceManager();
317 const Service::SM::ServiceManager& ServiceManager() const; 317 const Service::SM::ServiceManager& ServiceManager() const;
318 318
319 void SetFilesystem(std::shared_ptr<FileSys::VfsFilesystem> vfs); 319 void SetFilesystem(FileSys::VirtualFilesystem vfs);
320 320
321 std::shared_ptr<FileSys::VfsFilesystem> GetFilesystem() const; 321 FileSys::VirtualFilesystem GetFilesystem() const;
322 322
323 void RegisterCheatList(const std::vector<Memory::CheatEntry>& list, 323 void RegisterCheatList(const std::vector<Memory::CheatEntry>& list,
324 const std::array<u8, 0x20>& build_id, VAddr main_region_begin, 324 const std::array<u8, 0x20>& build_id, VAddr main_region_begin,
diff --git a/src/core/file_sys/bis_factory.cpp b/src/core/file_sys/bis_factory.cpp
index e04a54c3c..7c6304ff0 100644
--- a/src/core/file_sys/bis_factory.cpp
+++ b/src/core/file_sys/bis_factory.cpp
@@ -4,10 +4,10 @@
4 4
5#include <fmt/format.h> 5#include <fmt/format.h>
6#include "common/file_util.h" 6#include "common/file_util.h"
7#include "core/core.h"
8#include "core/file_sys/bis_factory.h" 7#include "core/file_sys/bis_factory.h"
9#include "core/file_sys/mode.h" 8#include "core/file_sys/mode.h"
10#include "core/file_sys/registered_cache.h" 9#include "core/file_sys/registered_cache.h"
10#include "core/file_sys/vfs.h"
11 11
12namespace FileSys { 12namespace FileSys {
13 13
@@ -81,11 +81,11 @@ VirtualDir BISFactory::OpenPartition(BisPartitionId id) const {
81 } 81 }
82} 82}
83 83
84VirtualFile BISFactory::OpenPartitionStorage(BisPartitionId id) const { 84VirtualFile BISFactory::OpenPartitionStorage(BisPartitionId id,
85 VirtualFilesystem file_system) const {
85 auto& keys = Core::Crypto::KeyManager::Instance(); 86 auto& keys = Core::Crypto::KeyManager::Instance();
86 Core::Crypto::PartitionDataManager pdm{ 87 Core::Crypto::PartitionDataManager pdm{file_system->OpenDirectory(
87 Core::System::GetInstance().GetFilesystem()->OpenDirectory( 88 Common::FS::GetUserPath(Common::FS::UserPath::SysDataDir), Mode::Read)};
88 Common::FS::GetUserPath(Common::FS::UserPath::SysDataDir), Mode::Read)};
89 keys.PopulateFromPartitionData(pdm); 89 keys.PopulateFromPartitionData(pdm);
90 90
91 switch (id) { 91 switch (id) {
diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h
index 438d3f8d8..136485881 100644
--- a/src/core/file_sys/bis_factory.h
+++ b/src/core/file_sys/bis_factory.h
@@ -52,7 +52,7 @@ public:
52 VirtualDir GetModificationDumpRoot(u64 title_id) const; 52 VirtualDir GetModificationDumpRoot(u64 title_id) const;
53 53
54 VirtualDir OpenPartition(BisPartitionId id) const; 54 VirtualDir OpenPartition(BisPartitionId id) const;
55 VirtualFile OpenPartitionStorage(BisPartitionId id) const; 55 VirtualFile OpenPartitionStorage(BisPartitionId id, VirtualFilesystem file_system) const;
56 56
57 VirtualDir GetImageDirectory() const; 57 VirtualDir GetImageDirectory() const;
58 58
diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp
index 2cee1193c..54a5fb84b 100644
--- a/src/core/hle/service/filesystem/filesystem.cpp
+++ b/src/core/hle/service/filesystem/filesystem.cpp
@@ -379,7 +379,7 @@ ResultVal<FileSys::VirtualFile> FileSystemController::OpenBISPartitionStorage(
379 return FileSys::ERROR_ENTITY_NOT_FOUND; 379 return FileSys::ERROR_ENTITY_NOT_FOUND;
380 } 380 }
381 381
382 auto part = bis_factory->OpenPartitionStorage(id); 382 auto part = bis_factory->OpenPartitionStorage(id, system.GetFilesystem());
383 if (part == nullptr) { 383 if (part == nullptr) {
384 return FileSys::ERROR_INVALID_ARGUMENT; 384 return FileSys::ERROR_INVALID_ARGUMENT;
385 } 385 }