2
0
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:
John Preston
2019-07-05 15:38:38 +02:00
parent 3ca28c0cf9
commit 567bf60644
100 changed files with 2807 additions and 2672 deletions

View File

@@ -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(