/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once #include "data/data_types.h" namespace Data { using FileOriginMessage = FullMsgId; struct FileOriginUserPhoto { FileOriginUserPhoto(UserId userId, PhotoId photoId) : userId(userId) , photoId(photoId) { } UserId userId = 0; PhotoId photoId = 0; }; struct FileOriginPeerPhoto { explicit FileOriginPeerPhoto(PeerId peerId) : peerId(peerId) { } PeerId peerId = 0; }; struct FileOriginStickerSet { FileOriginStickerSet(uint64 setId, uint64 accessHash) : setId(setId) , accessHash(accessHash) { } uint64 setId = 0; uint64 accessHash = 0; }; struct FileOriginSavedGifs { }; using FileOrigin = base::optional_variant< FileOriginMessage, FileOriginUserPhoto, FileOriginPeerPhoto, FileOriginStickerSet, FileOriginSavedGifs>; } // namespace Data