main_app_config_values.cpp 855 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. This file is part of Telegram Desktop,
  3. the official desktop application for the Telegram messaging service.
  4. For license and copyright information please follow this link:
  5. https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. */
  7. #include "main/main_app_config_values.h"
  8. #include "main/main_app_config.h"
  9. #include "main/main_session.h"
  10. namespace AppConfig {
  11. std::optional<QString> FragmentLink(not_null<Main::Session*> session) {
  12. using Strings = std::vector<QString>;
  13. const auto domains = session->appConfig().get<Strings>(
  14. u"whitelisted_domains"_q,
  15. std::vector<QString>());
  16. const auto proj = [&, domain = u"fragment"_q](const QString &p) {
  17. return p.contains(domain);
  18. };
  19. const auto it = ranges::find_if(domains, proj);
  20. return (it == end(domains))
  21. ? std::nullopt
  22. : std::make_optional<QString>(*it);
  23. }
  24. } // namespace AppConfig