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

Unified Diff: mojo/common/common_custom_types_struct_traits.h

Issue 2333443002: Add base::UnguessableToken (Closed)
Patch Set: Removed '= default' constructor. Created 4 years, 3 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: 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 37fc5ca298a024430ca3d4e61c437d766a9749ea..706aef2428bb1942e9b43c54a78caf9caeaff2c8 100644
--- a/mojo/common/common_custom_types_struct_traits.h
+++ b/mojo/common/common_custom_types_struct_traits.h
@@ -5,6 +5,7 @@
#ifndef MOJO_COMMON_COMMON_CUSTOM_TYPES_STRUCT_TRAITS_H_
#define MOJO_COMMON_COMMON_CUSTOM_TYPES_STRUCT_TRAITS_H_
+#include "base/nonce.h"
#include "base/version.h"
#include "mojo/common/common_custom_types.mojom-shared.h"
@@ -23,6 +24,22 @@ struct StructTraits<mojo::common::mojom::VersionDataView, base::Version> {
base::Version* out);
};
+template <>
+struct StructTraits<mojo::common::mojom::NonceDataView, base::Nonce> {
+ static bool IsNull(const base::Nonce& nonce) { return nonce.is_empty(); }
+
+ static void SetToNull(base::Nonce* out) { *out = base::Nonce(); }
dcheng 2016/09/13 23:19:06 Do we actually need to support nullability? I'd su
tguilbert 2016/09/14 22:40:48 Done.
+
+ static uint64_t high(const base::Nonce& nonce) { return nonce.high(); }
+
+ static uint64_t low(const base::Nonce& nonce) { return nonce.low(); }
+
+ static bool Read(mojo::common::mojom::NonceDataView data, base::Nonce* out) {
+ *out = base::Nonce::Deserialize(data.high(), data.low());
+ return !out->is_empty();
+ }
+};
+
} // namespace mojo
#endif // MOJO_COMMON_COMMON_CUSTOM_TYPES_STRUCT_TRAITS_H_

Powered by Google App Engine
This is Rietveld 408576698