| Index: chrome/browser/ui/webui/media_router/query_result_manager.h
|
| diff --git a/chrome/browser/ui/webui/media_router/query_result_manager.h b/chrome/browser/ui/webui/media_router/query_result_manager.h
|
| index f355b07d5acca7db49079ed984f77b093f9a62ee..dc2bd7702fe5c23e3fd63ac323ef388fde60a086 100644
|
| --- a/chrome/browser/ui/webui/media_router/query_result_manager.h
|
| +++ b/chrome/browser/ui/webui/media_router/query_result_manager.h
|
| @@ -24,6 +24,7 @@ namespace media_router {
|
|
|
| class MediaRouter;
|
| class MediaSinksObserver;
|
| +class MediaSinksSearchRequest;
|
| struct RoutesQueryResult;
|
| struct SinksQueryResult;
|
|
|
| @@ -66,6 +67,9 @@ class QueryResultManager {
|
| // |sinks|: List of sinks and the cast modes they are compatible with.
|
| virtual void OnResultsUpdated(
|
| const std::vector<MediaSinkWithCastModes>& sinks) = 0;
|
| + virtual void OnSearchResultsReceived(
|
| + const MediaSink::Id& sink_id,
|
| + const std::vector<MediaSinkWithCastModes>& sinks) = 0;
|
| };
|
|
|
| explicit QueryResultManager(MediaRouter* media_router);
|
| @@ -88,6 +92,11 @@ class QueryResultManager {
|
| // Stops notifying observers for |cast_mode|.
|
| void StopSinksQuery(MediaCastMode cast_mode);
|
|
|
| + // Requests a list of MediaSinks compatible the current source associated with
|
| + // |cast_mode| that have an ID matching |sink_id|. Results are sent to all
|
| + // observers registered with AddObserver().
|
| + void StartSinkSearch(MediaCastMode cast_mode, const MediaSink::Id& sink_id);
|
| +
|
| // Gets the set of cast modes that are being actively queried. |cast_mode_set|
|
| // should be empty.
|
| void GetSupportedCastModes(CastModeSet* cast_modes) const;
|
| @@ -98,6 +107,7 @@ class QueryResultManager {
|
|
|
| private:
|
| class CastModeMediaSinksObserver;
|
| + class SearchSinksRequest;
|
|
|
| FRIEND_TEST_ALL_PREFIXES(QueryResultManagerTest, Observers);
|
| FRIEND_TEST_ALL_PREFIXES(QueryResultManagerTest, StartRoutesDiscovery);
|
| @@ -120,6 +130,8 @@ class QueryResultManager {
|
|
|
| // Notifies observers that results have been updated.
|
| void NotifyOnResultsUpdated();
|
| + void NotifyOnSearchResults(const MediaSink::Id& sink_id,
|
| + const std::vector<MediaSink>& sinks);
|
|
|
| // MediaSinksObservers that listens for compatible MediaSink updates.
|
| // Each observer is associated with a MediaCastMode. Results received by
|
|
|