11 #include "threads/CriticalSection.h" 12 #include "utils/EventStream.h" 22 struct PlayerShowInfoChangedEvent;
29 enum class ChannelSwitchMode
32 INSTANT_OR_DELAYED_SWITCH
38 : m_previewAndPlayerShowInfo(previewAndPlayerShowInfo)
43 bool m_previewAndPlayerShowInfo{
false};
62 SubscribeToShowInfoEventStream();
63 m_events.Subscribe(owner, fn);
73 m_events.Unsubscribe(obj);
88 void SelectNextChannel(ChannelSwitchMode eSwitchMode);
96 void SelectPreviousChannel(ChannelSwitchMode eSwitchMode);
101 void SwitchToCurrentChannel();
108 bool IsPreview()
const;
115 bool IsPreviewAndShowInfo()
const;
137 void SetPlayingChannel(
const std::shared_ptr<CPVRChannelGroupMember>& groupMember);
142 void ClearPlayingChannel();
152 std::shared_ptr<CPVRChannelGroupMember> GetNextOrPrevChannel(
bool bNext);
160 void SelectChannel(
const std::shared_ptr<CPVRChannelGroupMember>& groupMember,
161 ChannelSwitchMode eSwitchMode);
168 void ShowInfo(
bool bForce);
173 void SubscribeToShowInfoEventStream();
178 void CheckAndPublishPreviewAndPlayerShowInfoChangedEvent();
180 mutable CCriticalSection m_critSection;
181 std::shared_ptr<CPVRChannelGroupMember> m_playingChannel;
182 std::shared_ptr<CPVRChannelGroupMember> m_currentChannel;
183 int m_iChannelEntryJobId = -1;
184 int m_iChannelInfoJobId = -1;
186 bool m_playerShowInfo{
false};
187 bool m_previewAndPlayerShowInfo{
false};
Definition: PVRGUIChannelNavigator.h:48
void Subscribe(A *owner, void(A::*fn)(const PVRPreviewAndPlayerShowInfoChangedEvent &))
Subscribe to the event stream for changes of channel preview and player show info.
Definition: PVRGUIChannelNavigator.h:60
Definition: ContextMenuManager.h:24
Definition: EventStream.h:65
Definition: ArraysTest1.cpp:27
Definition: PVRGUIChannelNavigator.h:35
Definition: PVRChannelGroupMember.h:23
Definition: PlayerGUIInfo.h:34
Definition: AudioDecoder.h:18
void Unsubscribe(A *obj)
Unsubscribe from the event stream for changes of channel preview and player show info.
Definition: PVRGUIChannelNavigator.h:71