blob: 22298904c360a5d73198e2bfd2fe2d1c95d00ee6 [file] [log] [blame]
// Copyright 2016 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 COMPONENTS_CHROME_CLEANER_PUBLIC_INTERFACES_CHROME_PROMPT_MOJOM_SHARED_INTERNAL_H_
#define COMPONENTS_CHROME_CLEANER_PUBLIC_INTERFACES_CHROME_PROMPT_MOJOM_SHARED_INTERNAL_H_
#include <stdint.h>
#include "mojo/public/cpp/bindings/lib/array_internal.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/map_data_internal.h"
#include "mojo/public/cpp/bindings/lib/native_enum_data.h"
#include "mojo/public/cpp/bindings/lib/native_struct_data.h"
#include "mojo/public/cpp/bindings/lib/buffer.h"
#include "mojo/common/file_path.mojom-shared-internal.h"
namespace mojo {
namespace internal {
class ValidationContext;
}
}
namespace chrome_cleaner {
namespace mojom {
namespace internal {
class ObservedBehaviours_Data;
class UwS_Data;
struct ElevationStatus_Data {
public:
static bool constexpr kIsExtensible = true;
static bool IsKnownValue(int32_t value) {
switch (value) {
case 0:
case 1:
return true;
}
return false;
}
static bool Validate(int32_t value,
mojo::internal::ValidationContext* validation_context) {
if (kIsExtensible || IsKnownValue(value))
return true;
ReportValidationError(validation_context,
mojo::internal::VALIDATION_ERROR_UNKNOWN_ENUM_VALUE);
return false;
}
};
struct PromptAcceptance_Data {
public:
static bool constexpr kIsExtensible = true;
static bool IsKnownValue(int32_t value) {
switch (value) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
return true;
}
return false;
}
static bool Validate(int32_t value,
mojo::internal::ValidationContext* validation_context) {
if (kIsExtensible || IsKnownValue(value))
return true;
ReportValidationError(validation_context,
mojo::internal::VALIDATION_ERROR_UNKNOWN_ENUM_VALUE);
return false;
}
};
#pragma pack(push, 1)
class ObservedBehaviours_Data {
public:
static ObservedBehaviours_Data* New(mojo::internal::Buffer* buf) {
return new (buf->Allocate(sizeof(ObservedBehaviours_Data))) ObservedBehaviours_Data();
}
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
mojo::internal::StructHeader header_;
uint8_t ad_injector : 1;
uint8_t settings_hijacker : 1;
uint8_t extensions_injector : 1;
uint8_t dropper : 1;
uint8_t padfinal_[7];
private:
ObservedBehaviours_Data() : header_({sizeof(*this), 0}) {
}
~ObservedBehaviours_Data() = delete;
};
static_assert(sizeof(ObservedBehaviours_Data) == 16,
"Bad sizeof(ObservedBehaviours_Data)");
class UwS_Data {
public:
static UwS_Data* New(mojo::internal::Buffer* buf) {
return new (buf->Allocate(sizeof(UwS_Data))) UwS_Data();
}
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
mojo::internal::StructHeader header_;
int32_t id;
uint8_t pad0_[4];
mojo::internal::Pointer<mojo::internal::String_Data> name;
mojo::internal::Pointer<internal::ObservedBehaviours_Data> observed_behaviours;
mojo::internal::Pointer<mojo::internal::Array_Data<mojo::internal::Pointer<::mojo::common::mojom::internal::FilePath_Data>>> files_to_delete;
private:
UwS_Data() : header_({sizeof(*this), 0}) {
}
~UwS_Data() = delete;
};
static_assert(sizeof(UwS_Data) == 40,
"Bad sizeof(UwS_Data)");
constexpr uint32_t kChromePrompt_PromptUser_Name = 0;
class ChromePrompt_PromptUser_Params_Data {
public:
static ChromePrompt_PromptUser_Params_Data* New(mojo::internal::Buffer* buf) {
return new (buf->Allocate(sizeof(ChromePrompt_PromptUser_Params_Data))) ChromePrompt_PromptUser_Params_Data();
}
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<internal::UwS_Data>>> removable_uws_found;
int32_t elevation_status;
uint8_t padfinal_[4];
private:
ChromePrompt_PromptUser_Params_Data() : header_({sizeof(*this), 0}) {
}
~ChromePrompt_PromptUser_Params_Data() = delete;
};
static_assert(sizeof(ChromePrompt_PromptUser_Params_Data) == 24,
"Bad sizeof(ChromePrompt_PromptUser_Params_Data)");
class ChromePrompt_PromptUser_ResponseParams_Data {
public:
static ChromePrompt_PromptUser_ResponseParams_Data* New(mojo::internal::Buffer* buf) {
return new (buf->Allocate(sizeof(ChromePrompt_PromptUser_ResponseParams_Data))) ChromePrompt_PromptUser_ResponseParams_Data();
}
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
mojo::internal::StructHeader header_;
int32_t prompt_acceptance;
uint8_t padfinal_[4];
private:
ChromePrompt_PromptUser_ResponseParams_Data() : header_({sizeof(*this), 0}) {
}
~ChromePrompt_PromptUser_ResponseParams_Data() = delete;
};
static_assert(sizeof(ChromePrompt_PromptUser_ResponseParams_Data) == 16,
"Bad sizeof(ChromePrompt_PromptUser_ResponseParams_Data)");
#pragma pack(pop)
} // namespace internal
} // namespace mojom
} // namespace chrome_cleaner
#endif // COMPONENTS_CHROME_CLEANER_PUBLIC_INTERFACES_CHROME_PROMPT_MOJOM_SHARED_INTERNAL_H_