Chromium Code Reviews| 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 0f8fd4b7386f322a16b2950c04efea0b576f99e2..6db78297b37bc734baa00deda584a59ea21d9fe1 100644 |
| --- a/chrome/browser/media/router/media_router.h |
| +++ b/chrome/browser/media/router/media_router.h |
| @@ -33,6 +33,7 @@ class Origin; |
| namespace media_router { |
| class IssuesObserver; |
| +class MediaRouteController; |
| class MediaRoutesObserver; |
| class MediaSinksObserver; |
| class PresentationConnectionStateObserver; |
| @@ -189,9 +190,15 @@ class MediaRouter : public KeyedService { |
| // there is a change to the media routes, subclass MediaRoutesObserver. |
| virtual std::vector<MediaRoute> GetCurrentRoutes() const = 0; |
| + // Returns a nullptr if no MediaRoute exists for the given |route_id|, if a |
| + // connection with the extension-side controller could not be established. |
|
mark a. foltz
2017/03/30 23:03:28
How does this behave on Android? Suggest dropping
takumif
2017/04/04 03:19:50
It'd return a nullptr for now. Dropped the last pa
|
| + 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; |
| @@ -247,6 +254,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 |