Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5199)

Unified Diff: chrome/browser/media/router/discovery/media_sink_service_base.cc

Issue 2965843002: [Media Router] Support dual discovery (Closed)
Patch Set: clean up and fix unit tests Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/discovery/media_sink_service_base.cc
diff --git a/chrome/browser/media/router/discovery/media_sink_service_base.cc b/chrome/browser/media/router/discovery/media_sink_service_base.cc
index a1ccff11dccc786dfa4f97ed3ef1417eae112fb2..7e382a2a35994a956fa7bb828b246c84786680a6 100644
--- a/chrome/browser/media/router/discovery/media_sink_service_base.cc
+++ b/chrome/browser/media/router/discovery/media_sink_service_base.cc
@@ -20,6 +20,15 @@ MediaSinkServiceBase::MediaSinkServiceBase(
MediaSinkServiceBase::~MediaSinkServiceBase() = default;
+void MediaSinkServiceBase::AddObserver(Observer* observer) {
+ if (!observers_.HasObserver(observer))
+ observers_.AddObserver(observer);
+}
+
+void MediaSinkServiceBase::RemoveObserver(Observer* observer) {
+ observers_.RemoveObserver(observer);
+}
+
void MediaSinkServiceBase::SetTimerForTest(std::unique_ptr<base::Timer> timer) {
DCHECK(!finish_timer_);
finish_timer_ = std::move(timer);
@@ -63,4 +72,22 @@ void MediaSinkServiceBase::RestartTimer() {
StartTimer();
}
+void MediaSinkServiceBase::AddSink(const MediaSinkInternal& sink) {
+ if (!current_sinks_.insert(sink).second)
+ return;
+
+ for (auto& observer : observers_)
+ observer.OnMediaSinkAdded(sink);
+}
+
+void MediaSinkServiceBase::RemoveSinks() {
+ current_sinks_.clear();
+ for (auto& observer : observers_)
+ observer.OnMediaSinksRemoved();
+}
+
+size_t MediaSinkServiceBase::GetCurrentSinksSize() {
+ return current_sinks_.size();
+}
+
} // namespace media_router

Powered by Google App Engine
This is Rietveld 408576698