blob: c10bae1bbc65616e2c1d7309f08b6267e33d020b [file] [log] [blame]
// 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 CONTENT_COMMON_RENDERER_HOST_MOJOM_PARAMS_DATA_H_
#define CONTENT_COMMON_RENDERER_HOST_MOJOM_PARAMS_DATA_H_
#include "base/logging.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"
#elif defined(_MSC_VER)
#pragma warning(push)
#pragma warning(disable:4056)
#pragma warning(disable:4065)
#pragma warning(disable:4756)
#endif
namespace content {
namespace mojom {
namespace internal {
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) RendererHost_GetBrowserHistogram_Params_Data {
public:
class BufferWriter {
public:
BufferWriter() = default;
void Allocate(mojo::internal::Buffer* serialization_buffer) {
serialization_buffer_ = serialization_buffer;
index_ = serialization_buffer_->Allocate(sizeof(RendererHost_GetBrowserHistogram_Params_Data));
new (data()) RendererHost_GetBrowserHistogram_Params_Data();
}
bool is_null() const { return !serialization_buffer_; }
RendererHost_GetBrowserHistogram_Params_Data* data() {
DCHECK(!is_null());
return serialization_buffer_->Get<RendererHost_GetBrowserHistogram_Params_Data>(index_);
}
RendererHost_GetBrowserHistogram_Params_Data* operator->() { return data(); }
private:
mojo::internal::Buffer* serialization_buffer_ = nullptr;
size_t index_ = 0;
DISALLOW_COPY_AND_ASSIGN(BufferWriter);
};
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
mojo::internal::StructHeader header_;
mojo::internal::Pointer<mojo::internal::String_Data> name;
private:
RendererHost_GetBrowserHistogram_Params_Data();
~RendererHost_GetBrowserHistogram_Params_Data() = delete;
};
static_assert(sizeof(RendererHost_GetBrowserHistogram_Params_Data) == 16,
"Bad sizeof(RendererHost_GetBrowserHistogram_Params_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) RendererHost_GetBrowserHistogram_ResponseParams_Data {
public:
class BufferWriter {
public:
BufferWriter() = default;
void Allocate(mojo::internal::Buffer* serialization_buffer) {
serialization_buffer_ = serialization_buffer;
index_ = serialization_buffer_->Allocate(sizeof(RendererHost_GetBrowserHistogram_ResponseParams_Data));
new (data()) RendererHost_GetBrowserHistogram_ResponseParams_Data();
}
bool is_null() const { return !serialization_buffer_; }
RendererHost_GetBrowserHistogram_ResponseParams_Data* data() {
DCHECK(!is_null());
return serialization_buffer_->Get<RendererHost_GetBrowserHistogram_ResponseParams_Data>(index_);
}
RendererHost_GetBrowserHistogram_ResponseParams_Data* operator->() { return data(); }
private:
mojo::internal::Buffer* serialization_buffer_ = nullptr;
size_t index_ = 0;
DISALLOW_COPY_AND_ASSIGN(BufferWriter);
};
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
mojo::internal::StructHeader header_;
mojo::internal::Pointer<mojo::internal::String_Data> histogram_json;
private:
RendererHost_GetBrowserHistogram_ResponseParams_Data();
~RendererHost_GetBrowserHistogram_ResponseParams_Data() = delete;
};
static_assert(sizeof(RendererHost_GetBrowserHistogram_ResponseParams_Data) == 16,
"Bad sizeof(RendererHost_GetBrowserHistogram_ResponseParams_Data)");
class COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) RendererHost_SuddenTerminationChanged_Params_Data {
public:
class BufferWriter {
public:
BufferWriter() = default;
void Allocate(mojo::internal::Buffer* serialization_buffer) {
serialization_buffer_ = serialization_buffer;
index_ = serialization_buffer_->Allocate(sizeof(RendererHost_SuddenTerminationChanged_Params_Data));
new (data()) RendererHost_SuddenTerminationChanged_Params_Data();
}
bool is_null() const { return !serialization_buffer_; }
RendererHost_SuddenTerminationChanged_Params_Data* data() {
DCHECK(!is_null());
return serialization_buffer_->Get<RendererHost_SuddenTerminationChanged_Params_Data>(index_);
}
RendererHost_SuddenTerminationChanged_Params_Data* operator->() { return data(); }
private:
mojo::internal::Buffer* serialization_buffer_ = nullptr;
size_t index_ = 0;
DISALLOW_COPY_AND_ASSIGN(BufferWriter);
};
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
mojo::internal::StructHeader header_;
uint8_t enabled : 1;
uint8_t padfinal_[7];
private:
RendererHost_SuddenTerminationChanged_Params_Data();
~RendererHost_SuddenTerminationChanged_Params_Data() = delete;
};
static_assert(sizeof(RendererHost_SuddenTerminationChanged_Params_Data) == 16,
"Bad sizeof(RendererHost_SuddenTerminationChanged_Params_Data)");
} // namespace internal
class RendererHost_GetBrowserHistogram_ParamsDataView {
public:
RendererHost_GetBrowserHistogram_ParamsDataView() {}
RendererHost_GetBrowserHistogram_ParamsDataView(
internal::RendererHost_GetBrowserHistogram_Params_Data* data,
mojo::internal::SerializationContext* context)
: data_(data), context_(context) {}
bool is_null() const { return !data_; }
inline void GetNameDataView(
mojo::StringDataView* output);
template <typename UserType>
WARN_UNUSED_RESULT bool ReadName(UserType* output) {
auto* pointer = data_->name.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, context_);
}
private:
internal::RendererHost_GetBrowserHistogram_Params_Data* data_ = nullptr;
mojo::internal::SerializationContext* context_ = nullptr;
};
class RendererHost_GetBrowserHistogram_ResponseParamsDataView {
public:
RendererHost_GetBrowserHistogram_ResponseParamsDataView() {}
RendererHost_GetBrowserHistogram_ResponseParamsDataView(
internal::RendererHost_GetBrowserHistogram_ResponseParams_Data* data,
mojo::internal::SerializationContext* context)
: data_(data), context_(context) {}
bool is_null() const { return !data_; }
inline void GetHistogramJsonDataView(
mojo::StringDataView* output);
template <typename UserType>
WARN_UNUSED_RESULT bool ReadHistogramJson(UserType* output) {
auto* pointer = data_->histogram_json.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, context_);
}
private:
internal::RendererHost_GetBrowserHistogram_ResponseParams_Data* data_ = nullptr;
mojo::internal::SerializationContext* context_ = nullptr;
};
class RendererHost_SuddenTerminationChanged_ParamsDataView {
public:
RendererHost_SuddenTerminationChanged_ParamsDataView() {}
RendererHost_SuddenTerminationChanged_ParamsDataView(
internal::RendererHost_SuddenTerminationChanged_Params_Data* data,
mojo::internal::SerializationContext* context)
: data_(data) {}
bool is_null() const { return !data_; }
bool enabled() const {
return data_->enabled;
}
private:
internal::RendererHost_SuddenTerminationChanged_Params_Data* data_ = nullptr;
};
inline void RendererHost_GetBrowserHistogram_ParamsDataView::GetNameDataView(
mojo::StringDataView* output) {
auto pointer = data_->name.Get();
*output = mojo::StringDataView(pointer, context_);
}
inline void RendererHost_GetBrowserHistogram_ResponseParamsDataView::GetHistogramJsonDataView(
mojo::StringDataView* output) {
auto pointer = data_->histogram_json.Get();
*output = mojo::StringDataView(pointer, context_);
}
} // namespace mojom
} // namespace content
#if defined(__clang__)
#pragma clang diagnostic pop
#elif defined(_MSC_VER)
#pragma warning(pop)
#endif
#endif // CONTENT_COMMON_RENDERER_HOST_MOJOM_PARAMS_DATA_H_