// This is the source code of AyuGram for Desktop. // // We do not and cannot prevent the use of our code, // but be respectful and credit the original author. // // Copyright @Radolyn, 2023 #pragma once #include "ayu/sync/models.h" #include "core/application.h" #include "main/main_account.h" #include "main/main_domain.h" #include "main/main_session.h" #include "dialogs/dialogs_main_list.h" using Callback = Fn; Main::Session *getSession(ID userId); bool accountExists(ID userId); void dispatchToMainThread(std::function callback, int delay = 0); not_null getHistoryFromDialogId(ID dialogId, Main::Session *session); ID getDialogIdFromPeer(not_null peer); std::pair serializeTextWithEntities(not_null item); ID getBareID(not_null peer); bool isAyuGramRelated(ID peerId); bool isExteraRelated(ID peerId); void MarkAsReadChatList(not_null list); void MarkAsReadThread(not_null thread); void readHistory(not_null message); QString formatTTL(int time); QString formatDateTime(const QDateTime &date); QString getDCName(int dc); QString getMediaSize(not_null message); QString getMediaMime(not_null message); QString getMediaName(not_null message); QString getMediaResolution(not_null message); QString getMediaDC(not_null message); void searchById(ID userId, Main::Session *session, bool retry, const Callback &callback); void searchById(ID userId, Main::Session *session, const Callback& callback);