payments_non_panel_process.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. #pragma once
  8. class HistoryItem;
  9. namespace Main {
  10. class SessionShow;
  11. } // namespace Main
  12. namespace Window {
  13. class SessionController;
  14. } // namespace Window
  15. namespace Payments {
  16. enum class CheckoutResult;
  17. struct CreditsFormData;
  18. struct CreditsReceiptData;
  19. struct NonPanelPaymentForm;
  20. [[nodiscard]] bool IsCreditsInvoice(not_null<HistoryItem*> item);
  21. void ProcessCreditsPayment(
  22. std::shared_ptr<Main::SessionShow> show,
  23. QPointer<QWidget> fireworks,
  24. std::shared_ptr<CreditsFormData> form,
  25. Fn<void(CheckoutResult)> maybeReturnToBot = nullptr);
  26. void ProcessCreditsReceipt(
  27. not_null<Window::SessionController*> controller,
  28. std::shared_ptr<CreditsReceiptData> receipt,
  29. Fn<void(CheckoutResult)> maybeReturnToBot = nullptr);
  30. Fn<void(NonPanelPaymentForm)> ProcessNonPanelPaymentFormFactory(
  31. not_null<Window::SessionController*> controller,
  32. Fn<void(Payments::CheckoutResult)> maybeReturnToBot = nullptr);
  33. Fn<void(NonPanelPaymentForm)> ProcessNonPanelPaymentFormFactory(
  34. not_null<Window::SessionController*> controller,
  35. not_null<HistoryItem*> item);
  36. } // namespace Payments