diff options
Diffstat (limited to 'launcher/modplatform/legacy_ftb/PrivatePackManager.cpp')
-rw-r--r-- | launcher/modplatform/legacy_ftb/PrivatePackManager.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/launcher/modplatform/legacy_ftb/PrivatePackManager.cpp b/launcher/modplatform/legacy_ftb/PrivatePackManager.cpp new file mode 100644 index 00000000..501e6003 --- /dev/null +++ b/launcher/modplatform/legacy_ftb/PrivatePackManager.cpp @@ -0,0 +1,41 @@ +#include "PrivatePackManager.h" + +#include <QDebug> + +#include "FileSystem.h" + +namespace LegacyFTB { + +void PrivatePackManager::load() +{ + try + { + currentPacks = QString::fromUtf8(FS::read(m_filename)).split('\n', QString::SkipEmptyParts).toSet(); + dirty = false; + } + catch(...) + { + currentPacks = {}; + qWarning() << "Failed to read third party FTB pack codes from" << m_filename; + } +} + +void PrivatePackManager::save() const +{ + if(!dirty) + { + return; + } + try + { + QStringList list = currentPacks.toList(); + FS::write(m_filename, list.join('\n').toUtf8()); + dirty = false; + } + catch(...) + { + qWarning() << "Failed to write third party FTB pack codes to" << m_filename; + } +} + +} |