summaryrefslogtreecommitdiff
path: root/src/frontend_common
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend_common')
-rw-r--r--src/frontend_common/config.cpp19
-rw-r--r--src/frontend_common/config.h2
-rw-r--r--src/frontend_common/content_manager.h5
3 files changed, 24 insertions, 2 deletions
diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp
index af6b10db6..95f8c8c36 100644
--- a/src/frontend_common/config.cpp
+++ b/src/frontend_common/config.cpp
@@ -138,6 +138,7 @@ void Config::ReadPlayerValues(const std::size_t player_index) {
if (profile_name.empty()) {
// Use the global input config
player = Settings::values.players.GetValue(true)[player_index];
+ player.profile_name = "";
return;
}
player.profile_name = profile_name;
@@ -401,6 +402,14 @@ void Config::ReadNetworkValues() {
EndGroup();
}
+void Config::ReadLibraryAppletValues() {
+ BeginGroup(Settings::TranslateCategory(Settings::Category::LibraryApplet));
+
+ ReadCategory(Settings::Category::LibraryApplet);
+
+ EndGroup();
+}
+
void Config::ReadValues() {
if (global) {
ReadDataStorageValues();
@@ -410,6 +419,7 @@ void Config::ReadValues() {
ReadServiceValues();
ReadWebServiceValues();
ReadMiscellaneousValues();
+ ReadLibraryAppletValues();
}
ReadControlValues();
ReadCoreValues();
@@ -511,6 +521,7 @@ void Config::SaveValues() {
SaveNetworkValues();
SaveWebServiceValues();
SaveMiscellaneousValues();
+ SaveLibraryAppletValues();
} else {
LOG_DEBUG(Config, "Saving only generic configuration values");
}
@@ -691,6 +702,14 @@ void Config::SaveWebServiceValues() {
EndGroup();
}
+void Config::SaveLibraryAppletValues() {
+ BeginGroup(Settings::TranslateCategory(Settings::Category::LibraryApplet));
+
+ WriteCategory(Settings::Category::LibraryApplet);
+
+ EndGroup();
+}
+
bool Config::ReadBooleanSetting(const std::string& key, const std::optional<bool> default_value) {
std::string full_key = GetFullKey(key, false);
if (!default_value.has_value()) {
diff --git a/src/frontend_common/config.h b/src/frontend_common/config.h
index 4ecb97044..8b0599cc3 100644
--- a/src/frontend_common/config.h
+++ b/src/frontend_common/config.h
@@ -88,6 +88,7 @@ protected:
void ReadSystemValues();
void ReadWebServiceValues();
void ReadNetworkValues();
+ void ReadLibraryAppletValues();
// Read platform specific sections
virtual void ReadHidbusValues() = 0;
@@ -121,6 +122,7 @@ protected:
void SaveScreenshotValues();
void SaveSystemValues();
void SaveWebServiceValues();
+ void SaveLibraryAppletValues();
// Save platform specific sections
virtual void SaveHidbusValues() = 0;
diff --git a/src/frontend_common/content_manager.h b/src/frontend_common/content_manager.h
index f3efe3465..c4e97a47b 100644
--- a/src/frontend_common/content_manager.h
+++ b/src/frontend_common/content_manager.h
@@ -251,11 +251,12 @@ inline InstallResult InstallNCA(FileSys::VfsFilesystem& vfs, const std::string&
* \param callback Callback to report the progress of the installation. The first size_t
* parameter is the total size of the installed contents and the second is the current progress. If
* you return true to the callback, it will cancel the installation as soon as possible.
+ * \param firmware_only Set to true to only scan system nand NCAs (firmware), post firmware install.
* \return A list of entries that failed to install. Returns an empty vector if successful.
*/
inline std::vector<std::string> VerifyInstalledContents(
Core::System& system, FileSys::ManualContentProvider& provider,
- const std::function<bool(size_t, size_t)>& callback) {
+ const std::function<bool(size_t, size_t)>& callback, bool firmware_only = false) {
// Get content registries.
auto bis_contents = system.GetFileSystemController().GetSystemNANDContents();
auto user_contents = system.GetFileSystemController().GetUserNANDContents();
@@ -264,7 +265,7 @@ inline std::vector<std::string> VerifyInstalledContents(
if (bis_contents) {
content_providers.push_back(bis_contents);
}
- if (user_contents) {
+ if (user_contents && !firmware_only) {
content_providers.push_back(user_contents);
}