#ifndef ASH_PUBLIC_CPP_AMBIENT_COMMON_AMBIENT_SETTINGS_H_
#define ASH_PUBLIC_CPP_AMBIENT_COMMON_AMBIENT_SETTINGS_H_
#include <string>
#include <vector>
#include "ash/public/cpp/ash_public_export.h"
#include "ash/webui/personalization_app/mojom/personalization_app.mojom-shared.h"
namespace ash {
ASH_PUBLIC_EXPORT extern const char kAmbientModeRecentHighlightsAlbumId[];
ASH_PUBLIC_EXPORT extern const char kAmbientModeFeaturedPhotoAlbumId[];
ASH_PUBLIC_EXPORT extern const char kAmbientModeFineArtAlbumId[];
ASH_PUBLIC_EXPORT extern const char kAmbientModeEarthAndSpaceAlbumId[];
ASH_PUBLIC_EXPORT extern const char kAmbientModeStreetArtAlbumId[];
ASH_PUBLIC_EXPORT extern const char kAmbientModeCapturedOnPixelAlbumId[];
struct ASH_PUBLIC_EXPORT ArtSetting {
ArtSetting();
ArtSetting(const ArtSetting&);
ArtSetting(ArtSetting&&);
ArtSetting& operator=(const ArtSetting&);
ArtSetting& operator=(ArtSetting&&);
~ArtSetting();
int setting_id = 0;
std::string album_id;
bool enabled = false;
bool visible = false;
std::string title;
std::string description;
std::string preview_image_url;
};
enum class AmbientModeTemperatureUnit {
kMinValue = 0,
kFahrenheit = kMinValue,
kCelsius = 1,
kMaxValue = kCelsius
};
struct ASH_PUBLIC_EXPORT AmbientSettings {
AmbientSettings();
AmbientSettings(const AmbientSettings&);
AmbientSettings(AmbientSettings&&);
AmbientSettings& operator=(const AmbientSettings&);
AmbientSettings& operator=(AmbientSettings&&);
~AmbientSettings();
personalization_app::mojom::TopicSource topic_source =
personalization_app::mojom::TopicSource::kArtGallery;
std::vector<ArtSetting> art_settings;
std::vector<std::string> selected_album_ids;
bool show_weather = true;
AmbientModeTemperatureUnit temperature_unit =
AmbientModeTemperatureUnit::kFahrenheit;
};
struct ASH_PUBLIC_EXPORT PersonalAlbum {
PersonalAlbum();
PersonalAlbum(const PersonalAlbum&) = delete;
PersonalAlbum(PersonalAlbum&&);
PersonalAlbum& operator=(const PersonalAlbum&) = delete;
PersonalAlbum& operator=(PersonalAlbum&&);
~PersonalAlbum();
std::string album_id;
std::string album_name;
bool selected = false;
std::string description;
int number_of_photos = 0;
std::string banner_image_url;
std::vector<std::string> preview_image_urls;
};
struct ASH_PUBLIC_EXPORT PersonalAlbums {
PersonalAlbums();
PersonalAlbums(const PersonalAlbums&) = delete;
PersonalAlbums(PersonalAlbums&&);
PersonalAlbums& operator=(const PersonalAlbums&) = delete;
PersonalAlbums& operator=(PersonalAlbums&&);
~PersonalAlbums();
std::vector<PersonalAlbum> albums;
std::string resume_token;
};
}
#endif