// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module drivefs.pinning_manager_types.mojom;
// The PinManager first undergoes a setup phase, where it audits the current
// disk space, pins all available files (disk space willing) then moves to
// monitoring. This enum represents the various stages the setup goes through.
// This enum is currently shared between the PinManager as well as the OS
// Settings.
//
// These values are persisted to UMA histograms (see UMA enum
// GoogleDrive.BulkPinning.Stage). Entries should not be renumbered and numeric
// values should never be reused.
enum Stage {
// Initial stage.
kStopped = 0,
// Paused because of unfavorable network conditions.
kPausedOffline = 1,
// Paused because of battery saving mode.
kPausedBatterySaver = 2,
// In-progress stages.
kGettingFreeSpace = 3,
kListingFiles = 4,
kSyncing = 5,
// Final success stage.
kSuccess = 6,
// Final error stages.
kNotEnoughSpace = 7,
kCannotGetFreeSpace = 8,
kCannotListFiles = 9,
kCannotEnableDocsOffline = 10,
};