chromium/out/Default/gen/extensions/common/api/feedback_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
//   extensions/common/api/feedback_private.idl
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef EXTENSIONS_COMMON_API_FEEDBACK_PRIVATE_H__
#define EXTENSIONS_COMMON_API_FEEDBACK_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 feedback_private {

//
// Types
//

struct AttachedFile {};

struct LogsMapEntry {};

// Supported feedback flows.
enum class FeedbackFlow {};


const char* ToString(FeedbackFlow as_enum);
FeedbackFlow ParseFeedbackFlow(std::string_view as_string);
std::u16string GetFeedbackFlowParseError(std::string_view as_string);

struct FeedbackInfo {};

// Possible statuses that can result from sending feedback.
enum class Status {};


const char* ToString(Status as_enum);
Status ParseStatus(std::string_view as_string);
std::u16string GetStatusParseError(std::string_view as_string);

// Landing page types that can be shown after sending feedback.
enum class LandingPageType {};


const char* ToString(LandingPageType as_enum);
LandingPageType ParseLandingPageType(std::string_view as_string);
std::u16string GetLandingPageTypeParseError(std::string_view as_string);

struct SendFeedbackResult {};

// Allowed log sources on Chrome OS.
enum class LogSource {};


const char* ToString(LogSource as_enum);
LogSource ParseLogSource(std::string_view as_string);
std::u16string GetLogSourceParseError(std::string_view as_string);

// Source of the feedback.
enum class FeedbackSource {};


const char* ToString(FeedbackSource as_enum);
FeedbackSource ParseFeedbackSource(std::string_view as_string);
std::u16string GetFeedbackSourceParseError(std::string_view as_string);

struct ReadLogSourceParams {};

struct ReadLogSourceResult {};


//
// Functions
//

namespace GetUserEmail {

namespace Results {

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

}  // namespace GetUserEmail

namespace GetSystemInformation {

namespace Results {

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

}  // namespace GetSystemInformation

namespace OpenFeedback {

struct Params {};

}  // namespace OpenFeedback

namespace SendFeedback {

struct Params {};

namespace Results {

base::Value::List Create(const SendFeedbackResult& result);
}  // namespace Results

}  // namespace SendFeedback

namespace ReadLogSource {

struct Params {};

namespace Results {

base::Value::List Create(const ReadLogSourceResult& result);
}  // namespace Results

}  // namespace ReadLogSource

//
// Events
//

namespace OnFeedbackRequested {

extern const char kEventName[];  // "feedbackPrivate.onFeedbackRequested"

base::Value::List Create(const FeedbackInfo& feedback);
}  // namespace OnFeedbackRequested

}  // namespace feedback_private
}  // namespace api
}  // namespace extensions

#endif  // EXTENSIONS_COMMON_API_FEEDBACK_PRIVATE_H__