| 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 |