1// Copyright (c) 2011 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 file contains the specification of setup main functions.
6
7#ifndef CHROME_INSTALLER_SETUP_CHROME_FRAME_READY_MODE_H_
8#define CHROME_INSTALLER_SETUP_CHROME_FRAME_READY_MODE_H_
9
10namespace installer {
11
12enum InstallStatus;
13class InstallationState;
14class InstallerState;
15
16// Removes the ChromeFrameReadyMode flag from the registry, updates Chrome's
17// uninstallation commands to only uninstall Chrome, and adds an entry to the
18// Add/Remove Programs list for GCF.
19InstallStatus ChromeFrameReadyModeOptIn(const InstallationState& machine_state,
20                                        const InstallerState& installer_state);
21
22// Unregisters the ChromeFrame user agent modification, sets a timestamp for
23// restoring it.
24InstallStatus ChromeFrameReadyModeTempOptOut(
25    const InstallationState& machine_state,
26    const InstallerState& installer_state);
27
28// Re-registers the ChromeFrame user agent modification, restores Ready Mode
29// active state flag.
30InstallStatus ChromeFrameReadyModeEndTempOptOut(
31    const InstallationState& machine_state,
32    const InstallerState& installer_state);
33
34}  // namespace installer
35
36#endif  // CHROME_INSTALLER_SETUP_CHROME_FRAME_READY_MODE_H_
37