diff options
| author | 2018-12-06 20:27:50 -0500 | |
|---|---|---|
| committer | 2018-12-27 00:16:55 -0500 | |
| commit | 0756f29a2c99070a6c676b39d797015d140ad7ac (patch) | |
| tree | f7dc8a039fac35fe595ad410ed8ecfec83ed0b97 /src/core/loader | |
| parent | control_metadata: Update NACP fields with latest Switchbrew data (diff) | |
| download | yuzu-0756f29a2c99070a6c676b39d797015d140ad7ac.tar.gz yuzu-0756f29a2c99070a6c676b39d797015d140ad7ac.tar.xz yuzu-0756f29a2c99070a6c676b39d797015d140ad7ac.zip | |
loader: Add accessor for game control data
Diffstat (limited to 'src/core/loader')
| -rw-r--r-- | src/core/loader/loader.h | 10 | ||||
| -rw-r--r-- | src/core/loader/nsp.cpp | 4 | ||||
| -rw-r--r-- | src/core/loader/nsp.h | 2 | ||||
| -rw-r--r-- | src/core/loader/xci.cpp | 5 | ||||
| -rw-r--r-- | src/core/loader/xci.h | 2 |
5 files changed, 14 insertions, 9 deletions
diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index 0838e303b..cfd67adc0 100644 --- a/src/core/loader/loader.h +++ b/src/core/loader/loader.h | |||
| @@ -15,6 +15,10 @@ | |||
| 15 | #include "core/file_sys/control_metadata.h" | 15 | #include "core/file_sys/control_metadata.h" |
| 16 | #include "core/file_sys/vfs.h" | 16 | #include "core/file_sys/vfs.h" |
| 17 | 17 | ||
| 18 | namespace FileSys { | ||
| 19 | class NACP; | ||
| 20 | } // namespace FileSys | ||
| 21 | |||
| 18 | namespace Kernel { | 22 | namespace Kernel { |
| 19 | struct AddressMapping; | 23 | struct AddressMapping; |
| 20 | class Process; | 24 | class Process; |
| @@ -245,11 +249,11 @@ public: | |||
| 245 | } | 249 | } |
| 246 | 250 | ||
| 247 | /** | 251 | /** |
| 248 | * Get the developer of the application | 252 | * Get the control data (CNMT) of the application |
| 249 | * @param developer Reference to store the application developer into | 253 | * @param control Reference to store the application control data into |
| 250 | * @return ResultStatus result of function | 254 | * @return ResultStatus result of function |
| 251 | */ | 255 | */ |
| 252 | virtual ResultStatus ReadDeveloper(std::string& developer) { | 256 | virtual ResultStatus ReadControlData(FileSys::NACP& control) { |
| 253 | return ResultStatus::ErrorNotImplemented; | 257 | return ResultStatus::ErrorNotImplemented; |
| 254 | } | 258 | } |
| 255 | 259 | ||
diff --git a/src/core/loader/nsp.cpp b/src/core/loader/nsp.cpp index b4ab88ae8..4d4b44571 100644 --- a/src/core/loader/nsp.cpp +++ b/src/core/loader/nsp.cpp | |||
| @@ -152,10 +152,10 @@ ResultStatus AppLoader_NSP::ReadTitle(std::string& title) { | |||
| 152 | return ResultStatus::Success; | 152 | return ResultStatus::Success; |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | ResultStatus AppLoader_NSP::ReadDeveloper(std::string& developer) { | 155 | ResultStatus AppLoader_NSP::ReadControlData(FileSys::NACP& nacp) { |
| 156 | if (nacp_file == nullptr) | 156 | if (nacp_file == nullptr) |
| 157 | return ResultStatus::ErrorNoControl; | 157 | return ResultStatus::ErrorNoControl; |
| 158 | developer = nacp_file->GetDeveloperName(); | 158 | nacp = *nacp_file; |
| 159 | return ResultStatus::Success; | 159 | return ResultStatus::Success; |
| 160 | } | 160 | } |
| 161 | } // namespace Loader | 161 | } // namespace Loader |
diff --git a/src/core/loader/nsp.h b/src/core/loader/nsp.h index 2b1e0719b..32eb0193d 100644 --- a/src/core/loader/nsp.h +++ b/src/core/loader/nsp.h | |||
| @@ -43,7 +43,7 @@ public: | |||
| 43 | ResultStatus ReadProgramId(u64& out_program_id) override; | 43 | ResultStatus ReadProgramId(u64& out_program_id) override; |
| 44 | ResultStatus ReadIcon(std::vector<u8>& buffer) override; | 44 | ResultStatus ReadIcon(std::vector<u8>& buffer) override; |
| 45 | ResultStatus ReadTitle(std::string& title) override; | 45 | ResultStatus ReadTitle(std::string& title) override; |
| 46 | ResultStatus ReadDeveloper(std::string& developer) override; | 46 | ResultStatus ReadControlData(FileSys::NACP& nacp) override; |
| 47 | 47 | ||
| 48 | private: | 48 | private: |
| 49 | std::unique_ptr<FileSys::NSP> nsp; | 49 | std::unique_ptr<FileSys::NSP> nsp; |
diff --git a/src/core/loader/xci.cpp b/src/core/loader/xci.cpp index bd5a83b49..e67e43c69 100644 --- a/src/core/loader/xci.cpp +++ b/src/core/loader/xci.cpp | |||
| @@ -121,10 +121,11 @@ ResultStatus AppLoader_XCI::ReadTitle(std::string& title) { | |||
| 121 | return ResultStatus::Success; | 121 | return ResultStatus::Success; |
| 122 | } | 122 | } |
| 123 | 123 | ||
| 124 | ResultStatus AppLoader_XCI::ReadDeveloper(std::string& developer) { | 124 | ResultStatus AppLoader_XCI::ReadControlData(FileSys::NACP& control) { |
| 125 | if (nacp_file == nullptr) | 125 | if (nacp_file == nullptr) |
| 126 | return ResultStatus::ErrorNoControl; | 126 | return ResultStatus::ErrorNoControl; |
| 127 | developer = nacp_file->GetDeveloperName(); | 127 | control = *nacp_file; |
| 128 | return ResultStatus::Success; | 128 | return ResultStatus::Success; |
| 129 | } | 129 | } |
| 130 | |||
| 130 | } // namespace Loader | 131 | } // namespace Loader |
diff --git a/src/core/loader/xci.h b/src/core/loader/xci.h index 15d1b1a23..9d3923f62 100644 --- a/src/core/loader/xci.h +++ b/src/core/loader/xci.h | |||
| @@ -43,7 +43,7 @@ public: | |||
| 43 | ResultStatus ReadProgramId(u64& out_program_id) override; | 43 | ResultStatus ReadProgramId(u64& out_program_id) override; |
| 44 | ResultStatus ReadIcon(std::vector<u8>& buffer) override; | 44 | ResultStatus ReadIcon(std::vector<u8>& buffer) override; |
| 45 | ResultStatus ReadTitle(std::string& title) override; | 45 | ResultStatus ReadTitle(std::string& title) override; |
| 46 | ResultStatus ReadDeveloper(std::string& developer) override; | 46 | ResultStatus ReadControlData(FileSys::NACP& control) override; |
| 47 | 47 | ||
| 48 | private: | 48 | private: |
| 49 | std::unique_ptr<FileSys::XCI> xci; | 49 | std::unique_ptr<FileSys::XCI> xci; |