/* 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_integration.h" #include #include #include namespace Platform { class WindowsIntegration final : public Integration , public QAbstractNativeEventFilter { public: void init() override; [[nodiscard]] ITaskbarList3 *taskbarList() const; [[nodiscard]] static WindowsIntegration &Instance(); private: bool nativeEventFilter( const QByteArray &eventType, void *message, long *result) override; bool processEvent( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *result); uint32 _taskbarCreatedMsgId = 0; winrt::com_ptr _taskbarList; }; [[nodiscard]] std::unique_ptr CreateIntegration(); } // namespace Platform