blob: debb8f6917b10c7b0bbd9b83720248f2ff998e5b [file] [log] [blame]
// 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.
#ifndef CHROME_INSTALLER_SETUP_UNPACK_ARCHIVE_H_
#define CHROME_INSTALLER_SETUP_UNPACK_ARCHIVE_H_
#include "base/types/expected.h"
#include "chrome/installer/util/util_constants.h"
namespace base {
class CommandLine;
class FilePath;
} // namespace base
namespace installer {
class InstallationState;
class InstallerState;
// Declares the unpack function needed to unpack compressed and uncompressed
// archives in setup.exe. Uncompress the archive if an uncompressed archive was
// not specified on the command line and a compressed archive is found. On
// success, returns the path to the uncompressed archive.
base::expected<base::FilePath, InstallStatus> UnpackChromeArchive(
const base::FilePath& unpack_path,
InstallationState& original_state,
const base::FilePath& setup_exe,
const base::CommandLine& cmd_line,
const InstallerState& installer_state);
} // namespace installer
#endif // CHROME_INSTALLER_SETUP_UNPACK_ARCHIVE_H_