| Index: chrome/browser/media/router/mojo/media_router_struct_traits.cc
|
| diff --git a/chrome/browser/media/router/mojo/media_router_struct_traits.cc b/chrome/browser/media/router/mojo/media_router_struct_traits.cc
|
| index 47e9283b822136dc7566def4dd916f951d64cba7..a34633f249db78454014a278614a69b2fb044741 100644
|
| --- a/chrome/browser/media/router/mojo/media_router_struct_traits.cc
|
| +++ b/chrome/browser/media/router/mojo/media_router_struct_traits.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/media/router/mojo/media_router_struct_traits.h"
|
|
|
| #include "chrome/browser/media/router/media_source.h"
|
| +#include "url/mojo/url_gurl_struct_traits.h"
|
|
|
| namespace mojo {
|
|
|
| @@ -83,6 +84,73 @@ bool StructTraits<
|
| }
|
|
|
| // static
|
| +bool StructTraits<media_router::mojom::TypedMediaSinkDataView,
|
| + media_router::TypedMediaSink>::
|
| + Read(media_router::mojom::TypedMediaSinkDataView data,
|
| + media_router::TypedMediaSink* out) {
|
| + media_router::MediaSink sink;
|
| + if (!data.ReadSink(&sink))
|
| + return false;
|
| +
|
| + out->set_sink(sink);
|
| +
|
| + std::string ip_address;
|
| + if (!data.ReadIpAddress(&ip_address))
|
| + return false;
|
| +
|
| + out->set_ip_address(ip_address);
|
| +
|
| + base::Optional<std::string> model_name;
|
| + if (!data.ReadModelName(&model_name))
|
| + return false;
|
| +
|
| + if (model_name)
|
| + out->set_model_name(*model_name);
|
| +
|
| + media_router::mojom::MediaSinkExtraDataDataView extra_data_data_view;
|
| + data.GetExtraDataDataView(&extra_data_data_view);
|
| +
|
| + if (extra_data_data_view.is_null()) {
|
| + return false;
|
| + } else if (extra_data_data_view.is_dial_media_sink()) {
|
| + media_router::DialSinkExtraData extra_data;
|
| + if (!extra_data_data_view.ReadDialMediaSink(&extra_data))
|
| + return false;
|
| +
|
| + out->set_dial_data(extra_data);
|
| + } else if (extra_data_data_view.is_cast_media_sink()) {
|
| + media_router::CastSinkExtraData extra_data;
|
| + if (!extra_data_data_view.ReadCastMediaSink(&extra_data))
|
| + return false;
|
| +
|
| + out->set_cast_data(extra_data);
|
| + }
|
| +
|
| + return true;
|
| +}
|
| +
|
| +// static
|
| +bool StructTraits<media_router::mojom::DialMediaSinkDataView,
|
| + media_router::DialSinkExtraData>::
|
| + Read(media_router::mojom::DialMediaSinkDataView data,
|
| + media_router::DialSinkExtraData* out) {
|
| + if (!data.ReadAppUrl(&out->app_url))
|
| + return false;
|
| +
|
| + return true;
|
| +}
|
| +
|
| +// static
|
| +bool StructTraits<media_router::mojom::CastMediaSinkDataView,
|
| + media_router::CastSinkExtraData>::
|
| + Read(media_router::mojom::CastMediaSinkDataView data,
|
| + media_router::CastSinkExtraData* out) {
|
| + out->capabilities = data.capabilities();
|
| + out->cast_channel_id = data.cast_channel_id();
|
| +
|
| + return true;
|
| +}
|
| +
|
| bool StructTraits<media_router::mojom::MediaRouteDataView,
|
| media_router::MediaRoute>::
|
| Read(media_router::mojom::MediaRouteDataView data,
|
|
|