text: // mojo/public/cpp/bindings/tests/remote_unittest.test-mojom-params-data.h is auto generated by mojom_bindings_generator.py, do not edit
  
  // Copyright 2019 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.
  
  #ifndef MOJO_PUBLIC_CPP_BINDINGS_TESTS_REMOTE_UNITTEST_TEST_MOJOM_PARAMS_DATA_H_
  #define MOJO_PUBLIC_CPP_BINDINGS_TESTS_REMOTE_UNITTEST_TEST_MOJOM_PARAMS_DATA_H_
  
  #include "base/macros.h"
  #include "mojo/public/cpp/bindings/lib/bindings_internal.h"
  #include "mojo/public/cpp/bindings/lib/buffer.h"
  #include "mojo/public/cpp/bindings/lib/validation_context.h"
  
  #if defined(__clang__)
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wunused-private-field"
  #endif
  namespace mojo {
  namespace test {
  namespace remote_unittest {
  namespace mojom {
  namespace internal {
  class  SharedRemoteSyncTest_Fetch_Params_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
  
   private:
    friend class mojo::internal::MessageFragment<SharedRemoteSyncTest_Fetch_Params_Data>;
  
    SharedRemoteSyncTest_Fetch_Params_Data();
    ~SharedRemoteSyncTest_Fetch_Params_Data() = delete;
  };
  static_assert(sizeof(SharedRemoteSyncTest_Fetch_Params_Data) == 8,
                "Bad sizeof(SharedRemoteSyncTest_Fetch_Params_Data)");
  class  SharedRemoteSyncTest_Fetch_ResponseParams_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
    int32_t value;
    uint8_t padfinal_[4];
  
   private:
    friend class mojo::internal::MessageFragment<SharedRemoteSyncTest_Fetch_ResponseParams_Data>;
  
    SharedRemoteSyncTest_Fetch_ResponseParams_Data();
    ~SharedRemoteSyncTest_Fetch_ResponseParams_Data() = delete;
  };
  static_assert(sizeof(SharedRemoteSyncTest_Fetch_ResponseParams_Data) == 16,
                "Bad sizeof(SharedRemoteSyncTest_Fetch_ResponseParams_Data)");
  class  LargeMessageTest_ProcessData_Params_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
    mojo::internal::Pointer<mojo::internal::Array_Data<uint8_t>> data;
  
   private:
    friend class mojo::internal::MessageFragment<LargeMessageTest_ProcessData_Params_Data>;
  
    LargeMessageTest_ProcessData_Params_Data();
    ~LargeMessageTest_ProcessData_Params_Data() = delete;
  };
  static_assert(sizeof(LargeMessageTest_ProcessData_Params_Data) == 16,
                "Bad sizeof(LargeMessageTest_ProcessData_Params_Data)");
  class  LargeMessageTest_ProcessData_ResponseParams_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
    uint64_t data_size;
  
   private:
    friend class mojo::internal::MessageFragment<LargeMessageTest_ProcessData_ResponseParams_Data>;
  
    LargeMessageTest_ProcessData_ResponseParams_Data();
    ~LargeMessageTest_ProcessData_ResponseParams_Data() = delete;
  };
  static_assert(sizeof(LargeMessageTest_ProcessData_ResponseParams_Data) == 16,
                "Bad sizeof(LargeMessageTest_ProcessData_ResponseParams_Data)");
  class  LargeMessageTest_ProcessLotsOfData_Params_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
    mojo::internal::Pointer<mojo::internal::Array_Data<uint8_t>> data;
  
   private:
    friend class mojo::internal::MessageFragment<LargeMessageTest_ProcessLotsOfData_Params_Data>;
  
    LargeMessageTest_ProcessLotsOfData_Params_Data();
    ~LargeMessageTest_ProcessLotsOfData_Params_Data() = delete;
  };
  static_assert(sizeof(LargeMessageTest_ProcessLotsOfData_Params_Data) == 16,
                "Bad sizeof(LargeMessageTest_ProcessLotsOfData_Params_Data)");
  class  LargeMessageTest_ProcessLotsOfData_ResponseParams_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
    uint64_t data_size;
  
   private:
    friend class mojo::internal::MessageFragment<LargeMessageTest_ProcessLotsOfData_ResponseParams_Data>;
  
    LargeMessageTest_ProcessLotsOfData_ResponseParams_Data();
    ~LargeMessageTest_ProcessLotsOfData_ResponseParams_Data() = delete;
  };
  static_assert(sizeof(LargeMessageTest_ProcessLotsOfData_ResponseParams_Data) == 16,
                "Bad sizeof(LargeMessageTest_ProcessLotsOfData_ResponseParams_Data)");
  class  LargeMessageTest_GetLotsOfData_Params_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
    uint64_t data_size;
  
   private:
    friend class mojo::internal::MessageFragment<LargeMessageTest_GetLotsOfData_Params_Data>;
  
    LargeMessageTest_GetLotsOfData_Params_Data();
    ~LargeMessageTest_GetLotsOfData_Params_Data() = delete;
  };
  static_assert(sizeof(LargeMessageTest_GetLotsOfData_Params_Data) == 16,
                "Bad sizeof(LargeMessageTest_GetLotsOfData_Params_Data)");
  class  LargeMessageTest_GetLotsOfData_ResponseParams_Data {
   public:
    static bool Validate(const void* data,
                         mojo::internal::ValidationContext* validation_context);
  
    mojo::internal::StructHeader header_;
    mojo::internal::Pointer<mojo::internal::Array_Data<uint8_t>> data;
  
   private:
    friend class mojo::internal::MessageFragment<LargeMessageTest_GetLotsOfData_ResponseParams_Data>;
  
    LargeMessageTest_GetLotsOfData_ResponseParams_Data();
    ~LargeMessageTest_GetLotsOfData_ResponseParams_Data() = delete;
  };
  static_assert(sizeof(LargeMessageTest_GetLotsOfData_ResponseParams_Data) == 16,
                "Bad sizeof(LargeMessageTest_GetLotsOfData_ResponseParams_Data)");
  
  }  // namespace internal
  
  
  class SharedRemoteSyncTest_Fetch_ParamsDataView {
   public:
    SharedRemoteSyncTest_Fetch_ParamsDataView() {}
  
    SharedRemoteSyncTest_Fetch_ParamsDataView(
        internal::SharedRemoteSyncTest_Fetch_Params_Data* data,
        mojo::Message* message)
        : data_(data) {}
  
    bool is_null() const { return !data_; }
   private:
    internal::SharedRemoteSyncTest_Fetch_Params_Data* data_ = nullptr;
  };
  
  
  
  class SharedRemoteSyncTest_Fetch_ResponseParamsDataView {
   public:
    SharedRemoteSyncTest_Fetch_ResponseParamsDataView() {}
  
    SharedRemoteSyncTest_Fetch_ResponseParamsDataView(
        internal::SharedRemoteSyncTest_Fetch_ResponseParams_Data* data,
        mojo::Message* message)
        : data_(data) {}
  
    bool is_null() const { return !data_; }
    int32_t value() const {
      return data_->value;
    }
   private:
    internal::SharedRemoteSyncTest_Fetch_ResponseParams_Data* data_ = nullptr;
  };
  
  
  
  class LargeMessageTest_ProcessData_ParamsDataView {
   public:
    LargeMessageTest_ProcessData_ParamsDataView() {}
  
    LargeMessageTest_ProcessData_ParamsDataView(
        internal::LargeMessageTest_ProcessData_Params_Data* data,
        mojo::Message* message)
        : data_(data), message_(message) {}
  
    bool is_null() const { return !data_; }
    inline void GetDataDataView(
        mojo::ArrayDataView<uint8_t>* output);
  
    template <typename UserType>
    WARN_UNUSED_RESULT bool ReadData(UserType* output) {
      
      auto* pointer = data_->data.Get();
      return mojo::internal::Deserialize<mojo::ArrayDataView<uint8_t>>(
          pointer, output, message_);
    }
   private:
    internal::LargeMessageTest_ProcessData_Params_Data* data_ = nullptr;
    mojo::Message* message_ = nullptr;
  };
  
  
  
  class LargeMessageTest_ProcessData_ResponseParamsDataView {
   public:
    LargeMessageTest_ProcessData_ResponseParamsDataView() {}
  
    LargeMessageTest_ProcessData_ResponseParamsDataView(
        internal::LargeMessageTest_ProcessData_ResponseParams_Data* data,
        mojo::Message* message)
        : data_(data) {}
  
    bool is_null() const { return !data_; }
    uint64_t data_size() const {
      return data_->data_size;
    }
   private:
    internal::LargeMessageTest_ProcessData_ResponseParams_Data* data_ = nullptr;
  };
  
  
  
  class LargeMessageTest_ProcessLotsOfData_ParamsDataView {
   public:
    LargeMessageTest_ProcessLotsOfData_ParamsDataView() {}
  
    LargeMessageTest_ProcessLotsOfData_ParamsDataView(
        internal::LargeMessageTest_ProcessLotsOfData_Params_Data* data,
        mojo::Message* message)
        : data_(data), message_(message) {}
  
    bool is_null() const { return !data_; }
    inline void GetDataDataView(
        mojo::ArrayDataView<uint8_t>* output);
  
    template <typename UserType>
    WARN_UNUSED_RESULT bool ReadData(UserType* output) {
      
      auto* pointer = data_->data.Get();
      return mojo::internal::Deserialize<mojo::ArrayDataView<uint8_t>>(
          pointer, output, message_);
    }
   private:
    internal::LargeMessageTest_ProcessLotsOfData_Params_Data* data_ = nullptr;
    mojo::Message* message_ = nullptr;
  };
  
  
  
  class LargeMessageTest_ProcessLotsOfData_ResponseParamsDataView {
   public:
    LargeMessageTest_ProcessLotsOfData_ResponseParamsDataView() {}
  
    LargeMessageTest_ProcessLotsOfData_ResponseParamsDataView(
        internal::LargeMessageTest_ProcessLotsOfData_ResponseParams_Data* data,
        mojo::Message* message)
        : data_(data) {}
  
    bool is_null() const { return !data_; }
    uint64_t data_size() const {
      return data_->data_size;
    }
   private:
    internal::LargeMessageTest_ProcessLotsOfData_ResponseParams_Data* data_ = nullptr;
  };
  
  
  
  class LargeMessageTest_GetLotsOfData_ParamsDataView {
   public:
    LargeMessageTest_GetLotsOfData_ParamsDataView() {}
  
    LargeMessageTest_GetLotsOfData_ParamsDataView(
        internal::LargeMessageTest_GetLotsOfData_Params_Data* data,
        mojo::Message* message)
        : data_(data) {}
  
    bool is_null() const { return !data_; }
    uint64_t data_size() const {
      return data_->data_size;
    }
   private:
    internal::LargeMessageTest_GetLotsOfData_Params_Data* data_ = nullptr;
  };
  
  
  
  class LargeMessageTest_GetLotsOfData_ResponseParamsDataView {
   public:
    LargeMessageTest_GetLotsOfData_ResponseParamsDataView() {}
  
    LargeMessageTest_GetLotsOfData_ResponseParamsDataView(
        internal::LargeMessageTest_GetLotsOfData_ResponseParams_Data* data,
        mojo::Message* message)
        : data_(data), message_(message) {}
  
    bool is_null() const { return !data_; }
    inline void GetDataDataView(
        mojo::ArrayDataView<uint8_t>* output);
  
    template <typename UserType>
    WARN_UNUSED_RESULT bool ReadData(UserType* output) {
      
      auto* pointer = data_->data.Get();
      return mojo::internal::Deserialize<mojo::ArrayDataView<uint8_t>>(
          pointer, output, message_);
    }
   private:
    internal::LargeMessageTest_GetLotsOfData_ResponseParams_Data* data_ = nullptr;
    mojo::Message* message_ = nullptr;
  };
  
  
  
  
  
  
  inline void LargeMessageTest_ProcessData_ParamsDataView::GetDataDataView(
      mojo::ArrayDataView<uint8_t>* output) {
    auto pointer = data_->data.Get();
    *output = mojo::ArrayDataView<uint8_t>(pointer, message_);
  }
  
  
  
  
  inline void LargeMessageTest_ProcessLotsOfData_ParamsDataView::GetDataDataView(
      mojo::ArrayDataView<uint8_t>* output) {
    auto pointer = data_->data.Get();
    *output = mojo::ArrayDataView<uint8_t>(pointer, message_);
  }
  
  
  
  
  
  
  inline void LargeMessageTest_GetLotsOfData_ResponseParamsDataView::GetDataDataView(
      mojo::ArrayDataView<uint8_t>* output) {
    auto pointer = data_->data.Get();
    *output = mojo::ArrayDataView<uint8_t>(pointer, message_);
  }
  
  }  // namespace mojom
  }  // namespace remote_unittest
  }  // namespace test
  }  // namespace mojo
  
  #if defined(__clang__)
  #pragma clang diagnostic pop
  #endif
  
  #endif  // MOJO_PUBLIC_CPP_BINDINGS_TESTS_REMOTE_UNITTEST_TEST_MOJOM_PARAMS_DATA_H_