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

#ifndef EXTENSIONS_COMMON_API_FILE_SYSTEM_H__
#define EXTENSIONS_COMMON_API_FILE_SYSTEM_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 file_system {

//
// Types
//

struct AcceptOption {};

enum class ChooseEntryType {};


const char* ToString(ChooseEntryType as_enum);
ChooseEntryType ParseChooseEntryType(std::string_view as_string);
std::u16string GetChooseEntryTypeParseError(std::string_view as_string);

struct ChooseEntryOptions {};

struct RequestFileSystemOptions {};

struct Volume {};

struct VolumeListChangedEvent {};


//
// Functions
//

namespace GetDisplayPath {

struct Params {};

namespace Results {

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

}  // namespace GetDisplayPath

namespace GetWritableEntry {

struct Params {};

namespace Results {

struct Entry {};


base::Value::List Create(const Entry& entry);
}  // namespace Results

}  // namespace GetWritableEntry

namespace IsWritableEntry {

struct Params {};

namespace Results {

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

}  // namespace IsWritableEntry

namespace ChooseEntry {

struct Params {};

namespace Results {

struct Entry {};

struct FileEntriesType {};



base::Value::List Create(const Entry& entry, const std::vector<FileEntriesType>& file_entries);
}  // namespace Results

}  // namespace ChooseEntry

namespace RestoreEntry {

struct Params {};

namespace Results {

struct Entry {};


base::Value::List Create(const Entry& entry);
}  // namespace Results

}  // namespace RestoreEntry

namespace IsRestorable {

struct Params {};

namespace Results {

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

}  // namespace IsRestorable

namespace RetainEntry {

struct Params {};

}  // namespace RetainEntry

namespace RequestFileSystem {

struct Params {};

namespace Results {

struct FileSystem {};


base::Value::List Create(const FileSystem& file_system);
}  // namespace Results

}  // namespace RequestFileSystem

namespace GetVolumeList {

namespace Results {

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

}  // namespace GetVolumeList

//
// Events
//

namespace OnVolumeListChanged {

extern const char kEventName[];  // "fileSystem.onVolumeListChanged"

base::Value::List Create(const VolumeListChangedEvent& event);
}  // namespace OnVolumeListChanged

}  // namespace file_system
}  // namespace api
}  // namespace extensions

#endif  // EXTENSIONS_COMMON_API_FILE_SYSTEM_H__