/* 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 #include "platform/platform_notifications_manager.h" #include "base/weak_ptr.h" namespace Platform { namespace Notifications { class Manager : public Window::Notifications::NativeManager, public base::has_weak_ptr { public: Manager(Window::Notifications::System *system); ~Manager(); protected: void doShowNativeNotification( not_null peer, MsgId topicRootId, Ui::PeerUserpicView &userpicView, MsgId msgId, const QString &title, const QString &subtitle, const QString &msg, DisplayOptions options) override; void doClearAllFast() override; void doClearFromItem(not_null item) override; void doClearFromTopic(not_null topic) override; void doClearFromHistory(not_null history) override; void doClearFromSession(not_null session) override; QString accountNameSeparator() override; bool doSkipAudio() const override; bool doSkipToast() const override; bool doSkipFlashBounce() const override; private: class Private; const std::unique_ptr _private; }; } // namespace Notifications } // namespace Platform