[Windows] Fix driver version detection of AMD RDNA+ GPU on Windows 10
[xbmc.git] / xbmc / pvr / dialogs / GUIDialogPVRChannelsOSD.h
blobc23fb9211ad8ce21e8148aaf6dc3f9b7562e0cee
1 /*
2 * Copyright (C) 2012-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "pvr/PVRChannelNumberInputHandler.h"
12 #include "pvr/dialogs/GUIDialogPVRItemsViewBase.h"
13 #include "threads/SystemClock.h"
15 #include <map>
16 #include <memory>
17 #include <string>
19 namespace PVR
21 enum class PVREvent;
23 class CPVRChannelGroup;
25 class CGUIDialogPVRChannelsOSD : public CGUIDialogPVRItemsViewBase,
26 public CPVRChannelNumberInputHandler
28 public:
29 CGUIDialogPVRChannelsOSD();
30 ~CGUIDialogPVRChannelsOSD() override;
31 bool OnMessage(CGUIMessage& message) override;
32 bool OnAction(const CAction& action) override;
34 /*!
35 * @brief CEventStream callback for PVR events.
36 * @param event The event.
38 void Notify(const PVREvent& event);
40 // CPVRChannelNumberInputHandler implementation
41 void GetChannelNumbers(std::vector<std::string>& channelNumbers) override;
42 void OnInputDone() override;
44 protected:
45 void OnInitWindow() override;
46 void OnDeinitWindow(int nextWindowID) override;
47 void RestoreControlStates() override;
48 void SaveControlStates() override;
49 void SetInvalid() override;
51 private:
52 void GotoChannel(int iItem);
53 void Update();
54 void SaveSelectedItemPath(int iGroupID);
55 std::string GetLastSelectedItemPath(int iGroupID) const;
57 std::shared_ptr<CPVRChannelGroup> m_group;
58 std::map<int, std::string> m_groupSelectedItemPaths;
59 XbmcThreads::EndTime<> m_refreshTimeout;
61 } // namespace PVR