// // Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // #pragma once #include "td/telegram/CustomEmojiId.h" #include "td/telegram/td_api.h" #include "td/telegram/telegram_api.h" #include "td/utils/common.h" namespace td { class StickersManager; class EmojiGroup { string title_; CustomEmojiId icon_custom_emoji_id_; vector emojis_; public: EmojiGroup() = default; explicit EmojiGroup(telegram_api::object_ptr &&emoji_group); td_api::object_ptr get_emoji_category_object(StickersManager *stickers_manager) const; CustomEmojiId get_icon_custom_emoji_id() const { return icon_custom_emoji_id_; } template void store(StorerT &storer) const; template void parse(ParserT &parser); }; class EmojiGroupList { string used_language_codes_; int32 hash_ = 0; vector emoji_groups_; double next_reload_time_ = 0.0; public: EmojiGroupList() = default; EmojiGroupList(string used_language_codes, int32 hash, vector> &&emoji_groups); td_api::object_ptr get_emoji_categories_object(StickersManager *stickers_manager) const; const string &get_used_language_codes() const { return used_language_codes_; } int32 get_hash() const { return hash_; } bool is_expired() const; void update_next_reload_time(); vector get_icon_custom_emoji_ids() const; template void store(StorerT &storer) const; template void parse(ParserT &parser); }; } // namespace td