mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-09-01 15:15:13 +00:00
Better special config implementation.
This commit is contained in:
@@ -48,6 +48,7 @@ public:
|
||||
void requestConfig();
|
||||
void requestConfigIfOld();
|
||||
void requestCDNConfig();
|
||||
void setUserPhone(const QString &phone);
|
||||
|
||||
void restart();
|
||||
void restart(ShiftedDcId shiftedDcId);
|
||||
@@ -156,6 +157,7 @@ private:
|
||||
base::set_of_unique_ptr<internal::Connection> _quittingConnections;
|
||||
|
||||
std::unique_ptr<internal::ConfigLoader> _configLoader;
|
||||
QString _userPhone;
|
||||
mtpRequestId _cdnConfigLoadRequestId = 0;
|
||||
TimeMs _lastConfigLoadedTime = 0;
|
||||
|
||||
@@ -283,14 +285,23 @@ void Instance::Private::requestConfig() {
|
||||
if (_configLoader || isKeysDestroyer()) {
|
||||
return;
|
||||
}
|
||||
_configLoader = std::make_unique<internal::ConfigLoader>(_instance, rpcDone([this](const MTPConfig &result) {
|
||||
configLoadDone(result);
|
||||
}), rpcFail([this](const RPCError &error) {
|
||||
return configLoadFail(error);
|
||||
}));
|
||||
_configLoader = std::make_unique<internal::ConfigLoader>(
|
||||
_instance,
|
||||
_userPhone,
|
||||
rpcDone([=](const MTPConfig &result) { configLoadDone(result); }),
|
||||
rpcFail([=](const RPCError &error) { return configLoadFail(error); }));
|
||||
_configLoader->load();
|
||||
}
|
||||
|
||||
void Instance::Private::setUserPhone(const QString &phone) {
|
||||
if (_userPhone != phone) {
|
||||
_userPhone = phone;
|
||||
if (_configLoader) {
|
||||
_configLoader->setPhone(_userPhone);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Instance::Private::requestConfigIfOld() {
|
||||
if (getms(true) - _lastConfigLoadedTime >= kConfigBecomesOldIn) {
|
||||
requestConfig();
|
||||
@@ -1318,6 +1329,10 @@ void Instance::requestConfig() {
|
||||
_private->requestConfig();
|
||||
}
|
||||
|
||||
void Instance::setUserPhone(const QString &phone) {
|
||||
_private->setUserPhone(phone);
|
||||
}
|
||||
|
||||
void Instance::requestConfigIfOld() {
|
||||
_private->requestConfigIfOld();
|
||||
}
|
||||
|
Reference in New Issue
Block a user