-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.cpp
More file actions
73 lines (62 loc) · 1.81 KB
/
settings.cpp
File metadata and controls
73 lines (62 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/* Copyright (c) 2023 Taha
* this program is free software: you can redistribute it and/or modify
* it under the terms of the gnu general public license as published by
* the free software foundation, either version 3 of the license, or
* (at your option) any later version.
* this program is distributed in the hope that it will be useful,
* but without any warranty; without even the implied warranty of
* merchantability or fitness for a particular purpose. see the
* gnu general public license for more details.
* you should have received a copy of the gnu general public license
* along with this program. if not, see <https://www.gnu.org/licenses/>.
*
* Author: Taha
* Date: 2023, Dec 9
* Description: Reading the settings.json file. For user selected settings.
*/
#include <string>
#include <fstream>
#include <json/json.h>
#include "settings.h"
void init_settings_json(std::string keys_path, std::string settings_path)
{
std::ofstream file;
Json::Value setting;
setting["save"] = 1;
setting["tor"] = 1;
setting["keys"] = keys_path;
file.open(settings_path, std::ios_base::out | std::ofstream::trunc);
file << setting;
}
Settings::Settings()
{
get_values();
}
void Settings::get_values()
{
std::fstream settings("settings.json");
settings >> setting;
save = setting["save"].asBool();
tor = setting["tor"].asBool();
keys = setting["keys"].asString(); // private keys path
}
// reset to file
void Settings::reset()
{
std::fstream settings("settings.json");
settings >> setting;
}
// update json value setting to members
void Settings::update()
{
setting["save"] = save;
setting["keys"] = keys;
setting["tor"] = tor;
}
// write values back to file
void Settings::write_values()
{
// write back to file
std::fstream settings("settings.json", std::ios_base::out);
settings << setting;
}