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 std::string title(const media_router::MediaStatus& status) { | |
dcheng
2017/03/08 01:08:20
const std::string& here and below, to avoid tempor
takumif
2017/03/08 04:24:03
Done.
| |
326 return status.title; | |
327 } | |
328 | |
329 static 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 uint32_t duration(const media_router::MediaStatus& status) { | |
362 return status.duration; | |
363 } | |
364 | |
365 static uint32_t 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 |