| // 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_ |