mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-09-05 17:06:03 +00:00
Use getters in MTP classes.
This commit is contained in:
@@ -22,7 +22,7 @@ constexpr auto kDefaultSearchTimeoutMs = crl::time(200);
|
||||
|
||||
} // namespace
|
||||
|
||||
MTPmessages_Search PrepareSearchRequest(
|
||||
std::optional<MTPmessages_Search> PrepareSearchRequest(
|
||||
not_null<PeerData*> peer,
|
||||
Storage::SharedMediaType type,
|
||||
const QString &query,
|
||||
@@ -56,6 +56,9 @@ MTPmessages_Search PrepareSearchRequest(
|
||||
}
|
||||
return MTP_inputMessagesFilterEmpty();
|
||||
}();
|
||||
if (query.isEmpty() && filter.type() == mtpc_inputMessagesFilterEmpty) {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
const auto minId = 0;
|
||||
const auto maxId = 0;
|
||||
@@ -107,32 +110,32 @@ SearchResult ParseSearchResult(
|
||||
switch (data.type()) {
|
||||
case mtpc_messages_messages: {
|
||||
auto &d = data.c_messages_messages();
|
||||
peer->owner().processUsers(d.vusers);
|
||||
peer->owner().processChats(d.vchats);
|
||||
result.fullCount = d.vmessages.v.size();
|
||||
return &d.vmessages.v;
|
||||
peer->owner().processUsers(d.vusers());
|
||||
peer->owner().processChats(d.vchats());
|
||||
result.fullCount = d.vmessages().v.size();
|
||||
return &d.vmessages().v;
|
||||
} break;
|
||||
|
||||
case mtpc_messages_messagesSlice: {
|
||||
auto &d = data.c_messages_messagesSlice();
|
||||
peer->owner().processUsers(d.vusers);
|
||||
peer->owner().processChats(d.vchats);
|
||||
result.fullCount = d.vcount.v;
|
||||
return &d.vmessages.v;
|
||||
peer->owner().processUsers(d.vusers());
|
||||
peer->owner().processChats(d.vchats());
|
||||
result.fullCount = d.vcount().v;
|
||||
return &d.vmessages().v;
|
||||
} break;
|
||||
|
||||
case mtpc_messages_channelMessages: {
|
||||
auto &d = data.c_messages_channelMessages();
|
||||
if (auto channel = peer->asChannel()) {
|
||||
channel->ptsReceived(d.vpts.v);
|
||||
channel->ptsReceived(d.vpts().v);
|
||||
} else {
|
||||
LOG(("API Error: received messages.channelMessages when "
|
||||
"no channel was passed! (ParseSearchResult)"));
|
||||
}
|
||||
peer->owner().processUsers(d.vusers);
|
||||
peer->owner().processChats(d.vchats);
|
||||
result.fullCount = d.vcount.v;
|
||||
return &d.vmessages.v;
|
||||
peer->owner().processUsers(d.vusers());
|
||||
peer->owner().processChats(d.vchats());
|
||||
result.fullCount = d.vcount().v;
|
||||
return &d.vmessages().v;
|
||||
} break;
|
||||
|
||||
case mtpc_messages_messagesNotModified: {
|
||||
@@ -345,12 +348,17 @@ void SearchController::requestMore(
|
||||
if (listData->requests.contains(key)) {
|
||||
return;
|
||||
}
|
||||
auto requestId = request(PrepareSearchRequest(
|
||||
auto prepared = PrepareSearchRequest(
|
||||
listData->peer,
|
||||
query.type,
|
||||
query.query,
|
||||
key.aroundId,
|
||||
key.direction)
|
||||
key.direction);
|
||||
if (!prepared) {
|
||||
return;
|
||||
}
|
||||
auto requestId = request(
|
||||
std::move(*prepared)
|
||||
).done([=](const MTPmessages_Messages &result) {
|
||||
listData->requests.remove(key);
|
||||
auto parsed = ParseSearchResult(
|
||||
|
Reference in New Issue
Block a user