MCPcopy Create free account
hub / github.com/BernardoGiordano/Checkpoint / parse

Method parse

switch/source/configuration.cpp:224–278  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

222}
223
224void Configuration::parse(void)
225{
226 mFilterIds.clear();
227 mFavoriteIds.clear();
228 mAdditionalSaveFolders.clear();
229 mAdditionalDeviceSaveFolders.clear();
230
231 // parse filters
232 std::vector<std::string> filter = mJson["filter"];
233 for (auto& id : filter) {
234 mFilterIds.emplace(strtoull(id.c_str(), NULL, 16));
235 }
236
237 // parse favorites
238 std::vector<std::string> favorites = mJson["favorites"];
239 for (auto& id : favorites) {
240 mFavoriteIds.emplace(strtoull(id.c_str(), NULL, 16));
241 }
242
243 // parse additional save folders (user + device kept as separate lists)
244 auto js = mJson["additional_save_folders"];
245 for (auto it = js.begin(); it != js.end(); ++it) {
246 std::vector<std::string> folders = it.value()["folders"];
247 std::vector<std::string> sfolders;
248 for (auto& folder : folders) {
249 sfolders.push_back(folder);
250 }
251 mAdditionalSaveFolders.emplace(strtoull(it.key().c_str(), NULL, 16), sfolders);
252 }
253 auto jsDevice = mJson["additional_device_save_folders"];
254 for (auto it = jsDevice.begin(); it != jsDevice.end(); ++it) {
255 std::vector<std::string> folders = it.value()["folders"];
256 std::vector<std::string> sfolders;
257 for (auto& folder : folders) {
258 sfolders.push_back(folder);
259 }
260 mAdditionalDeviceSaveFolders.emplace(strtoull(it.key().c_str(), NULL, 16), sfolders);
261 }
262
263 // parse FTP flag
264 FTPEnabled = mJson["ftp-enabled"];
265 // parse wireless-transfer flag
266 mTransferEnabled = mJson.value("transfer-enabled", false);
267 // parse confirm-restore flag
268 mConfirmRestore = mJson.value("confirm-restore", true);
269 // parse quick-backup flag
270 mQuickBackup = mJson.value("quick-backup", false);
271 // parse verify-restore flag
272 mVerifyRestore = mJson.value("verify-restore", false);
273
274 mTheme = mJson.value("theme", "dark");
275 mLanguage = mJson.value("language", "en");
276 mLastTransferAddress = mJson.value("last-transfer-address", std::string());
277 mSortMode = SortMode::fromConfigKey(mJson.value("sort-mode", std::string(SortMode::of(SORT_ALPHA).configKey)));
278}
279
280bool Configuration::isFTPEnabled(void)
281{

Callers

nothing calls this directly

Calls 8

stringFunction · 0.85
emplaceMethod · 0.80
clearMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
valueMethod · 0.45
push_backMethod · 0.45
keyMethod · 0.45

Tested by

no test coverage detected