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 scoped_ptr<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.get(), | |
haibinlu
2015/07/28 18:57:19
data.Pass()
USE s.singapati at gmail.com
2015/07/28 19:11:46
Then DoSendSessionBinaryMessage() has to take scop
Kevin M
2015/07/28 20:03:36
Use base::Passed(data.Pass()).
If you just pass t
USE s.singapati at gmail.com
2015/07/29 11:22:01
Done.
| |
255 callback)); | |
256 } | |
257 | |
247 void MediaRouterMojoImpl::ListenForRouteMessages( | 258 void MediaRouterMojoImpl::ListenForRouteMessages( |
248 const std::vector<MediaRoute::Id>& route_ids, | 259 const std::vector<MediaRoute::Id>& route_ids, |
249 const PresentationSessionMessageCallback& message_cb) { | 260 const PresentationSessionMessageCallback& message_cb) { |
250 DCHECK(thread_checker_.CalledOnValidThread()); | 261 DCHECK(thread_checker_.CalledOnValidThread()); |
251 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoListenForRouteMessages, | 262 RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoListenForRouteMessages, |
252 base::Unretained(this), route_ids, message_cb)); | 263 base::Unretained(this), route_ids, message_cb)); |
253 } | 264 } |
254 | 265 |
255 void MediaRouterMojoImpl::ClearIssue(const Issue::Id& issue_id) { | 266 void MediaRouterMojoImpl::ClearIssue(const Issue::Id& issue_id) { |
256 DCHECK(thread_checker_.CalledOnValidThread()); | 267 DCHECK(thread_checker_.CalledOnValidThread()); |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
371 } | 382 } |
372 | 383 |
373 void MediaRouterMojoImpl::DoSendSessionMessage( | 384 void MediaRouterMojoImpl::DoSendSessionMessage( |
374 const MediaRoute::Id& route_id, | 385 const MediaRoute::Id& route_id, |
375 const std::string& message, | 386 const std::string& message, |
376 const SendRouteMessageCallback& callback) { | 387 const SendRouteMessageCallback& callback) { |
377 DVLOG_WITH_INSTANCE(1) << "SendRouteMessage " << route_id; | 388 DVLOG_WITH_INSTANCE(1) << "SendRouteMessage " << route_id; |
378 media_route_provider_->SendRouteMessage(route_id, message, callback); | 389 media_route_provider_->SendRouteMessage(route_id, message, callback); |
379 } | 390 } |
380 | 391 |
392 void MediaRouterMojoImpl::DoSendSessionBinaryMessage( | |
393 const MediaRoute::Id& route_id, | |
394 std::vector<uint8>* data, | |
395 const SendRouteMessageCallback& callback) { | |
396 DVLOG_WITH_INSTANCE(1) << "SendRouteBinaryMessage " << route_id; | |
397 mojo::Array<uint8> mojo_array; | |
398 mojo_array.Swap(data); | |
399 media_route_provider_->SendRouteBinaryMessage(route_id, mojo_array.Pass(), | |
400 callback); | |
401 } | |
402 | |
381 void MediaRouterMojoImpl::DoListenForRouteMessages( | 403 void MediaRouterMojoImpl::DoListenForRouteMessages( |
382 const std::vector<MediaRoute::Id>& route_ids, | 404 const std::vector<MediaRoute::Id>& route_ids, |
383 const PresentationSessionMessageCallback& message_cb) { | 405 const PresentationSessionMessageCallback& message_cb) { |
384 DVLOG_WITH_INSTANCE(1) << "ListenForRouteMessages"; | 406 DVLOG_WITH_INSTANCE(1) << "ListenForRouteMessages"; |
385 media_route_provider_->ListenForRouteMessages( | 407 media_route_provider_->ListenForRouteMessages( |
386 mojo::Array<mojo::String>::From(route_ids), | 408 mojo::Array<mojo::String>::From(route_ids), |
387 base::Bind(&MediaRouterMojoImpl::OnRouteMessageReceived, | 409 base::Bind(&MediaRouterMojoImpl::OnRouteMessageReceived, |
388 base::Unretained(this), message_cb)); | 410 base::Unretained(this), message_cb)); |
389 } | 411 } |
390 | 412 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
471 return; | 493 return; |
472 } | 494 } |
473 | 495 |
474 for (const auto& next_request : pending_requests_) | 496 for (const auto& next_request : pending_requests_) |
475 next_request.Run(); | 497 next_request.Run(); |
476 | 498 |
477 pending_requests_.clear(); | 499 pending_requests_.clear(); |
478 } | 500 } |
479 | 501 |
480 } // namespace media_router | 502 } // namespace media_router |
OLD | NEW |