Chromium Code Reviews| Index: chrome/browser/ui/app_list/search/playstore/mojo/app_discovery_result_traits.cc |
| diff --git a/chrome/browser/ui/app_list/search/playstore/mojo/app_discovery_result_traits.cc b/chrome/browser/ui/app_list/search/playstore/mojo/app_discovery_result_traits.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..cf53376a61cf69a2dac171357de34995c82a20ec |
| --- /dev/null |
| +++ b/chrome/browser/ui/app_list/search/playstore/mojo/app_discovery_result_traits.cc |
| @@ -0,0 +1,50 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/ui/app_list/search/playstore/mojo/app_discovery_result_traits.h" |
| + |
| +#include <memory> |
|
Luis Héctor Chávez
2017/06/22 19:49:17
Leave only utility
Jiaquan He
2017/06/22 19:59:36
Done.
|
| +#include <string> |
| +#include <utility> |
| +#include <vector> |
| + |
| +namespace mojo { |
| + |
| +bool StructTraits<arc::mojom::AppDiscoveryResultDataView, |
| + std::unique_ptr<app_list::PlayStoreSearchResult>>:: |
| + Read(arc::mojom::AppDiscoveryResultDataView data, |
| + std::unique_ptr<app_list::PlayStoreSearchResult>* out) { |
| + base::Optional<std::string> launch_intent_uri; |
| + if (!data.ReadLaunchIntentUri(&launch_intent_uri)) |
| + return false; |
| + |
| + base::Optional<std::string> install_intent_uri; |
| + if (!data.ReadInstallIntentUri(&install_intent_uri)) |
| + return false; |
| + |
| + base::Optional<std::string> label; |
| + if (!data.ReadLabel(&label)) |
| + return false; |
| + |
| + base::Optional<std::string> publisher_name; |
| + if (!data.ReadPublisherName(&publisher_name)) |
| + return false; |
| + |
| + base::Optional<std::string> formatted_price; |
| + if (!data.ReadFormattedPrice(&formatted_price)) |
| + return false; |
| + |
| + std::vector<uint8_t> icon_png_data; |
| + if (!data.ReadIconPngData(&icon_png_data)) |
| + return false; |
| + |
| + *out = base::MakeUnique<app_list::PlayStoreSearchResult>( |
| + std::move(launch_intent_uri), std::move(install_intent_uri), |
| + std::move(label), data.is_instant_app(), data.is_recent(), |
| + std::move(publisher_name), std::move(formatted_price), |
| + data.review_score(), std::move(icon_png_data)); |
| + return true; |
| +} |
| + |
| +} // namespace mojo |