// content/common/child_process.mojom-params-data.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CONTENT_COMMON_CHILD_PROCESS_MOJOM_PARAMS_DATA_H_
#define CONTENT_COMMON_CHILD_PROCESS_MOJOM_PARAMS_DATA_H_
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"

#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif

namespace mojo::internal {
class ValidationContext;
}


namespace content::mojom {
namespace internal {
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcessHost_Ping_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<ChildProcessHost_Ping_Params_Data>;

  ChildProcessHost_Ping_Params_Data();
  ~ChildProcessHost_Ping_Params_Data() = delete;
};
static_assert(sizeof(ChildProcessHost_Ping_Params_Data) == 8,
              "Bad sizeof(ChildProcessHost_Ping_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcessHost_Ping_ResponseParams_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<ChildProcessHost_Ping_ResponseParams_Data>;

  ChildProcessHost_Ping_ResponseParams_Data();
  ~ChildProcessHost_Ping_ResponseParams_Data() = delete;
};
static_assert(sizeof(ChildProcessHost_Ping_ResponseParams_Data) == 8,
              "Bad sizeof(ChildProcessHost_Ping_ResponseParams_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcessHost_BindHostReceiver_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::mojo_base::mojom::internal::GenericPendingReceiver_Data> receiver;

 private:
  friend class mojo::internal::MessageFragment<ChildProcessHost_BindHostReceiver_Params_Data>;

  ChildProcessHost_BindHostReceiver_Params_Data();
  ~ChildProcessHost_BindHostReceiver_Params_Data() = delete;
};
static_assert(sizeof(ChildProcessHost_BindHostReceiver_Params_Data) == 16,
              "Bad sizeof(ChildProcessHost_BindHostReceiver_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcessHost_BindHostReceivers_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<mojo::internal::Pointer<::mojo_base::mojom::internal::GenericPendingReceiver_Data>>> receivers;

 private:
  friend class mojo::internal::MessageFragment<ChildProcessHost_BindHostReceivers_Params_Data>;

  ChildProcessHost_BindHostReceivers_Params_Data();
  ~ChildProcessHost_BindHostReceivers_Params_Data() = delete;
};
static_assert(sizeof(ChildProcessHost_BindHostReceivers_Params_Data) == 16,
              "Bad sizeof(ChildProcessHost_BindHostReceivers_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcess_ProcessShutdown_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<ChildProcess_ProcessShutdown_Params_Data>;

  ChildProcess_ProcessShutdown_Params_Data();
  ~ChildProcess_ProcessShutdown_Params_Data() = delete;
};
static_assert(sizeof(ChildProcess_ProcessShutdown_Params_Data) == 8,
              "Bad sizeof(ChildProcess_ProcessShutdown_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcess_GetBackgroundTracingAgentProvider_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Handle_Data receiver;
  uint8_t padfinal_[4];

 private:
  friend class mojo::internal::MessageFragment<ChildProcess_GetBackgroundTracingAgentProvider_Params_Data>;

  ChildProcess_GetBackgroundTracingAgentProvider_Params_Data();
  ~ChildProcess_GetBackgroundTracingAgentProvider_Params_Data() = delete;
};
static_assert(sizeof(ChildProcess_GetBackgroundTracingAgentProvider_Params_Data) == 16,
              "Bad sizeof(ChildProcess_GetBackgroundTracingAgentProvider_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcess_CrashHungProcess_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<ChildProcess_CrashHungProcess_Params_Data>;

  ChildProcess_CrashHungProcess_Params_Data();
  ~ChildProcess_CrashHungProcess_Params_Data() = delete;
};
static_assert(sizeof(ChildProcess_CrashHungProcess_Params_Data) == 8,
              "Bad sizeof(ChildProcess_CrashHungProcess_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcess_BindServiceInterface_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::mojo_base::mojom::internal::GenericPendingReceiver_Data> receiver;

 private:
  friend class mojo::internal::MessageFragment<ChildProcess_BindServiceInterface_Params_Data>;

  ChildProcess_BindServiceInterface_Params_Data();
  ~ChildProcess_BindServiceInterface_Params_Data() = delete;
};
static_assert(sizeof(ChildProcess_BindServiceInterface_Params_Data) == 16,
              "Bad sizeof(ChildProcess_BindServiceInterface_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcess_BindReceiver_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::mojo_base::mojom::internal::GenericPendingReceiver_Data> receiver;

 private:
  friend class mojo::internal::MessageFragment<ChildProcess_BindReceiver_Params_Data>;

  ChildProcess_BindReceiver_Params_Data();
  ~ChildProcess_BindReceiver_Params_Data() = delete;
};
static_assert(sizeof(ChildProcess_BindReceiver_Params_Data) == 16,
              "Bad sizeof(ChildProcess_BindReceiver_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcess_OnMemoryPressure_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  int32_t memory_pressure_level;
  uint8_t padfinal_[4];

 private:
  friend class mojo::internal::MessageFragment<ChildProcess_OnMemoryPressure_Params_Data>;

  ChildProcess_OnMemoryPressure_Params_Data();
  ~ChildProcess_OnMemoryPressure_Params_Data() = delete;
};
static_assert(sizeof(ChildProcess_OnMemoryPressure_Params_Data) == 16,
              "Bad sizeof(ChildProcess_OnMemoryPressure_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) ChildProcess_SetBatterySaverMode_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  uint8_t battery_saver_mode_enabled : 1;
  uint8_t padfinal_[7];

 private:
  friend class mojo::internal::MessageFragment<ChildProcess_SetBatterySaverMode_Params_Data>;

  ChildProcess_SetBatterySaverMode_Params_Data();
  ~ChildProcess_SetBatterySaverMode_Params_Data() = delete;
};
static_assert(sizeof(ChildProcess_SetBatterySaverMode_Params_Data) == 16,
              "Bad sizeof(ChildProcess_SetBatterySaverMode_Params_Data)");

}  // namespace internal


