// NOTE: This file was generated by the Mojo bindings generator.
#ifndef MOJO_SERVICES_CLIPBOARD_INTERFACES_CLIPBOARD_MOJOM_INTERNAL_H_
#define MOJO_SERVICES_CLIPBOARD_INTERFACES_CLIPBOARD_MOJOM_INTERNAL_H_

#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/buffer.h"
#include "mojo/public/cpp/bindings/lib/union_accessor.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
#include "mojo/public/cpp/system/buffer.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "mojo/public/cpp/system/handle.h"
#include "mojo/public/cpp/system/message_pipe.h"

namespace mojo {
namespace internal {
class BoundsChecker;
}
}
namespace mojo {



namespace internal {




#pragma pack(push, 1)



class Clipboard_GetSequenceNumber_Params_Data {
 public:
  static Clipboard_GetSequenceNumber_Params_Data* New(mojo::internal::Buffer* buf);

  static mojo::internal::ValidationError Validate(
      const void* data,
      mojo::internal::BoundsChecker* bounds_checker,
      std::string* err);

  void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
  void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);

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

 private:
  Clipboard_GetSequenceNumber_Params_Data();
  ~Clipboard_GetSequenceNumber_Params_Data() = delete;
};
static_assert(sizeof(Clipboard_GetSequenceNumber_Params_Data) == 16,
              "Bad sizeof(Clipboard_GetSequenceNumber_Params_Data)");

class Clipboard_GetSequenceNumber_ResponseParams_Data {
 public:
  static Clipboard_GetSequenceNumber_ResponseParams_Data* New(mojo::internal::Buffer* buf);

  static mojo::internal::ValidationError Validate(
      const void* data,
      mojo::internal::BoundsChecker* bounds_checker,
      std::string* err);

  void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
  void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);

  mojo::internal::StructHeader header_;
  uint64_t sequence;

 private:
  Clipboard_GetSequenceNumber_ResponseParams_Data();
  ~Clipboard_GetSequenceNumber_ResponseParams_Data() = delete;
};
static_assert(sizeof(Clipboard_GetSequenceNumber_ResponseParams_Data) == 16,
              "Bad sizeof(Clipboard_GetSequenceNumber_ResponseParams_Data)");


class Clipboard_GetAvailableMimeTypes_Params_Data {
 public:
  static Clipboard_GetAvailableMimeTypes_Params_Data* New(mojo::internal::Buffer* buf);

  static mojo::internal::ValidationError Validate(
      const void* data,
      mojo::internal::BoundsChecker* bounds_checker,
      std::string* err);

  void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
  void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);

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

 private:
  Clipboard_GetAvailableMimeTypes_Params_Data();
  ~Clipboard_GetAvailableMimeTypes_Params_Data() = delete;
};
static_assert(sizeof(Clipboard_GetAvailableMimeTypes_Params_Data) == 16,
              "Bad sizeof(Clipboard_GetAvailableMimeTypes_Params_Data)");

class Clipboard_GetAvailableMimeTypes_ResponseParams_Data {
 public:
  static Clipboard_GetAvailableMimeTypes_ResponseParams_Data* New(mojo::internal::Buffer* buf);

  static mojo::internal::ValidationError Validate(
      const void* data,
      mojo::internal::BoundsChecker* bounds_checker,
      std::string* err);

  void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
  void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);

  mojo::internal::StructHeader header_;
  mojo::internal::ArrayPointer<mojo::internal::String_Data*> types;

 private:
  Clipboard_GetAvailableMimeTypes_ResponseParams_Data();
  ~Clipboard_GetAvailableMimeTypes_ResponseParams_Data() = delete;
};
static_assert(sizeof(Clipboard_GetAvailableMimeTypes_ResponseParams_Data) == 16,
              "Bad sizeof(Clipboard_GetAvailableMimeTypes_ResponseParams_Data)");


class Clipboard_ReadMimeType_Params_Data {
 public:
  static Clipboard_ReadMimeType_Params_Data* New(mojo::internal::Buffer* buf);

  static mojo::internal::ValidationError Validate(
      const void* data,
      mojo::internal::BoundsChecker* bounds_checker,
      std::string* err);

  void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
  void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);

  mojo::internal::StructHeader header_;
  int32_t clipboard_type;
  uint8_t pad0_[4];
  mojo::internal::StringPointer mime_type;

 private:
  Clipboard_ReadMimeType_Params_Data();
  ~Clipboard_ReadMimeType_Params_Data() = delete;
};
static_assert(sizeof(Clipboard_ReadMimeType_Params_Data) == 24,
              "Bad sizeof(Clipboard_ReadMimeType_Params_Data)");

class Clipboard_ReadMimeType_ResponseParams_Data {
 public:
  static Clipboard_ReadMimeType_ResponseParams_Data* New(mojo::internal::Buffer* buf);

  static mojo::internal::ValidationError Validate(
      const void* data,
      mojo::internal::BoundsChecker* bounds_checker,
      std::string* err);

  void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
  void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);

  mojo::internal::StructHeader header_;
  mojo::internal::ArrayPointer<uint8_t> data;

 private:
  Clipboard_ReadMimeType_ResponseParams_Data();
  ~Clipboard_ReadMimeType_ResponseParams_Data() = delete;
};
static_assert(sizeof(Clipboard_ReadMimeType_ResponseParams_Data) == 16,
              "Bad sizeof(Clipboard_ReadMimeType_ResponseParams_Data)");


class Clipboard_WriteClipboardData_Params_Data {
 public:
  static Clipboard_WriteClipboardData_Params_Data* New(mojo::internal::Buffer* buf);

  static mojo::internal::ValidationError Validate(
      const void* data,
      mojo::internal::BoundsChecker* bounds_checker,
      std::string* err);

  void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
  void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);

  mojo::internal::StructHeader header_;
  int32_t clipboard_type;
  uint8_t pad0_[4];
  mojo::internal::StructPointer<mojo::internal::Map_Data<mojo::internal::String_Data*, mojo::internal::Array_Data<uint8_t>*>> data;

 private:
  Clipboard_WriteClipboardData_Params_Data();
  ~Clipboard_WriteClipboardData_Params_Data() = delete;
};
static_assert(sizeof(Clipboard_WriteClipboardData_Params_Data) == 24,
              "Bad sizeof(Clipboard_WriteClipboardData_Params_Data)");


#pragma pack(pop)

}  // namespace internal
}  // namespace mojo

#endif  // MOJO_SERVICES_CLIPBOARD_INTERFACES_CLIPBOARD_MOJOM_INTERNAL_H_
