blob: 3f06b6a6a40e54d347824fc5b2de8cd844375184 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_WIN_CLOUD_SYNCED_FOLDER_CHECKER_H_
#define CHROME_BROWSER_WIN_CLOUD_SYNCED_FOLDER_CHECKER_H_
#include "base/feature_list.h"
namespace base {
class FilePath;
}
namespace cloud_synced_folder_checker {
namespace features {
BASE_FEATURE(kCloudSyncedFolderChecker,
"CloudSyncedFolderChecker",
base::FEATURE_ENABLED_BY_DEFAULT);
} // namespace features
struct CloudSyncStatus {
// True if the file/folder is synced with a cloud storage provider (e.g.,
// OneDrive).
bool synced = false;
// True if the user's Desktop folder is synced in the cloud storage.
bool desktop_synced = false;
// True if the user's Documents folder is synced in the cloud storage.
bool documents_synced = false;
};
// Determines OneDrive synced status.
CloudSyncStatus EvaluateOneDriveSyncStatus();
// Determines if a file or directory is managed by a cloud storage provider and
// is currently synchronized, using the `PKEY_StorageProviderState` property.
bool IsCloudStorageSynced(const base::FilePath& file_path);
} // namespace cloud_synced_folder_checker
#endif // CHROME_BROWSER_WIN_CLOUD_SYNCED_FOLDER_CHECKER_H_