setup_main.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This header exists as a starting point for extracting some of the
6// logic out of setup_main.cc.
7
8#ifndef CHROME_INSTALLER_SETUP_SETUP_MAIN_H_
9#define CHROME_INSTALLER_SETUP_SETUP_MAIN_H_
10
11#include "chrome/installer/util/util_constants.h"
12
13namespace base {
14class CommandLine;
15class FilePath;
16}  // namespace base
17
18namespace installer {
19class InstallationState;
20class InstallerState;
21class MasterPreferences;
22
23// Helper function that performs the installation of a set of products.
24// |installer_directory|, if non-NULL, is populated with the path to the
25// directory containing the newly installed setup.exe. |archive_type| is
26// populated with the type of archive found. |delegated_to_existing| is set to
27// |true| if installation was delegated to a pre-existing higher version.
28InstallStatus InstallProductsHelper(const InstallationState& original_state,
29                                    const base::FilePath& setup_exe,
30                                    const base::CommandLine& cmd_line,
31                                    const MasterPreferences& prefs,
32                                    const InstallerState& installer_state,
33                                    base::FilePath* installer_directory,
34                                    ArchiveType* archive_type,
35                                    bool* delegated_to_existing);
36
37}  // namespace installer
38
39#endif  // CHROME_INSTALLER_SETUP_SETUP_MAIN_H_
40