Intel® Collaboration Suite for WebRTC  version 4.3.1
Open WebRTC Toolkit (OWT) Client SDK for Windows*
publication.h
1 // Copyright (C) <2018> Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 #ifndef OWT_BASE_PUBLICATION_H_
5 #define OWT_BASE_PUBLICATION_H_
6 #include "owt/base/commontypes.h"
7 #include "owt/base/exception.h"
8 #include "owt/base/connectionstats.h"
9 namespace owt {
10 namespace base {
13  public:
15  virtual void OnEnded() = 0;
17  virtual void OnMute(TrackKind track_kind) = 0;
19  virtual void OnUnmute(TrackKind track_kind) = 0;
21  virtual void OnError(std::unique_ptr<Exception> failure) = 0;
22 };
23 class Publication {
24  public:
26  virtual void Mute(TrackKind track_kind,
27  std::function<void()> on_success,
28  std::function<void(std::unique_ptr<Exception>)> on_failure) = 0;
30  virtual void Unmute(TrackKind track_kind,
31  std::function<void()> on_success,
32  std::function<void(std::unique_ptr<Exception>)> on_failure) = 0;
34  virtual void GetStats(
35  std::function<void(std::shared_ptr<ConnectionStats>)> on_success,
36  std::function<void(std::unique_ptr<Exception>)> on_failure) = 0;
38  virtual void Stop() = 0;
40  virtual void AddObserver(PublicationObserver& observer) = 0;
42  virtual void RemoveObserver(PublicationObserver& observer) = 0;
43 };
44 } // namespace base
45 } // namespace owt
46 #endif // OWT_BASE_PUBLICATION_H_
virtual void Mute(TrackKind track_kind, std::function< void()> on_success, std::function< void(std::unique_ptr< Exception >)> on_failure)=0
Pause current publication&#39;s audio or/and video basing on |track_kind| provided.
Definition: publication.h:23
virtual void OnMute(TrackKind track_kind)=0
Triggered when audio and/or video is muted.
virtual void Stop()=0
Stop current publication.
virtual void GetStats(std::function< void(std::shared_ptr< ConnectionStats >)> on_success, std::function< void(std::unique_ptr< Exception >)> on_failure)=0
Get conneciton stats of current publication.
Definition: audioplayerinterface.h:8
virtual void Unmute(TrackKind track_kind, std::function< void()> on_success, std::function< void(std::unique_ptr< Exception >)> on_failure)=0
Pause current publication&#39;s audio or/and video basing on |track_kind| provided.
virtual void OnEnded()=0
Triggered when publication is ended.
virtual void RemoveObserver(PublicationObserver &observer)=0
Unregister an observer from this publication.
Observer that receives event from publication.
Definition: publication.h:12
virtual void OnUnmute(TrackKind track_kind)=0
Triggered when audio and/or video is unmuted.
virtual void AddObserver(PublicationObserver &observer)=0
Register an observer onto this publication.
virtual void OnError(std::unique_ptr< Exception > failure)=0
Triggered when an error occured on the publication.