Chromium Code Reviews| 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 #include "chrome/browser/media/router/mojo/media_router_struct_traits.h" | 5 #include "chrome/browser/media/router/mojo/media_router_struct_traits.h" |
| 6 #include "url/mojo/url_gurl_struct_traits.h" | |
| 6 | 7 |
| 7 namespace mojo { | 8 namespace mojo { |
| 8 | 9 |
| 9 // static | 10 // static |
| 10 bool StructTraits<media_router::mojom::IssueDataView, media_router::IssueInfo>:: | 11 bool StructTraits<media_router::mojom::IssueDataView, media_router::IssueInfo>:: |
| 11 Read(media_router::mojom::IssueDataView data, | 12 Read(media_router::mojom::IssueDataView data, |
| 12 media_router::IssueInfo* out) { | 13 media_router::IssueInfo* out) { |
| 13 if (!data.ReadTitle(&out->title)) | 14 if (!data.ReadTitle(&out->title)) |
| 14 return false; | 15 return false; |
| 15 | 16 |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 33 return false; | 34 return false; |
| 34 | 35 |
| 35 out->route_id = route_id.value_or(std::string()); | 36 out->route_id = route_id.value_or(std::string()); |
| 36 | 37 |
| 37 out->is_blocking = data.is_blocking(); | 38 out->is_blocking = data.is_blocking(); |
| 38 out->help_page_id = data.help_page_id(); | 39 out->help_page_id = data.help_page_id(); |
| 39 | 40 |
| 40 return true; | 41 return true; |
| 41 } | 42 } |
| 42 | 43 |
| 44 // static | |
| 45 bool StructTraits< | |
| 46 media_router::mojom::MediaSinkDataView, | |
| 47 media_router::MediaSink>::Read(media_router::mojom::MediaSinkDataView data, | |
| 48 media_router::MediaSink* out) { | |
| 49 media_router::MediaSink::Id id; | |
| 50 if (!data.ReadSinkId(&id)) | |
| 51 return false; | |
| 52 | |
| 53 out->set_sink_id(id); | |
| 54 | |
| 55 std::string name; | |
| 56 if (!data.ReadName(&name)) | |
| 57 return false; | |
| 58 | |
| 59 out->set_name(name); | |
| 60 | |
| 61 base::Optional<std::string> description; | |
| 62 if (!data.ReadDescription(&description)) | |
| 63 return false; | |
| 64 | |
| 65 if (description) | |
| 66 out->set_description(*description); | |
| 67 | |
| 68 base::Optional<std::string> domain; | |
| 69 if (!data.ReadDomain(&domain)) | |
| 70 return false; | |
| 71 | |
| 72 if (domain) | |
| 73 out->set_domain(*domain); | |
| 74 | |
| 75 media_router::MediaSink::IconType icon_type; | |
| 76 if (!data.ReadIconType(&icon_type)) | |
| 77 return false; | |
| 78 | |
| 79 out->set_icon_type(icon_type); | |
| 80 | |
| 81 return true; | |
| 82 } | |
| 83 | |
| 84 // static | |
| 85 bool StructTraits<media_router::mojom::TypedMediaSinkDataView, | |
| 86 media_router::TypedMediaSink>:: | |
| 87 Read(media_router::mojom::TypedMediaSinkDataView data, | |
| 88 media_router::TypedMediaSink* out) { | |
| 89 media_router::MediaSink sink; | |
| 90 if (!data.ReadSink(&sink)) | |
| 91 return false; | |
| 92 | |
| 93 out->set_sink(sink); | |
| 94 | |
| 95 std::string ip_address; | |
| 96 if (!data.ReadIpAddress(&ip_address)) | |
| 97 return false; | |
| 98 | |
| 99 out->set_ip_address(ip_address); | |
| 100 | |
| 101 base::Optional<std::string> model_name; | |
| 102 if (!data.ReadModelName(&model_name)) | |
| 103 return false; | |
| 104 | |
| 105 if (model_name) | |
| 106 out->set_model_name(*model_name); | |
| 107 | |
| 108 media_router::mojom::MediaSinkExtraDataDataView extra_data_data_view; | |
| 109 data.GetExtraDataDataView(&extra_data_data_view); | |
| 110 | |
| 111 if (extra_data_data_view.is_null()) { | |
| 112 NOTREACHED(); | |
|
imcheng
2017/02/11 01:00:21
NOTREACHED() not needed anymore?
zhaobin
2017/02/14 02:08:49
Done.
| |
| 113 return false; | |
| 114 } else if (extra_data_data_view.is_dial_media_sink()) { | |
| 115 media_router::DialSinkExtraData extra_data; | |
| 116 if (!extra_data_data_view.ReadDialMediaSink(&extra_data)) | |
| 117 return false; | |
| 118 | |
| 119 out->set_dial_sink_extra_data(extra_data); | |
| 120 } else if (extra_data_data_view.is_cast_media_sink()) { | |
| 121 media_router::CastSinkExtraData extra_data; | |
| 122 if (!extra_data_data_view.ReadCastMediaSink(&extra_data)) | |
| 123 return false; | |
| 124 | |
| 125 out->set_cast_sink_extra_data(extra_data); | |
| 126 } | |
| 127 | |
| 128 return true; | |
| 129 } | |
| 130 | |
| 131 // static | |
| 132 bool StructTraits<media_router::mojom::DialMediaSinkDataView, | |
| 133 media_router::DialSinkExtraData>:: | |
| 134 Read(media_router::mojom::DialMediaSinkDataView data, | |
| 135 media_router::DialSinkExtraData* out) { | |
| 136 if (!data.ReadAppUrl(&out->app_url)) | |
| 137 return false; | |
| 138 | |
| 139 return true; | |
| 140 } | |
| 141 | |
| 142 // static | |
| 143 bool StructTraits<media_router::mojom::CastMediaSinkDataView, | |
| 144 media_router::CastSinkExtraData>:: | |
| 145 Read(media_router::mojom::CastMediaSinkDataView data, | |
| 146 media_router::CastSinkExtraData* out) { | |
| 147 out->capabilities = data.capabilities(); | |
| 148 out->cast_channel_id = data.cast_channel_id(); | |
| 149 | |
| 150 return true; | |
| 151 } | |
| 152 | |
| 43 } // namespace mojo | 153 } // namespace mojo |
| OLD | NEW |