#ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_DIR_UTIL_H_
#define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_DIR_UTIL_H_
#include "base/files/file_path.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
class Profile;
namespace policy {
struct PolicyHandlerParameters;
}
namespace download_dir_util {
#if BUILDFLAG(IS_CHROMEOS_ASH)
extern const char kLocationGoogleDrive[];
extern const char kLocationOneDrive[];
#endif
#if BUILDFLAG(IS_CHROMEOS)
extern const char kDriveNamePolicyVariableName[];
extern const char kOneDriveNamePolicyVariableName[];
bool DownloadToDrive(const base::FilePath::StringType& string_value,
const policy::PolicyHandlerParameters& parameters);
bool DownloadToOneDrive(const base::FilePath::StringType& string_value,
const policy::PolicyHandlerParameters& parameters);
bool ExpandDrivePolicyVariable(Profile* profile,
const base::FilePath& old_path,
base::FilePath* new_path);
bool ExpandOneDrivePolicyVariable(Profile* profile,
const base::FilePath& old_path,
base::FilePath* new_path);
#endif
base::FilePath::StringType ExpandDownloadDirectoryPath(
const base::FilePath::StringType& string_value,
const policy::PolicyHandlerParameters& parameters);
}
#endif