/* 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 "mtproto/sender.h" class ApiWrap; class HistoryItem; struct PollData; namespace Main { class Session; } // namespace Main namespace Api { struct SendAction; class Polls final { public: explicit Polls(not_null api); void create( const PollData &data, const SendAction &action, Fn done, Fn fail); void sendVotes( FullMsgId itemId, const std::vector &options); void close(not_null item); void reloadResults(not_null item); private: const not_null _session; MTP::Sender _api; base::flat_map _pollVotesRequestIds; base::flat_map _pollCloseRequestIds; base::flat_map _pollReloadRequestIds; }; } // namespace Api