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

Unified Diff: mojo/common/common_custom_types_struct_traits.h

Issue 2464793004: Mojo C++ bindings: some improvements for String16 struct traits. (Closed)
Patch Set: . Created 4 years, 1 month 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
« no previous file with comments | « no previous file | mojo/common/common_custom_types_struct_traits.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/common/common_custom_types_struct_traits.h
diff --git a/mojo/common/common_custom_types_struct_traits.h b/mojo/common/common_custom_types_struct_traits.h
index 37be540907482ffb1c4ec6a2b274e459e49a94f4..b99e15ffc9d803ff7e0aea30cfc60d671f01b007 100644
--- a/mojo/common/common_custom_types_struct_traits.h
+++ b/mojo/common/common_custom_types_struct_traits.h
@@ -14,23 +14,25 @@
namespace mojo {
template <>
-struct StructTraits<mojo::common::mojom::String16DataView, base::string16> {
- static mojo::ConstCArray<uint16_t> data(const base::string16& str);
- static bool Read(mojo::common::mojom::String16DataView data,
- base::string16* out);
+struct StructTraits<common::mojom::String16DataView, base::string16> {
+ static ConstCArray<uint16_t> data(const base::string16& str) {
+ return ConstCArray<uint16_t>(str.size(),
+ reinterpret_cast<const uint16_t*>(str.data()));
+ }
+
+ static bool Read(common::mojom::String16DataView data, base::string16* out);
};
template <>
-struct StructTraits<mojo::common::mojom::VersionDataView, base::Version> {
+struct StructTraits<common::mojom::VersionDataView, base::Version> {
static bool IsNull(const base::Version& version) {
- return !version.IsValid();
+ return !version.IsValid();
}
static void SetToNull(base::Version* out) {
- *out = base::Version(std::string());
+ *out = base::Version(std::string());
}
static const std::vector<uint32_t>& components(const base::Version& version);
- static bool Read(mojo::common::mojom::VersionDataView data,
- base::Version* out);
+ static bool Read(common::mojom::VersionDataView data, base::Version* out);
};
// If base::UnguessableToken is no longer 128 bits, the logic below and the
@@ -39,8 +41,8 @@ static_assert(sizeof(base::UnguessableToken) == 2 * sizeof(uint64_t),
"base::UnguessableToken should be of size 2 * sizeof(uint64_t).");
template <>
-struct StructTraits<mojo::common::mojom::UnguessableTokenDataView,
- base::UnguessableToken> {
+struct StructTraits<common::mojom::UnguessableTokenDataView,
+ base::UnguessableToken> {
static uint64_t high(const base::UnguessableToken& token) {
return token.GetHighForSerialization();
}
@@ -49,17 +51,17 @@ struct StructTraits<mojo::common::mojom::UnguessableTokenDataView,
return token.GetLowForSerialization();
}
- static bool Read(mojo::common::mojom::UnguessableTokenDataView data,
+ static bool Read(common::mojom::UnguessableTokenDataView data,
base::UnguessableToken* out);
};
template <>
-struct StructTraits<mojo::common::mojom::TimeDeltaDataView, base::TimeDelta> {
+struct StructTraits<common::mojom::TimeDeltaDataView, base::TimeDelta> {
static int64_t microseconds(const base::TimeDelta& delta) {
return delta.InMicroseconds();
}
- static bool Read(mojo::common::mojom::TimeDeltaDataView data,
+ static bool Read(common::mojom::TimeDeltaDataView data,
base::TimeDelta* delta) {
*delta = base::TimeDelta::FromMicroseconds(data.microseconds());
return true;
« no previous file with comments | « no previous file | mojo/common/common_custom_types_struct_traits.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698