| Index: chrome/browser/media/router/media_router.h
|
| diff --git a/chrome/browser/media/router/media_router.h b/chrome/browser/media/router/media_router.h
|
| index 27f3d0d805f1934cf2008982a85dd7d9ffc00df3..a84f95d90da37146f7f02b62c48f7e70ac968965 100644
|
| --- a/chrome/browser/media/router/media_router.h
|
| +++ b/chrome/browser/media/router/media_router.h
|
| @@ -32,6 +32,7 @@ class Origin;
|
| namespace media_router {
|
|
|
| class IssuesObserver;
|
| +class MediaRouteController;
|
| class MediaRoutesObserver;
|
| class MediaSinksObserver;
|
| class PresentationConnectionStateObserver;
|
| @@ -188,9 +189,15 @@ class MediaRouter : public KeyedService {
|
| // there is a change to the media routes, subclass MediaRoutesObserver.
|
| virtual std::vector<MediaRoute> GetCurrentRoutes() const = 0;
|
|
|
| + // Returns a controller for sending media commands to a route. Returns a
|
| + // nullptr if no MediaRoute exists for the given |route_id|.
|
| + virtual scoped_refptr<MediaRouteController> GetRouteController(
|
| + const MediaRoute::Id& route_id) = 0;
|
| +
|
| private:
|
| friend class IssuesObserver;
|
| friend class MediaSinksObserver;
|
| + friend class MediaRouteController;
|
| friend class MediaRoutesObserver;
|
| friend class PresentationConnectionStateObserver;
|
| friend class RouteMessageObserver;
|
| @@ -246,6 +253,11 @@ class MediaRouter : public KeyedService {
|
| // stop receiving further updates.
|
| virtual void UnregisterRouteMessageObserver(
|
| RouteMessageObserver* observer) = 0;
|
| +
|
| + // Removes the MediaRouteController for |route_id| from the list of
|
| + // controllers held by |this|.
|
| + virtual void DetachRouteController(const MediaRoute::Id& route_id,
|
| + MediaRouteController* controller) = 0;
|
| };
|
|
|
| } // namespace media_router
|
|
|