| Index: mojo/public/cpp/bindings/lib/bindings_internal.h
|
| diff --git a/mojo/public/cpp/bindings/lib/bindings_internal.h b/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| index b37d87273f7b7aab715177084a3962731300250c..a16ce0ed888d8fb9060640dbe377223b4999999a 100644
|
| --- a/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| +++ b/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| @@ -20,6 +20,9 @@ template <typename T>
|
| class Array;
|
|
|
| template <typename T>
|
| +class ArrayDataView;
|
| +
|
| +template <typename T>
|
| class AssociatedInterfacePtrInfo;
|
|
|
| template <typename T>
|
| @@ -34,14 +37,25 @@ class InterfaceRequest;
|
| template <typename K, typename V>
|
| class Map;
|
|
|
| +template <typename K, typename V>
|
| +class MapDataView;
|
| +
|
| +class NativeStruct;
|
| +
|
| +class NativeStructDataView;
|
| +
|
| class String;
|
|
|
| +class StringDataView;
|
| +
|
| template <typename T>
|
| class StructPtr;
|
|
|
| template <typename T>
|
| class InlinedStructPtr;
|
|
|
| +using NativeStructPtr = StructPtr<NativeStruct>;
|
| +
|
| namespace internal {
|
|
|
| // Please note that this is a different value than |mojo::kInvalidHandleValue|,
|
| @@ -328,6 +342,32 @@ struct EnumHashImpl {
|
| }
|
| };
|
|
|
| +template <typename T>
|
| +struct DataViewTraits {
|
| + using MojomType = T;
|
| +};
|
| +
|
| +template <typename T>
|
| +struct DataViewTraits<ArrayDataView<T>> {
|
| + using MojomType = Array<typename DataViewTraits<T>::MojomType>;
|
| +};
|
| +
|
| +template <typename K, typename V>
|
| +struct DataViewTraits<MapDataView<K, V>> {
|
| + using MojomType = Map<typename DataViewTraits<K>::MojomType,
|
| + typename DataViewTraits<V>::MojomType>;
|
| +};
|
| +
|
| +template <>
|
| +struct DataViewTraits<StringDataView> {
|
| + using MojomType = String;
|
| +};
|
| +
|
| +template <>
|
| +struct DataViewTraits<NativeStructDataView> {
|
| + using MojomType = NativeStructPtr;
|
| +};
|
| +
|
| } // namespace internal
|
| } // namespace mojo
|
|
|
|
|