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

Side by Side Diff: chrome/browser/media/router/media_router_mojo_impl.cc

Issue 1618963006: Mojo C++ bindings: support enum validation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/media/router/media_router_mojo_impl.h" 5 #include "chrome/browser/media/router/media_router_mojo_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 } 723 }
724 724
725 // Listen for more messages. 725 // Listen for more messages.
726 media_route_provider_->ListenForRouteMessages( 726 media_route_provider_->ListenForRouteMessages(
727 route_id, base::Bind(&MediaRouterMojoImpl::OnRouteMessagesReceived, 727 route_id, base::Bind(&MediaRouterMojoImpl::OnRouteMessagesReceived,
728 base::Unretained(this), route_id)); 728 base::Unretained(this), route_id));
729 } 729 }
730 730
731 void MediaRouterMojoImpl::OnSinkAvailabilityUpdated( 731 void MediaRouterMojoImpl::OnSinkAvailabilityUpdated(
732 SinkAvailability availability) { 732 SinkAvailability availability) {
733 if (!interfaces::MediaRouter::SinkAvailability_IsValidValue(availability)) {
734 DLOG(WARNING) << "Unknown SinkAvailability value " << availability;
735 return;
736 }
737
738 if (availability_ == availability) 733 if (availability_ == availability)
739 return; 734 return;
740 735
741 availability_ = availability; 736 availability_ = availability;
742 if (availability_ == interfaces::MediaRouter::SinkAvailability::UNAVAILABLE) { 737 if (availability_ == interfaces::MediaRouter::SinkAvailability::UNAVAILABLE) {
743 // Sinks are no longer available. MRPM has already removed all sink queries. 738 // Sinks are no longer available. MRPM has already removed all sink queries.
744 for (auto& source_and_query : sinks_queries_) { 739 for (auto& source_and_query : sinks_queries_) {
745 auto* query = source_and_query.second; 740 auto* query = source_and_query.second;
746 query->is_active = false; 741 query->is_active = false;
747 query->has_cached_result = false; 742 query->has_cached_result = false;
748 query->cached_sink_list.clear(); 743 query->cached_sink_list.clear();
749 } 744 }
750 } else { 745 } else {
751 // Sinks are now available. Tell MRPM to start all sink queries again. 746 // Sinks are now available. Tell MRPM to start all sink queries again.
752 for (const auto& source_and_query : sinks_queries_) { 747 for (const auto& source_and_query : sinks_queries_) {
753 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStartObservingMediaSinks, 748 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStartObservingMediaSinks,
754 base::Unretained(this), source_and_query.first)); 749 base::Unretained(this), source_and_query.first));
755 } 750 }
756 } 751 }
757 } 752 }
758 753
759 void MediaRouterMojoImpl::OnPresentationConnectionStateChanged( 754 void MediaRouterMojoImpl::OnPresentationConnectionStateChanged(
760 const mojo::String& route_id, 755 const mojo::String& route_id,
761 interfaces::MediaRouter::PresentationConnectionState state) { 756 interfaces::MediaRouter::PresentationConnectionState state) {
762 if (!interfaces::MediaRouter::PresentationConnectionState_IsValidValue(
763 state)) {
764 DLOG(WARNING) << "Unknown PresentationConnectionState value " << state;
765 return;
766 }
767
768 NotifyPresentationConnectionStateChange( 757 NotifyPresentationConnectionStateChange(
769 route_id, mojo::PresentationConnectionStateFromMojo(state)); 758 route_id, mojo::PresentationConnectionStateFromMojo(state));
770 } 759 }
771 760
772 bool MediaRouterMojoImpl::HasLocalDisplayRoute() const { 761 bool MediaRouterMojoImpl::HasLocalDisplayRoute() const {
773 return has_local_display_route_; 762 return has_local_display_route_;
774 } 763 }
775 764
776 void MediaRouterMojoImpl::DoStartObservingMediaSinks( 765 void MediaRouterMojoImpl::DoStartObservingMediaSinks(
777 const MediaSource::Id& source_id) { 766 const MediaSource::Id& source_id) {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 if (current_wake_reason_ == MediaRouteProviderWakeReason::TOTAL_COUNT) 922 if (current_wake_reason_ == MediaRouteProviderWakeReason::TOTAL_COUNT)
934 current_wake_reason_ = reason; 923 current_wake_reason_ = reason;
935 } 924 }
936 925
937 void MediaRouterMojoImpl::ClearWakeReason() { 926 void MediaRouterMojoImpl::ClearWakeReason() {
938 DCHECK(current_wake_reason_ != MediaRouteProviderWakeReason::TOTAL_COUNT); 927 DCHECK(current_wake_reason_ != MediaRouteProviderWakeReason::TOTAL_COUNT);
939 current_wake_reason_ = MediaRouteProviderWakeReason::TOTAL_COUNT; 928 current_wake_reason_ = MediaRouteProviderWakeReason::TOTAL_COUNT;
940 } 929 }
941 930
942 } // namespace media_router 931 } // namespace media_router
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698