chromium/out/Default/gen/chrome/common/extensions/api/enterprise_reporting_private.h

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

// GENERATED FROM THE API DEFINITION IN
//   chrome/common/extensions/api/enterprise_reporting_private.idl
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef CHROME_COMMON_EXTENSIONS_API_ENTERPRISE_REPORTING_PRIVATE_H__
#define CHROME_COMMON_EXTENSIONS_API_ENTERPRISE_REPORTING_PRIVATE_H__

#include <stdint.h>

#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/values.h"
#include <string_view>


namespace extensions {
namespace api {
namespace enterprise_reporting_private {

//
// Types
//

// Possible states a particular device setting can be in.
enum class SettingValue {};


const char* ToString(SettingValue as_enum);
SettingValue ParseSettingValue(std::string_view as_string);
std::u16string GetSettingValueParseError(std::string_view as_string);

struct DeviceInfo {};

// Possible states for the EnterpriseRealTimeUrlCheckMode policy.
enum class RealtimeUrlCheckMode {};


const char* ToString(RealtimeUrlCheckMode as_enum);
RealtimeUrlCheckMode ParseRealtimeUrlCheckMode(std::string_view as_string);
std::u16string GetRealtimeUrlCheckModeParseError(std::string_view as_string);

// Possible states for the SafeBrowsingProtectionLevel policy.
enum class SafeBrowsingLevel {};


const char* ToString(SafeBrowsingLevel as_enum);
SafeBrowsingLevel ParseSafeBrowsingLevel(std::string_view as_string);
std::u16string GetSafeBrowsingLevelParseError(std::string_view as_string);

// Possible states for the PasswordProtectionWarningTrigger policy
enum class PasswordProtectionTrigger {};


const char* ToString(PasswordProtectionTrigger as_enum);
PasswordProtectionTrigger ParsePasswordProtectionTrigger(std::string_view as_string);
std::u16string GetPasswordProtectionTriggerParseError(std::string_view as_string);

struct ContextInfo {};

// The status passed to the callback of <code>getCertificate</code> to indicate
// if the required policy is set.
enum class CertificateStatus {};


const char* ToString(CertificateStatus as_enum);
CertificateStatus ParseCertificateStatus(std::string_view as_string);
std::u16string GetCertificateStatusParseError(std::string_view as_string);

struct Certificate {};

// Captures the type of event so it can be associated with user or device in
// Chrome for reporting purposes
enum class EventType {};


const char* ToString(EventType as_enum);
EventType ParseEventType(std::string_view as_string);
std::u16string GetEventTypeParseError(std::string_view as_string);

struct EnqueueRecordRequest {};

struct UserContext {};

// Enumeration of the various states an AntiVirus software product can be in.
enum class AntiVirusProductState {};


const char* ToString(AntiVirusProductState as_enum);
AntiVirusProductState ParseAntiVirusProductState(std::string_view as_string);
std::u16string GetAntiVirusProductStateParseError(std::string_view as_string);

struct AntiVirusSignal {};

struct HotfixSignal {};

// Used to indicate whether a given signal was correctly found or not, or
// indicate a reason for not being able to find it.
enum class PresenceValue {};


const char* ToString(PresenceValue as_enum);
PresenceValue ParsePresenceValue(std::string_view as_string);
std::u16string GetPresenceValueParseError(std::string_view as_string);

struct GetFileSystemInfoOptions {};

struct GetFileSystemInfoRequest {};

struct GetFileSystemInfoResponse {};

enum class RegistryHive {};


const char* ToString(RegistryHive as_enum);
RegistryHive ParseRegistryHive(std::string_view as_string);
std::u16string GetRegistryHiveParseError(std::string_view as_string);

struct GetSettingsOptions {};

struct GetSettingsRequest {};

struct GetSettingsResponse {};


//
// Functions
//

namespace GetDeviceId {

namespace Results {

base::Value::List Create(const std::string& id);
}  // namespace Results

}  // namespace GetDeviceId

namespace GetPersistentSecret {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<uint8_t>& secret);
}  // namespace Results

}  // namespace GetPersistentSecret

namespace GetDeviceData {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<uint8_t>& data);
}  // namespace Results

}  // namespace GetDeviceData

namespace SetDeviceData {

struct Params {};

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace SetDeviceData

namespace GetDeviceInfo {

namespace Results {

base::Value::List Create(const DeviceInfo& device_info);
}  // namespace Results

}  // namespace GetDeviceInfo

namespace GetContextInfo {

namespace Results {

base::Value::List Create(const ContextInfo& context_info);
}  // namespace Results

}  // namespace GetContextInfo

namespace GetCertificate {

struct Params {};

namespace Results {

base::Value::List Create(const Certificate& certificate);
}  // namespace Results

}  // namespace GetCertificate

namespace EnqueueRecord {

struct Params {};

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace EnqueueRecord

namespace GetFileSystemInfo {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<GetFileSystemInfoResponse>& file_system_signals);
}  // namespace Results

}  // namespace GetFileSystemInfo

namespace GetSettings {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<GetSettingsResponse>& settings);
}  // namespace Results

}  // namespace GetSettings

namespace GetAvInfo {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<AntiVirusSignal>& av_signals);
}  // namespace Results

}  // namespace GetAvInfo

namespace GetHotfixes {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<HotfixSignal>& hotfix_signals);
}  // namespace Results

}  // namespace GetHotfixes

}  // namespace enterprise_reporting_private
}  // namespace api
}  // namespace extensions

#endif  // CHROME_COMMON_EXTENSIONS_API_ENTERPRISE_REPORTING_PRIVATE_H__