Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/guid.h" | 8 #include "base/guid.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/scoped_vector.h" | 10 #include "base/memory/scoped_vector.h" |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 237 void MediaRouterMojoImpl::SendRouteMessage( | 237 void MediaRouterMojoImpl::SendRouteMessage( |
| 238 const MediaRoute::Id& route_id, | 238 const MediaRoute::Id& route_id, |
| 239 const std::string& message, | 239 const std::string& message, |
| 240 const SendRouteMessageCallback& callback) { | 240 const SendRouteMessageCallback& callback) { |
| 241 DCHECK(thread_checker_.CalledOnValidThread()); | 241 DCHECK(thread_checker_.CalledOnValidThread()); |
| 242 | 242 |
| 243 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoSendSessionMessage, | 243 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoSendSessionMessage, |
| 244 base::Unretained(this), route_id, message, callback)); | 244 base::Unretained(this), route_id, message, callback)); |
| 245 } | 245 } |
| 246 | 246 |
| 247 void MediaRouterMojoImpl::SendRouteBinaryMessage( | |
| 248 const MediaRoute::Id& route_id, | |
| 249 const std::vector<uint8>& data, | |
| 250 const SendRouteMessageCallback& callback) { | |
| 251 DCHECK(thread_checker_.CalledOnValidThread()); | |
| 252 | |
| 253 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoSendSessionBinaryMessage, | |
| 254 base::Unretained(this), route_id, data, callback)); | |
| 255 } | |
| 256 | |
| 247 void MediaRouterMojoImpl::ListenForRouteMessages( | 257 void MediaRouterMojoImpl::ListenForRouteMessages( |
| 248 const std::vector<MediaRoute::Id>& route_ids, | 258 const std::vector<MediaRoute::Id>& route_ids, |
| 249 const PresentationSessionMessageCallback& message_cb) { | 259 const PresentationSessionMessageCallback& message_cb) { |
| 250 DCHECK(thread_checker_.CalledOnValidThread()); | 260 DCHECK(thread_checker_.CalledOnValidThread()); |
| 251 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoListenForRouteMessages, | 261 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoListenForRouteMessages, |
| 252 base::Unretained(this), route_ids, message_cb)); | 262 base::Unretained(this), route_ids, message_cb)); |
| 253 } | 263 } |
| 254 | 264 |
| 255 void MediaRouterMojoImpl::ClearIssue(const Issue::Id& issue_id) { | 265 void MediaRouterMojoImpl::ClearIssue(const Issue::Id& issue_id) { |
| 256 DCHECK(thread_checker_.CalledOnValidThread()); | 266 DCHECK(thread_checker_.CalledOnValidThread()); |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 371 } | 381 } |
| 372 | 382 |
| 373 void MediaRouterMojoImpl::DoSendSessionMessage( | 383 void MediaRouterMojoImpl::DoSendSessionMessage( |
| 374 const MediaRoute::Id& route_id, | 384 const MediaRoute::Id& route_id, |
| 375 const std::string& message, | 385 const std::string& message, |
| 376 const SendRouteMessageCallback& callback) { | 386 const SendRouteMessageCallback& callback) { |
| 377 DVLOG_WITH_INSTANCE(1) << "SendRouteMessage " << route_id; | 387 DVLOG_WITH_INSTANCE(1) << "SendRouteMessage " << route_id; |
| 378 media_route_provider_->SendRouteMessage(route_id, message, callback); | 388 media_route_provider_->SendRouteMessage(route_id, message, callback); |
| 379 } | 389 } |
| 380 | 390 |
| 391 void MediaRouterMojoImpl::DoSendSessionBinaryMessage( | |
| 392 const MediaRoute::Id& route_id, | |
| 393 const std::vector<uint8>& data, | |
| 394 const SendRouteMessageCallback& callback) { | |
| 395 DVLOG_WITH_INSTANCE(1) << "SendRouteBinaryMessage " << route_id; | |
| 396 media_route_provider_->SendRouteBinaryMessage( | |
| 397 route_id, mojo::Array<uint8>::From(data), callback); | |
|
haibinlu
2015/07/25 01:15:53
"From" makes a copy of the underlying data. Is the
| |
| 398 } | |
| 399 | |
| 381 void MediaRouterMojoImpl::DoListenForRouteMessages( | 400 void MediaRouterMojoImpl::DoListenForRouteMessages( |
| 382 const std::vector<MediaRoute::Id>& route_ids, | 401 const std::vector<MediaRoute::Id>& route_ids, |
| 383 const PresentationSessionMessageCallback& message_cb) { | 402 const PresentationSessionMessageCallback& message_cb) { |
| 384 DVLOG_WITH_INSTANCE(1) << "ListenForRouteMessages"; | 403 DVLOG_WITH_INSTANCE(1) << "ListenForRouteMessages"; |
| 385 media_route_provider_->ListenForRouteMessages( | 404 media_route_provider_->ListenForRouteMessages( |
| 386 mojo::Array<mojo::String>::From(route_ids), | 405 mojo::Array<mojo::String>::From(route_ids), |
| 387 base::Bind(&MediaRouterMojoImpl::OnRouteMessageReceived, | 406 base::Bind(&MediaRouterMojoImpl::OnRouteMessageReceived, |
| 388 base::Unretained(this), message_cb)); | 407 base::Unretained(this), message_cb)); |
| 389 } | 408 } |
| 390 | 409 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 471 return; | 490 return; |
| 472 } | 491 } |
| 473 | 492 |
| 474 for (const auto& next_request : pending_requests_) | 493 for (const auto& next_request : pending_requests_) |
| 475 next_request.Run(); | 494 next_request.Run(); |
| 476 | 495 |
| 477 pending_requests_.clear(); | 496 pending_requests_.clear(); |
| 478 } | 497 } |
| 479 | 498 |
| 480 } // namespace media_router | 499 } // namespace media_router |
| OLD | NEW |