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

Side by Side Diff: chrome/browser/media/router/mojo/media_router_type_converters.cc

Issue 2666873006: [Media Router] Convert to use typemaps for media_router.mojom. (Closed)
Patch Set: Remove DCHECK since tests are hitting the code path Created 3 years, 10 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include <stddef.h>
6
7 #include "chrome/browser/media/router/mojo/media_router_type_converters.h"
8
9 using media_router::mojom::MediaRoutePtr;
10 using media_router::mojom::MediaSinkPtr;
11
12 using PresentationConnectionState =
13 media_router::mojom::MediaRouter::PresentationConnectionState;
14 using PresentationConnectionCloseReason =
15 media_router::mojom::MediaRouter::PresentationConnectionCloseReason;
16 using RouteRequestResultCode = media_router::mojom::RouteRequestResultCode;
17
18 namespace mojo {
19
20 media_router::MediaSink::IconType SinkIconTypeFromMojo(
21 media_router::mojom::MediaSink::IconType type) {
22 switch (type) {
23 case media_router::mojom::MediaSink::IconType::CAST:
24 return media_router::MediaSink::CAST;
25 case media_router::mojom::MediaSink::IconType::CAST_AUDIO:
26 return media_router::MediaSink::CAST_AUDIO;
27 case media_router::mojom::MediaSink::IconType::CAST_AUDIO_GROUP:
28 return media_router::MediaSink::CAST_AUDIO_GROUP;
29 case media_router::mojom::MediaSink::IconType::HANGOUT:
30 return media_router::MediaSink::HANGOUT;
31 case media_router::mojom::MediaSink::IconType::GENERIC:
32 return media_router::MediaSink::GENERIC;
33 default:
34 NOTREACHED() << "Unknown sink icon type " << type;
35 return media_router::MediaSink::GENERIC;
36 }
37 }
38
39 media_router::mojom::MediaSink::IconType SinkIconTypeToMojo(
40 media_router::MediaSink::IconType type) {
41 switch (type) {
42 case media_router::MediaSink::CAST:
43 return media_router::mojom::MediaSink::IconType::CAST;
44 case media_router::MediaSink::CAST_AUDIO:
45 return media_router::mojom::MediaSink::IconType::CAST_AUDIO;
46 case media_router::MediaSink::CAST_AUDIO_GROUP:
47 return media_router::mojom::MediaSink::IconType::CAST_AUDIO_GROUP;
48 case media_router::MediaSink::HANGOUT:
49 return media_router::mojom::MediaSink::IconType::HANGOUT;
50 case media_router::MediaSink::GENERIC:
51 return media_router::mojom::MediaSink::IconType::GENERIC;
52 default:
53 NOTREACHED() << "Unknown sink icon type " << type;
54 return media_router::mojom::MediaSink::IconType::GENERIC;
55 }
56 }
57
58 // static
59 media_router::MediaSink
60 TypeConverter<media_router::MediaSink, MediaSinkPtr>::Convert(
61 const MediaSinkPtr& input) {
62 media_router::MediaSink sink(input->sink_id, input->name,
63 SinkIconTypeFromMojo(input->icon_type));
64 if (input->description && !input->description->empty())
65 sink.set_description(*input->description);
66 if (input->domain && !input->domain->empty())
67 sink.set_domain(*input->domain);
68
69 return sink;
70 }
71
72 // static
73 media_router::MediaRoute
74 TypeConverter<media_router::MediaRoute, MediaRoutePtr>::Convert(
75 const MediaRoutePtr& input) {
76 media_router::MediaRoute media_route(
77 input->media_route_id,
78 media_router::MediaSource(input->media_source.value_or(std::string())),
79 input->media_sink_id, input->description, input->is_local,
80 input->custom_controller_path.value_or(std::string()),
81 input->for_display);
82 media_route.set_incognito(input->is_incognito);
83 media_route.set_offscreen_presentation(input->is_offscreen_presentation);
84 return media_route;
85 }
86
87 // static
88 std::unique_ptr<media_router::MediaRoute>
89 TypeConverter<std::unique_ptr<media_router::MediaRoute>,
90 MediaRoutePtr>::Convert(const MediaRoutePtr& input) {
91 std::unique_ptr<media_router::MediaRoute> media_route(
92 new media_router::MediaRoute(
93 input->media_route_id,
94 media_router::MediaSource(
95 input->media_source.value_or(std::string())),
96 input->media_sink_id, input->description, input->is_local,
97 input->custom_controller_path.value_or(std::string()),
98 input->for_display));
99 media_route->set_incognito(input->is_incognito);
100 media_route->set_offscreen_presentation(input->is_offscreen_presentation);
101 return media_route;
102 }
103
104 content::PresentationConnectionState PresentationConnectionStateFromMojo(
105 PresentationConnectionState state) {
106 switch (state) {
107 case PresentationConnectionState::CONNECTING:
108 return content::PRESENTATION_CONNECTION_STATE_CONNECTING;
109 case PresentationConnectionState::CONNECTED:
110 return content::PRESENTATION_CONNECTION_STATE_CONNECTED;
111 case PresentationConnectionState::CLOSED:
112 return content::PRESENTATION_CONNECTION_STATE_CLOSED;
113 case PresentationConnectionState::TERMINATED:
114 return content::PRESENTATION_CONNECTION_STATE_TERMINATED;
115 default:
116 NOTREACHED() << "Unknown PresentationConnectionState " << state;
117 return content::PRESENTATION_CONNECTION_STATE_TERMINATED;
118 }
119 }
120
121 content::PresentationConnectionCloseReason
122 PresentationConnectionCloseReasonFromMojo(
123 PresentationConnectionCloseReason reason) {
124 switch (reason) {
125 case PresentationConnectionCloseReason::CONNECTION_ERROR:
126 return content::PRESENTATION_CONNECTION_CLOSE_REASON_CONNECTION_ERROR;
127 case PresentationConnectionCloseReason::CLOSED:
128 return content::PRESENTATION_CONNECTION_CLOSE_REASON_CLOSED;
129 case PresentationConnectionCloseReason::WENT_AWAY:
130 return content::PRESENTATION_CONNECTION_CLOSE_REASON_WENT_AWAY;
131 default:
132 NOTREACHED() << "Unknown PresentationConnectionCloseReason " << reason;
133 return content::PRESENTATION_CONNECTION_CLOSE_REASON_CONNECTION_ERROR;
134 }
135 }
136
137 media_router::RouteRequestResult::ResultCode RouteRequestResultCodeFromMojo(
138 RouteRequestResultCode result_code) {
139 switch (result_code) {
140 case RouteRequestResultCode::UNKNOWN_ERROR:
141 return media_router::RouteRequestResult::UNKNOWN_ERROR;
142 case RouteRequestResultCode::OK:
143 return media_router::RouteRequestResult::OK;
144 case RouteRequestResultCode::TIMED_OUT:
145 return media_router::RouteRequestResult::TIMED_OUT;
146 case RouteRequestResultCode::ROUTE_NOT_FOUND:
147 return media_router::RouteRequestResult::ROUTE_NOT_FOUND;
148 case RouteRequestResultCode::SINK_NOT_FOUND:
149 return media_router::RouteRequestResult::SINK_NOT_FOUND;
150 case RouteRequestResultCode::INVALID_ORIGIN:
151 return media_router::RouteRequestResult::INVALID_ORIGIN;
152 case RouteRequestResultCode::INCOGNITO_MISMATCH:
153 return media_router::RouteRequestResult::INCOGNITO_MISMATCH;
154 case RouteRequestResultCode::NO_SUPPORTED_PROVIDER:
155 return media_router::RouteRequestResult::NO_SUPPORTED_PROVIDER;
156 case RouteRequestResultCode::CANCELLED:
157 return media_router::RouteRequestResult::CANCELLED;
158 default:
159 NOTREACHED() << "Unknown RouteRequestResultCode " << result_code;
160 return media_router::RouteRequestResult::UNKNOWN_ERROR;
161 }
162 }
163
164 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698