MCPcopy Create free account
hub / github.com/Windscribe/Desktop-App / loadFromSettings

Method loadFromSettings

src/client/engine/engine/ping/pingstorage.cpp:110–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108}
109
110void PingStorage::loadFromSettings()
111{
112 curIterationNetworkOrSsid_.clear();
113 pingDataDB_.clear();
114
115 QSettings settings;
116 if (!settings.contains(settingsKey_)) {
117 return;
118 }
119
120 SimpleCrypt simpleCrypt(SIMPLE_CRYPT_KEY);
121 QString str = settings.value(settingsKey_).toString();
122 QByteArray arr = simpleCrypt.decryptToByteArray(str);
123
124 QDataStream ds(&arr, QIODevice::ReadOnly);
125 quint32 magic;
126 ds >> magic;
127
128 if (magic == magic_) {
129 quint32 version;
130 ds >> version;
131
132 if (version != versionForSerialization_)
133 return;
134
135 ds >> curIterationTime_;
136 ds >> curIterationNetworkOrSsid_;
137
138 qsizetype numDBElements;
139 ds >> numDBElements;
140 for (qsizetype i = 0; i < numDBElements; ++i) {
141 QString ip;
142 int timeMs;
143 qint64 iterationTime;
144 ds >> ip >> timeMs >> iterationTime;
145
146 PingData pingData;
147 pingData.timeMs_ = timeMs;
148 pingData.iterationTime_ = iterationTime;
149
150 pingDataDB_[ip] = pingData;
151 }
152
153 if (ds.status() != QDataStream::Ok) {
154 pingDataDB_.clear();
155 curIterationTime_ = 0;
156 curIterationNetworkOrSsid_.clear();
157 }
158 }
159}

Callers 1

EngineMethod · 0.45

Calls 4

toStringMethod · 0.80
decryptToByteArrayMethod · 0.80
clearMethod · 0.45
statusMethod · 0.45

Tested by

no test coverage detected