Index: mojo/public/cpp/bindings/tests/struct_with_traits_impl.h |
diff --git a/mojo/public/cpp/bindings/tests/struct_with_traits_impl.h b/mojo/public/cpp/bindings/tests/struct_with_traits_impl.h |
index 3ba8ef6430abf59f925d9450e4d5ff2cc4928ca6..46ba96cc7bf150f582bb00c1a4e06c052d778516 100644 |
--- a/mojo/public/cpp/bindings/tests/struct_with_traits_impl.h |
+++ b/mojo/public/cpp/bindings/tests/struct_with_traits_impl.h |
@@ -8,12 +8,22 @@ |
#include <stdint.h> |
#include <string> |
+#include <vector> |
#include "base/strings/string_piece.h" |
namespace mojo { |
namespace test { |
+struct StructWithTraitsElementImpl { |
+ public: |
+ bool operator==(const StructWithTraitsElementImpl& other) const { |
+ return value == other.value; |
+ } |
+ |
+ int32_t value = 0; |
+}; |
+ |
// A type which knows how to look like a mojo::test::StructWithTraits mojom type |
// by way of mojo::StructTraits. |
class StructWithTraitsImpl { |
@@ -31,13 +41,32 @@ class StructWithTraitsImpl { |
uint64_t get_uint64() const { return uint64_; } |
void set_string(std::string value) { string_ = value; } |
- base::StringPiece get_string() const { return string_; } |
+ base::StringPiece get_string_as_string_piece() const { return string_; } |
+ const std::string& get_string() const { return string_; } |
+ |
+ const std::vector<std::string>& get_array_string() const { |
+ return array_string_; |
+ } |
+ std::vector<std::string>& get_mutable_array_string() { return array_string_; } |
+ |
+ const StructWithTraitsElementImpl& get_element() const { return element_; } |
+ StructWithTraitsElementImpl& get_mutable_element() { return element_; } |
+ |
+ const std::vector<StructWithTraitsElementImpl>& get_array_element() const { |
+ return array_element_; |
+ } |
+ std::vector<StructWithTraitsElementImpl>& get_mutable_array_element() { |
+ return array_element_; |
+ } |
private: |
bool bool_ = false; |
uint32_t uint32_ = 0; |
uint64_t uint64_ = 0; |
std::string string_; |
+ std::vector<std::string> array_string_; |
+ StructWithTraitsElementImpl element_; |
+ std::vector<StructWithTraitsElementImpl> array_element_; |
}; |
} // namespace test |