Twitch SDK (Internal)
ichannellistener.h
Go to the documentation of this file.
1 /********************************************************************************************
2 * Twitch Broadcasting SDK
3 *
4 * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5 * may not be copied or used except in accordance with the terms of that agreement
6 * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7 *********************************************************************************************/
8 
9 #pragma once
10 
13 
14 
15 namespace ttv
16 {
17  class IChannelListener;
18  class ChannelListenerProxy;
19 }
20 
21 
23 {
24 public:
29  virtual void StreamUp(uint32_t playDelaySeconds) = 0;
33  virtual void StreamDown() = 0;
37  virtual void StreamViewerCountChanged(uint32_t viewerCount) = 0;
42  virtual void StreamTriggeredMidroll(uint32_t durationSeconds) = 0;
47  virtual void StreamReceivedWatchPartyUpdate(const WatchPartyUpdate& update) = 0;
53  virtual void ProfileImageUpdated(const std::vector<ProfileImage>& images) = 0;
54 };
55 
56 
61 {
62 public:
63  using StreamUpCallback = std::function<void(uint32_t durationSeconds)>;
64  using StreamDownCallback = std::function<void()>;
65  using StreamViewerCountChangedCallback = std::function<void(uint32_t viewerCount)>;
66  using StreamTriggeredMidrollCallback = std::function<void(uint32_t durationSeconds)>;
67  using StreamReceivedWatchPartyUpdateCallback = std::function<void(const WatchPartyUpdate& update)>;
68  using ProfileImageUpdatedCallback = std::function<void(const std::vector<ProfileImage>& images)>;
69 
70  std::function<void(uint32_t viewerCount)> mViewerCountChangedHandler;
71 
72  virtual void StreamUp(uint32_t playDelaySeconds) override
73  {
74  if (streamUpCallback != nullptr)
75  {
76  streamUpCallback(playDelaySeconds);
77  }
78  }
79 
80  virtual void StreamDown() override
81  {
82  if (streamDownCallback != nullptr)
83  {
84  streamDownCallback();
85  }
86  }
87 
88  virtual void StreamViewerCountChanged(uint32_t viewerCount) override
89  {
90  if (streamViewerCountChangedCallback != nullptr)
91  {
92  streamViewerCountChangedCallback(viewerCount);
93  }
94  }
95 
96  virtual void StreamTriggeredMidroll(uint32_t durationSeconds) override
97  {
98  if (streamTriggeredMidrollCallback != nullptr)
99  {
100  streamTriggeredMidrollCallback(durationSeconds);
101  }
102  }
103 
104  virtual void StreamReceivedWatchPartyUpdate(const WatchPartyUpdate& update) override
105  {
106  if (streamReceivedWatchPartyUpdateCallback != nullptr)
107  {
108  streamReceivedWatchPartyUpdateCallback(update);
109  }
110  }
111 
112  virtual void ProfileImageUpdated(const std::vector<ProfileImage>& images) override
113  {
114  if (profileImageUpdatedCallback != nullptr)
115  {
116  profileImageUpdatedCallback(images);
117  }
118  }
119 
126 };
StreamDownCallback streamDownCallback
Definition: ichannellistener.h:121
std::function< void(uint32_t viewerCount)> mViewerCountChangedHandler
Definition: ichannellistener.h:70
StreamTriggeredMidrollCallback streamTriggeredMidrollCallback
Definition: ichannellistener.h:123
virtual void StreamDown() override
Definition: ichannellistener.h:80
virtual void StreamUp(uint32_t playDelaySeconds)=0
StreamReceivedWatchPartyUpdateCallback streamReceivedWatchPartyUpdateCallback
Definition: ichannellistener.h:124
virtual void StreamViewerCountChanged(uint32_t viewerCount) override
Definition: ichannellistener.h:88
std::function< void(const std::vector< ProfileImage > &images)> ProfileImageUpdatedCallback
Definition: ichannellistener.h:68
virtual void StreamTriggeredMidroll(uint32_t durationSeconds) override
Definition: ichannellistener.h:96
StreamUpCallback streamUpCallback
Definition: ichannellistener.h:120
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Definition: ichannellistener.h:22
StreamViewerCountChangedCallback streamViewerCountChangedCallback
Definition: ichannellistener.h:122
std::function< void(uint32_t durationSeconds)> StreamUpCallback
Definition: ichannellistener.h:63
std::function< void()> StreamDownCallback
Definition: ichannellistener.h:64
Definition: ichannellistener.h:60
std::function< void(uint32_t viewerCount)> StreamViewerCountChangedCallback
Definition: ichannellistener.h:65
std::function< void(const WatchPartyUpdate &update)> StreamReceivedWatchPartyUpdateCallback
Definition: ichannellistener.h:67
virtual void StreamViewerCountChanged(uint32_t viewerCount)=0
virtual void StreamReceivedWatchPartyUpdate(const WatchPartyUpdate &update) override
Definition: ichannellistener.h:104
virtual void StreamDown()=0
virtual void StreamUp(uint32_t playDelaySeconds) override
Definition: ichannellistener.h:72
virtual void StreamTriggeredMidroll(uint32_t durationSeconds)=0
virtual void StreamReceivedWatchPartyUpdate(const WatchPartyUpdate &update)=0
ProfileImageUpdatedCallback profileImageUpdatedCallback
Definition: ichannellistener.h:125
std::function< void(uint32_t durationSeconds)> StreamTriggeredMidrollCallback
Definition: ichannellistener.h:66
virtual void ProfileImageUpdated(const std::vector< ProfileImage > &images) override
Definition: ichannellistener.h:112
Definition: coretypes.h:185
virtual void ProfileImageUpdated(const std::vector< ProfileImage > &images)=0