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

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

Issue 2771413003: Move c/b/media/router/mojo/*.mojom to chrome/common/media_router/mojo/*.mojom (Closed)
Patch Set: Rebase Created 3 years, 8 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 2016 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 "chrome/browser/media/router/mojo/media_router_struct_traits.h"
6
7 #include "chrome/browser/media/router/media_source.h"
8 #include "net/interfaces/ip_address_struct_traits.h"
9 #include "url/mojo/url_gurl_struct_traits.h"
10
11 namespace mojo {
12
13 // static
14 bool StructTraits<media_router::mojom::IssueDataView, media_router::IssueInfo>::
15 Read(media_router::mojom::IssueDataView data,
16 media_router::IssueInfo* out) {
17 if (!data.ReadTitle(&out->title))
18 return false;
19
20 if (!data.ReadDefaultAction(&out->default_action))
21 return false;
22
23 if (!data.ReadSeverity(&out->severity))
24 return false;
25
26 base::Optional<std::string> message;
27 if (!data.ReadMessage(&message))
28 return false;
29
30 out->message = message.value_or(std::string());
31
32 if (!data.ReadSecondaryActions(&out->secondary_actions))
33 return false;
34
35 base::Optional<std::string> route_id;
36 if (!data.ReadRouteId(&route_id))
37 return false;
38
39 out->route_id = route_id.value_or(std::string());
40
41 out->is_blocking = data.is_blocking();
42 out->help_page_id = data.help_page_id();
43
44 return true;
45 }
46
47 // static
48 media_router::mojom::MediaSinkExtraDataDataView::Tag
49 UnionTraits<media_router::mojom::MediaSinkExtraDataDataView,
50 media_router::MediaSinkInternal>::
51 GetTag(const media_router::MediaSinkInternal& sink) {
52 if (sink.is_dial_sink()) {
53 return media_router::mojom::MediaSinkExtraDataDataView::Tag::
54 DIAL_MEDIA_SINK;
55 } else if (sink.is_cast_sink()) {
56 return media_router::mojom::MediaSinkExtraDataDataView::Tag::
57 CAST_MEDIA_SINK;
58 }
59 NOTREACHED();
60 return media_router::mojom::MediaSinkExtraDataDataView::Tag::CAST_MEDIA_SINK;
61 }
62
63 // static
64 bool StructTraits<media_router::mojom::MediaSinkDataView,
65 media_router::MediaSinkInternal>::
66 Read(media_router::mojom::MediaSinkDataView data,
67 media_router::MediaSinkInternal* out) {
68 media_router::MediaSink::Id id;
69 if (!data.ReadSinkId(&id) ||
70 !media_router::MediaSinkInternal::IsValidSinkId(id)) {
71 return false;
72 }
73
74 out->set_sink_id(id);
75
76 std::string name;
77 if (!data.ReadName(&name))
78 return false;
79
80 out->set_name(name);
81
82 base::Optional<std::string> description;
83 if (!data.ReadDescription(&description))
84 return false;
85
86 if (description)
87 out->set_description(*description);
88
89 base::Optional<std::string> domain;
90 if (!data.ReadDomain(&domain))
91 return false;
92
93 if (domain)
94 out->set_domain(*domain);
95
96 media_router::MediaSink::IconType icon_type;
97 if (!data.ReadIconType(&icon_type))
98 return false;
99
100 out->set_icon_type(icon_type);
101
102 if (!data.ReadExtraData(out))
103 return false;
104
105 return true;
106 }
107
108 // static
109 bool UnionTraits<media_router::mojom::MediaSinkExtraDataDataView,
110 media_router::MediaSinkInternal>::
111 Read(media_router::mojom::MediaSinkExtraDataDataView data,
112 media_router::MediaSinkInternal* out) {
113 switch (data.tag()) {
114 case media_router::mojom::MediaSinkExtraDataDataView::Tag::
115 DIAL_MEDIA_SINK: {
116 media_router::DialSinkExtraData extra_data;
117 if (!data.ReadDialMediaSink(&extra_data))
118 return false;
119 out->set_dial_data(extra_data);
120 return true;
121 }
122 case media_router::mojom::MediaSinkExtraDataDataView::Tag::
123 CAST_MEDIA_SINK: {
124 media_router::CastSinkExtraData extra_data;
125 if (!data.ReadCastMediaSink(&extra_data))
126 return false;
127 out->set_cast_data(extra_data);
128 return true;
129 }
130 }
131 NOTREACHED();
132 return false;
133 }
134
135 // static
136 bool StructTraits<media_router::mojom::DialMediaSinkDataView,
137 media_router::DialSinkExtraData>::
138 Read(media_router::mojom::DialMediaSinkDataView data,
139 media_router::DialSinkExtraData* out) {
140 if (!data.ReadIpAddress(&out->ip_address))
141 return false;
142
143 if (!data.ReadModelName(&out->model_name))
144 return false;
145
146 if (!data.ReadAppUrl(&out->app_url))
147 return false;
148
149 return true;
150 }
151
152 // static
153 bool StructTraits<media_router::mojom::CastMediaSinkDataView,
154 media_router::CastSinkExtraData>::
155 Read(media_router::mojom::CastMediaSinkDataView data,
156 media_router::CastSinkExtraData* out) {
157 if (!data.ReadIpAddress(&out->ip_address))
158 return false;
159
160 if (!data.ReadModelName(&out->model_name))
161 return false;
162
163 out->capabilities = data.capabilities();
164 out->cast_channel_id = data.cast_channel_id();
165
166 return true;
167 }
168
169 bool StructTraits<media_router::mojom::MediaRouteDataView,
170 media_router::MediaRoute>::
171 Read(media_router::mojom::MediaRouteDataView data,
172 media_router::MediaRoute* out) {
173 media_router::MediaRoute::Id media_route_id;
174 if (!data.ReadMediaRouteId(&media_route_id))
175 return false;
176
177 out->set_media_route_id(media_route_id);
178
179 base::Optional<media_router::MediaSource::Id> media_source_id;
180 if (!data.ReadMediaSource(&media_source_id))
181 return false;
182
183 if (media_source_id)
184 out->set_media_source(media_router::MediaSource(*media_source_id));
185
186 media_router::MediaSink::Id media_sink_id;
187 if (!data.ReadMediaSinkId(&media_sink_id))
188 return false;
189
190 out->set_media_sink_id(media_sink_id);
191
192 std::string description;
193 if (!data.ReadDescription(&description))
194 return false;
195
196 out->set_description(description);
197
198 base::Optional<std::string> custom_controller_path;
199 if (!data.ReadCustomControllerPath(&custom_controller_path))
200 return false;
201
202 if (custom_controller_path)
203 out->set_custom_controller_path(*custom_controller_path);
204
205 out->set_local(data.is_local());
206 out->set_for_display(data.for_display());
207 out->set_incognito(data.is_incognito());
208 out->set_offscreen_presentation(data.is_offscreen_presentation());
209
210 return true;
211 }
212
213 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698