/* 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 namespace qthelp { class RegularExpressionMatch; } // namespace qthelp namespace ChatHelpers { class Show; } // namespace ChatHelpers namespace Settings { struct CreditsEntryBoxStyleOverrides; } // namespace Settings namespace Window { class SessionController; } // namespace Window namespace Core { struct LocalUrlHandler { QString expression; Fn handler; }; [[nodiscard]] const std::vector &LocalUrlHandlers(); [[nodiscard]] const std::vector &InternalUrlHandlers(); [[nodiscard]] QString TryConvertUrlToLocal(QString url); [[nodiscard]] bool InternalPassportLink(const QString &url); [[nodiscard]] bool StartUrlRequiresActivate(const QString &url); void ResolveAndShowUniqueGift( std::shared_ptr show, const QString &slug, ::Settings::CreditsEntryBoxStyleOverrides st); void ResolveAndShowUniqueGift( std::shared_ptr show, const QString &slug); [[nodiscard]] TimeId ParseVideoTimestamp(QStringView value); } // namespace Core