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

Unified Diff: chrome/browser/media/router/media_router_base.cc

Issue 2731043002: [Media Router] Add a presentation id to MediaRoute mapping in the MR (Closed)
Patch Set: Created 3 years, 10 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/media_router_base.cc
diff --git a/chrome/browser/media/router/media_router_base.cc b/chrome/browser/media/router/media_router_base.cc
index 923afc4efc79b6e37ec7dc9f865c8d1f5b3f6c2b..489d6f00ce8198937a3ec93cf444bef6b03b3c3c 100644
--- a/chrome/browser/media/router/media_router_base.cc
+++ b/chrome/browser/media/router/media_router_base.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/media/router/media_router_base.h"
+#include <map>
+
#include "base/bind.h"
#include "base/guid.h"
#include "base/memory/ptr_util.h"
@@ -38,9 +40,28 @@ class MediaRouterBase::InternalMediaRoutesObserver
}
}
+ void RegisterPresentationRoute(const std::string& presentation_id,
+ const MediaRoute& route) {
+ presentation_id_route.insert(std::make_pair(presentation_id, route));
+ }
+
+ void UnregisterPresentationRoute(const std::string& presentation_id) {
+ presentation_id_route.erase(presentation_id);
imcheng 2017/03/08 20:06:35 If a MediaRoute was removed by the MRP, how is the
mark a. foltz 2017/03/08 22:01:47 One solution would be for each update sent to the
zhaobin 2017/03/09 00:34:27 Done.
+ }
+
+ const MediaRoute* GetPresentationRoute(
+ const std::string& presentation_id) const {
+ auto it = presentation_id_route.find(presentation_id);
+ if (it == presentation_id_route.end())
+ return nullptr;
+
+ return &it->second;
+ }
+
bool has_route;
std::vector<MediaRoute> current_routes;
std::vector<MediaRoute::Id> incognito_route_ids;
+ std::map<std::string, MediaRoute> presentation_id_route;
private:
DISALLOW_COPY_AND_ASSIGN(InternalMediaRoutesObserver);
@@ -76,6 +97,25 @@ std::vector<MediaRoute> MediaRouterBase::GetCurrentRoutes() const {
return internal_routes_observer_->current_routes;
}
+void MediaRouterBase::RegisterPresentationRoute(
+ const std::string& presentation_id,
+ const MediaRoute& route) {
+ DCHECK(internal_routes_observer_);
+ internal_routes_observer_->RegisterPresentationRoute(presentation_id, route);
+}
+
+void MediaRouterBase::UnregisterPresentationRoute(
+ const std::string& presentation_id) {
+ DCHECK(internal_routes_observer_);
+ internal_routes_observer_->UnregisterPresentationRoute(presentation_id);
+}
+
+const MediaRoute* MediaRouterBase::GetPresentationRoute(
+ const std::string& presentation_id) const {
+ DCHECK(internal_routes_observer_);
+ return internal_routes_observer_->GetPresentationRoute(presentation_id);
+}
+
MediaRouterBase::MediaRouterBase() : initialized_(false) {}
// static

Powered by Google App Engine
This is Rietveld 408576698