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

Unified Diff: chrome/browser/media/router/media_router_type_converters.cc

Issue 1123243005: Address mfoltz's feedback for the Media Router Mojo type converters. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync with master Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/media_router_type_converters.cc
diff --git a/chrome/browser/media/router/media_router_type_converters.cc b/chrome/browser/media/router/media_router_type_converters.cc
index 86d1eb68c8156ade04ba53adebc245f01679a2a0..a3818ad66a36dfe245cb139772de39a19f6993d5 100644
--- a/chrome/browser/media/router/media_router_type_converters.cc
+++ b/chrome/browser/media/router/media_router_type_converters.cc
@@ -4,8 +4,53 @@
#include "chrome/browser/media/router/media_router_type_converters.h"
+using media_router::interfaces::IssuePtr;
+using media_router::interfaces::MediaSinkPtr;
+using media_router::interfaces::MediaRoutePtr;
+
namespace mojo {
+// static
+media_router::MediaSink
+TypeConverter<media_router::MediaSink, MediaSinkPtr>::Convert(
+ const MediaSinkPtr& input) {
+ return media_router::MediaSink(input->sink_id, input->name);
+}
+
+// static
+MediaSinkPtr TypeConverter<MediaSinkPtr, media_router::MediaSink>::Convert(
+ const media_router::MediaSink& input) {
+ MediaSinkPtr output(media_router::interfaces::MediaSink::New());
+ output->sink_id = input.id();
+ output->name = input.name();
+ return output.Pass();
+}
+
+// static
+media_router::MediaRoute
+TypeConverter<media_router::MediaRoute, MediaRoutePtr>::Convert(
+ const MediaRoutePtr& input) {
+ return media_router::MediaRoute(
+ input->media_route_id, media_router::MediaSource(input->media_source),
+ input->media_sink.To<media_router::MediaSink>(), input->description,
+ input->is_local);
+}
+
+// static
+MediaRoutePtr TypeConverter<MediaRoutePtr, media_router::MediaRoute>::Convert(
+ const media_router::MediaRoute& input) {
+ MediaRoutePtr output(media_router::interfaces::MediaRoute::New());
+ if (!input.media_source().Empty())
+ output->media_source = input.media_source().id();
+ output->media_route_id = input.media_route_id();
+ output->media_sink =
+ media_router::interfaces::MediaSink::From<media_router::MediaSink>(
+ input.media_sink());
+ output->description = input.description();
+ output->is_local = input.is_local();
+ return output.Pass();
+}
+
media_router::Issue::Severity IssueSeverityFromMojo(
media_router::interfaces::Issue::Severity severity) {
switch (severity) {
@@ -38,4 +83,22 @@ media_router::IssueAction::Type IssueActionTypeFromMojo(
}
}
+// static
+media_router::Issue TypeConverter<media_router::Issue, IssuePtr>::Convert(
+ const IssuePtr& input) {
+ std::vector<media_router::IssueAction> actions;
+ if (input->secondary_actions) {
+ actions.reserve(input->secondary_actions.size());
+ for (size_t i = 0; i < input->secondary_actions.size(); ++i) {
+ actions.push_back(media_router::IssueAction(
+ IssueActionTypeFromMojo(input->secondary_actions[i])));
+ }
+ }
+ return media_router::Issue(
+ input->title, input->message,
+ media_router::IssueAction(IssueActionTypeFromMojo(input->default_action)),
+ actions, input->route_id, IssueSeverityFromMojo(input->severity),
+ input->is_blocking, input->help_url);
+}
+
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698