Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Side by Side Diff: chrome/browser/media/router/mojo/media_router_struct_traits.h

Issue 2727123002: [Media Router] Custom Controls 1 - Add MediaStatus, MediaRouteController, and mojo interfaces (Closed)
Patch Set: . Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698