OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_STRUCT_TRAITS_H_ | 5 #ifndef CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_STRUCT_TRAITS_H_ |
6 #define CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_STRUCT_TRAITS_H_ | 6 #define CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_STRUCT_TRAITS_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
| 9 #include <utility> |
| 10 #include <vector> |
9 | 11 |
10 #include "chrome/browser/media/router/issue.h" | 12 #include "chrome/browser/media/router/issue.h" |
11 #include "chrome/browser/media/router/media_sink.h" | 13 #include "chrome/browser/media/router/media_sink.h" |
| 14 #include "chrome/browser/media/router/media_status.h" |
12 #include "chrome/browser/media/router/mojo/media_router.mojom.h" | 15 #include "chrome/browser/media/router/mojo/media_router.mojom.h" |
13 #include "chrome/browser/media/router/route_request_result.h" | 16 #include "chrome/browser/media/router/route_request_result.h" |
14 #include "mojo/common/common_custom_types_struct_traits.h" | 17 #include "mojo/common/common_custom_types_struct_traits.h" |
15 | 18 |
16 namespace mojo { | 19 namespace mojo { |
17 | 20 |
18 // Issue | 21 // Issue |
19 | 22 |
20 template <> | 23 template <> |
21 struct EnumTraits<media_router::mojom::Issue::ActionType, | 24 struct EnumTraits<media_router::mojom::Issue::ActionType, |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 | 307 |
305 static bool is_incognito(const media_router::MediaRoute& route) { | 308 static bool is_incognito(const media_router::MediaRoute& route) { |
306 return route.is_incognito(); | 309 return route.is_incognito(); |
307 } | 310 } |
308 | 311 |
309 static bool is_offscreen_presentation(const media_router::MediaRoute& route) { | 312 static bool is_offscreen_presentation(const media_router::MediaRoute& route) { |
310 return route.is_offscreen_presentation(); | 313 return route.is_offscreen_presentation(); |
311 } | 314 } |
312 }; | 315 }; |
313 | 316 |
| 317 // MediaStatus |
| 318 |
| 319 template <> |
| 320 struct StructTraits<media_router::mojom::MediaStatusDataView, |
| 321 media_router::MediaStatus> { |
| 322 static bool Read(media_router::mojom::MediaStatusDataView data, |
| 323 media_router::MediaStatus* out); |
| 324 |
| 325 static const std::string& title(const media_router::MediaStatus& status) { |
| 326 return status.title; |
| 327 } |
| 328 |
| 329 static const std::string& status(const media_router::MediaStatus& status) { |
| 330 return status.status; |
| 331 } |
| 332 |
| 333 static bool can_play_pause(const media_router::MediaStatus& status) { |
| 334 return status.can_play_pause; |
| 335 } |
| 336 |
| 337 static bool can_mute(const media_router::MediaStatus& status) { |
| 338 return status.can_mute; |
| 339 } |
| 340 |
| 341 static bool can_set_volume(const media_router::MediaStatus& status) { |
| 342 return status.can_set_volume; |
| 343 } |
| 344 |
| 345 static bool can_seek(const media_router::MediaStatus& status) { |
| 346 return status.can_seek; |
| 347 } |
| 348 |
| 349 static bool is_paused(const media_router::MediaStatus& status) { |
| 350 return status.is_paused; |
| 351 } |
| 352 |
| 353 static bool is_muted(const media_router::MediaStatus& status) { |
| 354 return status.is_muted; |
| 355 } |
| 356 |
| 357 static float volume(const media_router::MediaStatus& status) { |
| 358 return status.volume; |
| 359 } |
| 360 |
| 361 static base::TimeDelta duration(const media_router::MediaStatus& status) { |
| 362 return status.duration; |
| 363 } |
| 364 |
| 365 static base::TimeDelta current_time(const media_router::MediaStatus& status) { |
| 366 return status.current_time; |
| 367 } |
| 368 }; |
| 369 |
314 // PresentationConnectionState | 370 // PresentationConnectionState |
315 | 371 |
316 template <> | 372 template <> |
317 struct EnumTraits<media_router::mojom::MediaRouter::PresentationConnectionState, | 373 struct EnumTraits<media_router::mojom::MediaRouter::PresentationConnectionState, |
318 content::PresentationConnectionState> { | 374 content::PresentationConnectionState> { |
319 static media_router::mojom::MediaRouter::PresentationConnectionState ToMojom( | 375 static media_router::mojom::MediaRouter::PresentationConnectionState ToMojom( |
320 content::PresentationConnectionState state) { | 376 content::PresentationConnectionState state) { |
321 switch (state) { | 377 switch (state) { |
322 case content::PRESENTATION_CONNECTION_STATE_CONNECTING: | 378 case content::PRESENTATION_CONNECTION_STATE_CONNECTING: |
323 return media_router::mojom::MediaRouter::PresentationConnectionState:: | 379 return media_router::mojom::MediaRouter::PresentationConnectionState:: |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 *output = media_router::RouteRequestResult::CANCELLED; | 530 *output = media_router::RouteRequestResult::CANCELLED; |
475 return true; | 531 return true; |
476 } | 532 } |
477 return false; | 533 return false; |
478 } | 534 } |
479 }; | 535 }; |
480 | 536 |
481 } // namespace mojo | 537 } // namespace mojo |
482 | 538 |
483 #endif // CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_STRUCT_TRAITS_H_ | 539 #endif // CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_STRUCT_TRAITS_H_ |
OLD | NEW |