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

Unified Diff: chrome/browser/media/router/media_routes_observer.h

Issue 1415103006: Non-Local Join for Media Router and Presentation API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing ChromeOS System Tray Test Created 4 years, 11 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_routes_observer.h
diff --git a/chrome/browser/media/router/media_routes_observer.h b/chrome/browser/media/router/media_routes_observer.h
index c9a140fa12c7dd1d42b762ea6f5f3013d2f0a487..32501ef211ceea4e7f2b7e4178459b570ca0f753 100644
--- a/chrome/browser/media/router/media_routes_observer.h
+++ b/chrome/browser/media/router/media_routes_observer.h
@@ -15,21 +15,34 @@ namespace media_router {
class MediaRouter;
// Base class for observing when the set of MediaRoutes and their associated
-// MediaSinks have been updated.
+// MediaSinks have been updated. When an object is instantiated with a
+// |source_id|, the observer expects that |routes| reported by
+// |OnRoutesUpdated| that match the route IDs contained in the
+// |joinable_route_ids| can be connected joined by the source. If no
+// |source_id| is supplied, then the idea of joinable routes no longer applies.
class MediaRoutesObserver {
public:
- explicit MediaRoutesObserver(MediaRouter* router);
+ explicit MediaRoutesObserver(MediaRouter* router) :
+ MediaRoutesObserver(router, MediaSource::Id()) {}
+ MediaRoutesObserver(MediaRouter* router, const MediaSource::Id source_id);
virtual ~MediaRoutesObserver();
// Invoked when the list of routes and their associated sinks have been
- // updated.
+ // updated with the context of the |source_id|. This will return a list of
+ // |routes| and a list of |joinable_route_ids|. A route is joinable only if
+ // it is joinable in the context of the |source_id|.
// Implementations may not perform operations that modify the Media Router's
// observer list. In particular, invoking this observer's destructor within
// OnRoutesUpdated will result in undefined behavior.
- virtual void OnRoutesUpdated(const std::vector<MediaRoute>& routes) {}
+ virtual void OnRoutesUpdated(
+ const std::vector<MediaRoute>& routes,
+ const std::vector<MediaRoute::Id>& joinable_route_ids) {}
+
+ const MediaSource::Id source_id() const { return source_id_; }
private:
MediaRouter* router_;
+ const MediaSource::Id source_id_;
DISALLOW_COPY_AND_ASSIGN(MediaRoutesObserver);
};
« no previous file with comments | « chrome/browser/media/router/media_router_mojo_impl_unittest.cc ('k') | chrome/browser/media/router/media_routes_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698