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

#ifndef CHROME_COMMON_APPS_PLATFORM_APPS_API_MEDIA_GALLERIES_H__
#define CHROME_COMMON_APPS_PLATFORM_APPS_API_MEDIA_GALLERIES_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 media_galleries {

//
// Types
//

enum class GalleryChangeType {};


const char* ToString(GalleryChangeType as_enum);
GalleryChangeType ParseGalleryChangeType(std::string_view as_string);
std::u16string GetGalleryChangeTypeParseError(std::string_view as_string);

enum class GetMediaFileSystemsInteractivity {};


const char* ToString(GetMediaFileSystemsInteractivity as_enum);
GetMediaFileSystemsInteractivity ParseGetMediaFileSystemsInteractivity(std::string_view as_string);
std::u16string GetGetMediaFileSystemsInteractivityParseError(std::string_view as_string);

enum class GetMetadataType {};


const char* ToString(GetMetadataType as_enum);
GetMetadataType ParseGetMetadataType(std::string_view as_string);
std::u16string GetGetMetadataTypeParseError(std::string_view as_string);

struct GalleryChangeDetails {};

struct MediaFileSystemsDetails {};

struct MediaMetadataOptions {};

struct MediaFileSystemMetadata {};

struct StreamInfo {};

struct MediaMetadata {};

struct AddGalleryWatchResult {};


//
// Functions
//

namespace GetMediaFileSystems {

struct Params {};

namespace Results {

struct MediaFileSystemsType {};



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

}  // namespace GetMediaFileSystems

namespace AddUserSelectedFolder {

namespace Results {

struct MediaFileSystemsType {};



base::Value::List Create(const std::vector<MediaFileSystemsType>& media_file_systems, const std::string& selected_file_system_name);
}  // namespace Results

}  // namespace AddUserSelectedFolder

namespace GetMetadata {

struct Params {};

namespace Results {

base::Value::List Create(const MediaMetadata& metadata);
}  // namespace Results

}  // namespace GetMetadata

namespace AddGalleryWatch {

struct Params {};

namespace Results {

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

}  // namespace AddGalleryWatch

namespace RemoveGalleryWatch {

struct Params {};

}  // namespace RemoveGalleryWatch

//
// Events
//

namespace OnGalleryChanged {

extern const char kEventName[];  // "mediaGalleries.onGalleryChanged"

base::Value::List Create(const GalleryChangeDetails& details);
}  // namespace OnGalleryChanged

}  // namespace media_galleries
}  // namespace api
}  // namespace chrome_apps

#endif  // CHROME_COMMON_APPS_PLATFORM_APPS_API_MEDIA_GALLERIES_H__