chromium/out/Default/gen/chrome/common/apps/platform_apps/api/sync_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
//   chrome/common/apps/platform_apps/api/sync_file_system.idl
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef CHROME_COMMON_APPS_PLATFORM_APPS_API_SYNC_FILE_SYSTEM_H__
#define CHROME_COMMON_APPS_PLATFORM_APPS_API_SYNC_FILE_SYSTEM_H__

#include <stdint.h>

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

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


namespace chrome_apps {
namespace api {
namespace sync_file_system {

//
// Types
//

enum class SyncAction {};


const char* ToString(SyncAction as_enum);
SyncAction ParseSyncAction(std::string_view as_string);
std::u16string GetSyncActionParseError(std::string_view as_string);

enum class ServiceStatus {};


const char* ToString(ServiceStatus as_enum);
ServiceStatus ParseServiceStatus(std::string_view as_string);
std::u16string GetServiceStatusParseError(std::string_view as_string);

enum class FileStatus {};


const char* ToString(FileStatus as_enum);
FileStatus ParseFileStatus(std::string_view as_string);
std::u16string GetFileStatusParseError(std::string_view as_string);

enum class SyncDirection {};


const char* ToString(SyncDirection as_enum);
SyncDirection ParseSyncDirection(std::string_view as_string);
std::u16string GetSyncDirectionParseError(std::string_view as_string);

enum class ConflictResolutionPolicy {};


const char* ToString(ConflictResolutionPolicy as_enum);
ConflictResolutionPolicy ParseConflictResolutionPolicy(std::string_view as_string);
std::u16string GetConflictResolutionPolicyParseError(std::string_view as_string);

struct FileInfo {};

struct FileStatusInfo {};

struct StorageInfo {};

struct ServiceInfo {};


//
// Functions
//

namespace RequestFileSystem {

namespace Results {

struct FileSystem {};


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

}  // namespace RequestFileSystem

namespace SetConflictResolutionPolicy {

struct Params {};

namespace Results {

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

}  // namespace SetConflictResolutionPolicy

namespace GetConflictResolutionPolicy {

namespace Results {

base::Value::List Create(const ConflictResolutionPolicy& policy);
}  // namespace Results

}  // namespace GetConflictResolutionPolicy

namespace GetUsageAndQuota {

struct Params {};

namespace Results {

base::Value::List Create(const StorageInfo& info);
}  // namespace Results

}  // namespace GetUsageAndQuota

namespace GetFileStatus {

struct Params {};

namespace Results {

base::Value::List Create(const FileStatus& status);
}  // namespace Results

}  // namespace GetFileStatus

namespace GetFileStatuses {

struct Params {};

namespace Results {

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

}  // namespace GetFileStatuses

namespace GetServiceStatus {

namespace Results {

base::Value::List Create(const ServiceStatus& status);
}  // namespace Results

}  // namespace GetServiceStatus

//
// Events
//

namespace OnServiceStatusChanged {

extern const char kEventName[];  // "syncFileSystem.onServiceStatusChanged"

base::Value::List Create(const ServiceInfo& detail);
}  // namespace OnServiceStatusChanged

namespace OnFileStatusChanged {

extern const char kEventName[];  // "syncFileSystem.onFileStatusChanged"

base::Value::List Create(const FileInfo& detail);
}  // namespace OnFileStatusChanged

}  // namespace sync_file_system
}  // namespace api
}  // namespace chrome_apps

#endif  // CHROME_COMMON_APPS_PLATFORM_APPS_API_SYNC_FILE_SYSTEM_H__