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.
11 #include "pvr/PVRChannelNumberInputHandler.h"
12 #include "pvr/dialogs/GUIDialogPVRItemsViewBase.h"
13 #include "threads/SystemClock.h"
23 class CPVRChannelGroup
;
25 class CGUIDialogPVRChannelsOSD
: public CGUIDialogPVRItemsViewBase
,
26 public CPVRChannelNumberInputHandler
29 CGUIDialogPVRChannelsOSD();
30 ~CGUIDialogPVRChannelsOSD() override
;
31 bool OnMessage(CGUIMessage
& message
) override
;
32 bool OnAction(const CAction
& action
) override
;
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
;
45 void OnInitWindow() override
;
46 void OnDeinitWindow(int nextWindowID
) override
;
47 void RestoreControlStates() override
;
48 void SaveControlStates() override
;
49 void SetInvalid() override
;
52 void GotoChannel(int iItem
);
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
;