OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // This file declares Chrome uninstall related functions. | 5 // This file declares Chrome uninstall related functions. |
6 | 6 |
7 #ifndef CHROME_INSTALLER_SETUP_UNINSTALL_H_ | 7 #ifndef CHROME_INSTALLER_SETUP_UNINSTALL_H_ |
8 #define CHROME_INSTALLER_SETUP_UNINSTALL_H_ | 8 #define CHROME_INSTALLER_SETUP_UNINSTALL_H_ |
9 | 9 |
10 #include <shlobj.h> | 10 #include <shlobj.h> |
11 | 11 |
12 #include "base/string16.h" | 12 #include "base/string16.h" |
13 #include "chrome/installer/util/util_constants.h" | 13 #include "chrome/installer/util/util_constants.h" |
14 | 14 |
15 class BrowserDistribution; | 15 class BrowserDistribution; |
16 class CommandLine; | 16 class CommandLine; |
| 17 |
| 18 namespace base { |
17 class FilePath; | 19 class FilePath; |
| 20 } |
18 | 21 |
19 namespace installer { | 22 namespace installer { |
20 | 23 |
21 class InstallationState; | 24 class InstallationState; |
22 class InstallerState; | 25 class InstallerState; |
23 class Product; | 26 class Product; |
24 | 27 |
25 // This function removes all Chrome registration related keys. It returns true | 28 // This function removes all Chrome registration related keys. It returns true |
26 // if successful, otherwise false. The error code is set in |exit_code|. | 29 // if successful, otherwise false. The error code is set in |exit_code|. |
27 // |root| is the registry root (HKLM|HKCU) and |browser_entry_suffix| is the | 30 // |root| is the registry root (HKLM|HKCU) and |browser_entry_suffix| is the |
(...skipping 19 matching lines...) Expand all Loading... |
47 // to temp folder before deleting Chrome folder. | 50 // to temp folder before deleting Chrome folder. |
48 // dist: Represents the distribution to be uninstalled. | 51 // dist: Represents the distribution to be uninstalled. |
49 // remove_all: Remove all shared files, registry entries as well. | 52 // remove_all: Remove all shared files, registry entries as well. |
50 // force_uninstall: Uninstall without prompting for user confirmation or | 53 // force_uninstall: Uninstall without prompting for user confirmation or |
51 // any checks for Chrome running. | 54 // any checks for Chrome running. |
52 // cmd_line: CommandLine that contains information about the command that | 55 // cmd_line: CommandLine that contains information about the command that |
53 // was used to launch current uninstaller. | 56 // was used to launch current uninstaller. |
54 installer::InstallStatus UninstallProduct( | 57 installer::InstallStatus UninstallProduct( |
55 const InstallationState& original_state, | 58 const InstallationState& original_state, |
56 const InstallerState& installer_state, | 59 const InstallerState& installer_state, |
57 const FilePath& setup_path, | 60 const base::FilePath& setup_path, |
58 const Product& dist, | 61 const Product& dist, |
59 bool remove_all, | 62 bool remove_all, |
60 bool force_uninstall, | 63 bool force_uninstall, |
61 const CommandLine& cmd_line); | 64 const CommandLine& cmd_line); |
62 | 65 |
63 // Cleans up the installation directory after all uninstall operations have | 66 // Cleans up the installation directory after all uninstall operations have |
64 // completed. Depending on what products are remaining, setup.exe and the | 67 // completed. Depending on what products are remaining, setup.exe and the |
65 // installer archive may be deleted. Empty directories will be pruned (or | 68 // installer archive may be deleted. Empty directories will be pruned (or |
66 // scheduled for pruning after reboot, if necessary). | 69 // scheduled for pruning after reboot, if necessary). |
67 // | 70 // |
68 // original_state: The installation state of all products on the system. | 71 // original_state: The installation state of all products on the system. |
69 // installer_state: State associated with this operation. | 72 // installer_state: State associated with this operation. |
70 // cmd_line: CommandLine that contains information about the command that | 73 // cmd_line: CommandLine that contains information about the command that |
71 // was used to launch current uninstaller. | 74 // was used to launch current uninstaller. |
72 // uninstall_status: the uninstall status so far (may change during invocation). | 75 // uninstall_status: the uninstall status so far (may change during invocation). |
73 void CleanUpInstallationDirectoryAfterUninstall( | 76 void CleanUpInstallationDirectoryAfterUninstall( |
74 const InstallationState& original_state, | 77 const InstallationState& original_state, |
75 const InstallerState& installer_state, | 78 const InstallerState& installer_state, |
76 const CommandLine& cmd_line, | 79 const CommandLine& cmd_line, |
77 installer::InstallStatus* uninstall_status); | 80 installer::InstallStatus* uninstall_status); |
78 | 81 |
79 } // namespace installer | 82 } // namespace installer |
80 | 83 |
81 #endif // CHROME_INSTALLER_SETUP_UNINSTALL_H_ | 84 #endif // CHROME_INSTALLER_SETUP_UNINSTALL_H_ |
OLD | NEW |