MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / ComputeLocationKey

Function ComputeLocationKey

Telegram/SourceFiles/export/export_api_wrap.cpp:46–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44};
45
46LocationKey ComputeLocationKey(const Data::FileLocation &value) {
47 auto result = LocationKey();
48 result.type = value.dcId;
49 value.data.match([&](const MTPDinputDocumentFileLocation &data) {
50 const auto letter = data.vthumb_size().v.isEmpty()
51 ? char(0)
52 : data.vthumb_size().v[0];
53 result.type |= (2ULL << 24);
54 result.type |= (uint64(uint32(letter)) << 16);
55 result.id = data.vid().v;
56 }, [&](const MTPDinputPhotoFileLocation &data) {
57 const auto letter = data.vthumb_size().v.isEmpty()
58 ? char(0)
59 : data.vthumb_size().v[0];
60 result.type |= (6ULL << 24);
61 result.type |= (uint64(uint32(letter)) << 16);
62 result.id = data.vid().v;
63 }, [&](const MTPDinputTakeoutFileLocation &data) {
64 result.type |= (5ULL << 24);
65 }, [](const auto &data) {
66 Unexpected("File location type in Export::ComputeLocationKey.");
67 });
68 return result;
69}
70
71Settings::Type SettingsFromDialogsType(Data::DialogInfo::Type type) {
72 using DialogType = Data::DialogInfo::Type;

Callers 2

saveMethod · 0.85
findMethod · 0.85

Calls 2

LocationKeyClass · 0.85
isEmptyMethod · 0.45

Tested by

no test coverage detected