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/android/router/media_router_android.h" | 5 #include "chrome/browser/media/android/router/media_router_android.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 sinks_converted.push_back( | 348 sinks_converted.push_back( |
349 MediaSink(ConvertJavaStringToUTF8(env, jsink_urn.obj()), | 349 MediaSink(ConvertJavaStringToUTF8(env, jsink_urn.obj()), |
350 ConvertJavaStringToUTF8(env, jsink_name.obj()), | 350 ConvertJavaStringToUTF8(env, jsink_name.obj()), |
351 MediaSink::GENERIC)); | 351 MediaSink::GENERIC)); |
352 } | 352 } |
353 | 353 |
354 std::string source_urn = ConvertJavaStringToUTF8(env, jsource_urn); | 354 std::string source_urn = ConvertJavaStringToUTF8(env, jsource_urn); |
355 auto it = sinks_observers_.find(source_urn); | 355 auto it = sinks_observers_.find(source_urn); |
356 if (it != sinks_observers_.end()) { | 356 if (it != sinks_observers_.end()) { |
357 // TODO(imcheng): Pass origins to OnSinksUpdated (crbug.com/594858). | 357 // TODO(imcheng): Pass origins to OnSinksUpdated (crbug.com/594858). |
358 FOR_EACH_OBSERVER(MediaSinksObserver, *it->second, | 358 for (auto& observer : *it->second) |
359 OnSinksUpdated(sinks_converted, std::vector<GURL>())); | 359 observer.OnSinksUpdated(sinks_converted, std::vector<GURL>()); |
360 } | 360 } |
361 } | 361 } |
362 | 362 |
363 void MediaRouterAndroid::OnRouteCreated( | 363 void MediaRouterAndroid::OnRouteCreated( |
364 JNIEnv* env, | 364 JNIEnv* env, |
365 const JavaParamRef<jobject>& obj, | 365 const JavaParamRef<jobject>& obj, |
366 const JavaParamRef<jstring>& jmedia_route_id, | 366 const JavaParamRef<jstring>& jmedia_route_id, |
367 const JavaParamRef<jstring>& jsink_id, | 367 const JavaParamRef<jstring>& jsink_id, |
368 jint jroute_request_id, | 368 jint jroute_request_id, |
369 jboolean jis_local) { | 369 jboolean jis_local) { |
370 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); | 370 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); |
371 if (!request) | 371 if (!request) |
372 return; | 372 return; |
373 | 373 |
374 MediaRoute route(ConvertJavaStringToUTF8(env, jmedia_route_id), | 374 MediaRoute route(ConvertJavaStringToUTF8(env, jmedia_route_id), |
375 request->media_source, | 375 request->media_source, |
376 ConvertJavaStringToUTF8(env, jsink_id), std::string(), | 376 ConvertJavaStringToUTF8(env, jsink_id), std::string(), |
377 jis_local, std::string(), | 377 jis_local, std::string(), |
378 true); // TODO(avayvod): Populate for_display. | 378 true); // TODO(avayvod): Populate for_display. |
379 | 379 |
380 std::unique_ptr<RouteRequestResult> result = RouteRequestResult::FromSuccess( | 380 std::unique_ptr<RouteRequestResult> result = RouteRequestResult::FromSuccess( |
381 base::MakeUnique<MediaRoute>(route), request->presentation_id); | 381 base::MakeUnique<MediaRoute>(route), request->presentation_id); |
382 for (const MediaRouteResponseCallback& callback : request->callbacks) | 382 for (const MediaRouteResponseCallback& callback : request->callbacks) |
383 callback.Run(*result); | 383 callback.Run(*result); |
384 | 384 |
385 route_requests_.Remove(jroute_request_id); | 385 route_requests_.Remove(jroute_request_id); |
386 | 386 |
387 active_routes_.push_back(route); | 387 active_routes_.push_back(route); |
388 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_, | 388 for (auto& observer : routes_observers_) |
389 OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>())); | 389 observer.OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>()); |
390 } | 390 } |
391 | 391 |
392 void MediaRouterAndroid::OnRouteRequestError( | 392 void MediaRouterAndroid::OnRouteRequestError( |
393 JNIEnv* env, | 393 JNIEnv* env, |
394 const JavaParamRef<jobject>& obj, | 394 const JavaParamRef<jobject>& obj, |
395 const JavaParamRef<jstring>& jerror_text, | 395 const JavaParamRef<jstring>& jerror_text, |
396 jint jroute_request_id) { | 396 jint jroute_request_id) { |
397 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); | 397 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); |
398 if (!request) | 398 if (!request) |
399 return; | 399 return; |
(...skipping 12 matching lines...) Expand all Loading... |
412 JNIEnv* env, | 412 JNIEnv* env, |
413 const JavaParamRef<jobject>& obj, | 413 const JavaParamRef<jobject>& obj, |
414 const JavaParamRef<jstring>& jmedia_route_id) { | 414 const JavaParamRef<jstring>& jmedia_route_id) { |
415 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); | 415 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); |
416 for (auto it = active_routes_.begin(); it != active_routes_.end(); ++it) | 416 for (auto it = active_routes_.begin(); it != active_routes_.end(); ++it) |
417 if (it->media_route_id() == route_id) { | 417 if (it->media_route_id() == route_id) { |
418 active_routes_.erase(it); | 418 active_routes_.erase(it); |
419 break; | 419 break; |
420 } | 420 } |
421 | 421 |
422 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_, | 422 for (auto& observer : routes_observers_) |
423 OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>())); | 423 observer.OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>()); |
424 NotifyPresentationConnectionStateChange( | 424 NotifyPresentationConnectionStateChange( |
425 route_id, content::PRESENTATION_CONNECTION_STATE_TERMINATED); | 425 route_id, content::PRESENTATION_CONNECTION_STATE_TERMINATED); |
426 } | 426 } |
427 | 427 |
428 void MediaRouterAndroid::OnRouteClosedWithError( | 428 void MediaRouterAndroid::OnRouteClosedWithError( |
429 JNIEnv* env, | 429 JNIEnv* env, |
430 const JavaParamRef<jobject>& obj, | 430 const JavaParamRef<jobject>& obj, |
431 const JavaParamRef<jstring>& jmedia_route_id, | 431 const JavaParamRef<jstring>& jmedia_route_id, |
432 const JavaParamRef<jstring>& jmessage) { | 432 const JavaParamRef<jstring>& jmessage) { |
433 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); | 433 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); |
(...skipping 21 matching lines...) Expand all Loading... |
455 const JavaParamRef<jstring>& jmedia_route_id, | 455 const JavaParamRef<jstring>& jmedia_route_id, |
456 const JavaParamRef<jstring>& jmessage) { | 456 const JavaParamRef<jstring>& jmessage) { |
457 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); | 457 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); |
458 auto* observer_list = message_observers_.get(route_id); | 458 auto* observer_list = message_observers_.get(route_id); |
459 if (!observer_list) | 459 if (!observer_list) |
460 return; | 460 return; |
461 | 461 |
462 std::vector<RouteMessage> messages(1); | 462 std::vector<RouteMessage> messages(1); |
463 messages.front().type = RouteMessage::TEXT; | 463 messages.front().type = RouteMessage::TEXT; |
464 messages.front().text = ConvertJavaStringToUTF8(env, jmessage); | 464 messages.front().text = ConvertJavaStringToUTF8(env, jmessage); |
465 FOR_EACH_OBSERVER(RouteMessageObserver, *observer_list, | 465 for (auto& observer : *observer_list) |
466 OnMessagesReceived(messages)); | 466 observer.OnMessagesReceived(messages); |
467 } | 467 } |
468 | 468 |
469 } // namespace media_router | 469 } // namespace media_router |
OLD | NEW |