class ChildProcessHost_Ping_ParamsDataView {
 public:
  ChildProcessHost_Ping_ParamsDataView() = default;

  ChildProcessHost_Ping_ParamsDataView(
      internal::ChildProcessHost_Ping_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::ChildProcessHost_Ping_Params_Data* data_ = nullptr;
};


class ChildProcessHost_Ping_ResponseParamsDataView {
 public:
  ChildProcessHost_Ping_ResponseParamsDataView() = default;

  ChildProcessHost_Ping_ResponseParamsDataView(
      internal::ChildProcessHost_Ping_ResponseParams_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::ChildProcessHost_Ping_ResponseParams_Data* data_ = nullptr;
};


class ChildProcessHost_BindHostReceiver_ParamsDataView {
 public:
  ChildProcessHost_BindHostReceiver_ParamsDataView() = default;

  ChildProcessHost_BindHostReceiver_ParamsDataView(
      internal::ChildProcessHost_BindHostReceiver_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetReceiverDataView(
      ::mojo_base::mojom::GenericPendingReceiverDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadReceiver(UserType* output) {
    
    auto* pointer = data_->receiver.Get();
    return mojo::internal::Deserialize<::mojo_base::mojom::GenericPendingReceiverDataView>(
        pointer, output, message_);
  }
 private:
  internal::ChildProcessHost_BindHostReceiver_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class ChildProcessHost_BindHostReceivers_ParamsDataView {
 public:
  ChildProcessHost_BindHostReceivers_ParamsDataView() = default;

  ChildProcessHost_BindHostReceivers_ParamsDataView(
      internal::ChildProcessHost_BindHostReceivers_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetReceiversDataView(
      mojo::ArrayDataView<::mojo_base::mojom::GenericPendingReceiverDataView>* output);

  template <typename UserType>
  [[nodiscard]] bool ReadReceivers(UserType* output) {
    
    auto* pointer = data_->receivers.Get();
    return mojo::internal::Deserialize<mojo::ArrayDataView<::mojo_base::mojom::GenericPendingReceiverDataView>>(
        pointer, output, message_);
  }
 private:
  internal::ChildProcessHost_BindHostReceivers_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class ChildProcess_ProcessShutdown_ParamsDataView {
 public:
  ChildProcess_ProcessShutdown_ParamsDataView() = default;

  ChildProcess_ProcessShutdown_ParamsDataView(
      internal::ChildProcess_ProcessShutdown_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::ChildProcess_ProcessShutdown_Params_Data* data_ = nullptr;
};


class ChildProcess_GetBackgroundTracingAgentProvider_ParamsDataView {
 public:
  ChildProcess_GetBackgroundTracingAgentProvider_ParamsDataView() = default;

  ChildProcess_GetBackgroundTracingAgentProvider_ParamsDataView(
      internal::ChildProcess_GetBackgroundTracingAgentProvider_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  template <typename UserType>
  UserType TakeReceiver() {
    UserType result;
    bool ret =
        mojo::internal::Deserialize<mojo::InterfaceRequestDataView<::tracing::mojom::BackgroundTracingAgentProviderInterfaceBase>>(
            &data_->receiver, &result, message_);
    DCHECK(ret);
    return result;
  }
 private:
  internal::ChildProcess_GetBackgroundTracingAgentProvider_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class ChildProcess_CrashHungProcess_ParamsDataView {
 public:
  ChildProcess_CrashHungProcess_ParamsDataView() = default;

  ChildProcess_CrashHungProcess_ParamsDataView(
      internal::ChildProcess_CrashHungProcess_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::ChildProcess_CrashHungProcess_Params_Data* data_ = nullptr;
};


class ChildProcess_BindServiceInterface_ParamsDataView {
 public:
  ChildProcess_BindServiceInterface_ParamsDataView() = default;

  ChildProcess_BindServiceInterface_ParamsDataView(
      internal::ChildProcess_BindServiceInterface_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetReceiverDataView(
      ::mojo_base::mojom::GenericPendingReceiverDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadReceiver(UserType* output) {
    
    auto* pointer = data_->receiver.Get();
    return mojo::internal::Deserialize<::mojo_base::mojom::GenericPendingReceiverDataView>(
        pointer, output, message_);
  }
 private:
  internal::ChildProcess_BindServiceInterface_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class ChildProcess_BindReceiver_ParamsDataView {
 public:
  ChildProcess_BindReceiver_ParamsDataView() = default;

  ChildProcess_BindReceiver_ParamsDataView(
      internal::ChildProcess_BindReceiver_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetReceiverDataView(
      ::mojo_base::mojom::GenericPendingReceiverDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadReceiver(UserType* output) {
    
    auto* pointer = data_->receiver.Get();
    return mojo::internal::Deserialize<::mojo_base::mojom::GenericPendingReceiverDataView>(
        pointer, output, message_);
  }
 private:
  internal::ChildProcess_BindReceiver_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class ChildProcess_OnMemoryPressure_ParamsDataView {
 public:
  ChildProcess_OnMemoryPressure_ParamsDataView() = default;

  ChildProcess_OnMemoryPressure_ParamsDataView(
      internal::ChildProcess_OnMemoryPressure_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
  template <typename UserType>
  [[nodiscard]] bool ReadMemoryPressureLevel(UserType* output) const {
    auto data_value = data_->memory_pressure_level;
    return mojo::internal::Deserialize<::mojo_base::mojom::MemoryPressureLevel>(
        data_value, output);
  }
  ::mojo_base::mojom::MemoryPressureLevel memory_pressure_level() const {
    return ::mojo::internal::ToKnownEnumValueHelper(
          static_cast<::mojo_base::mojom::MemoryPressureLevel>(data_->memory_pressure_level));
  }
 private:
  internal::ChildProcess_OnMemoryPressure_Params_Data* data_ = nullptr;
};


class ChildProcess_SetBatterySaverMode_ParamsDataView {
 public:
  ChildProcess_SetBatterySaverMode_ParamsDataView() = default;

  ChildProcess_SetBatterySaverMode_ParamsDataView(
      internal::ChildProcess_SetBatterySaverMode_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
  bool battery_saver_mode_enabled() const {
    return data_->battery_saver_mode_enabled;
  }
 private:
  internal::ChildProcess_SetBatterySaverMode_Params_Data* data_ = nullptr;
};





inline void ChildProcessHost_BindHostReceiver_ParamsDataView::GetReceiverDataView(
    ::mojo_base::mojom::GenericPendingReceiverDataView* output) {
  auto pointer = data_->receiver.Get();
  *output = ::mojo_base::mojom::GenericPendingReceiverDataView(pointer, message_);
}


inline void ChildProcessHost_BindHostReceivers_ParamsDataView::GetReceiversDataView(
    mojo::ArrayDataView<::mojo_base::mojom::GenericPendingReceiverDataView>* output) {
  auto pointer = data_->receivers.Get();
  *output = mojo::ArrayDataView<::mojo_base::mojom::GenericPendingReceiverDataView>(pointer, message_);
}








inline void ChildProcess_BindServiceInterface_ParamsDataView::GetReceiverDataView(
    ::mojo_base::mojom::GenericPendingReceiverDataView* output) {
  auto pointer = data_->receiver.Get();
  *output = ::mojo_base::mojom::GenericPendingReceiverDataView(pointer, message_);
}


inline void ChildProcess_BindReceiver_ParamsDataView::GetReceiverDataView(
    ::mojo_base::mojom::GenericPendingReceiverDataView* output) {
  auto pointer = data_->receiver.Get();
  *output = ::mojo_base::mojom::GenericPendingReceiverDataView(pointer, message_);
}







}  // content::mojom

#if defined(__clang__)
#pragma clang diagnostic pop
#endif

#endif  // CONTENT_COMMON_CHILD_PROCESS_MOJOM_PARAMS_DATA_H_