OLD | NEW |
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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 a class that contains various method related to branding. | 5 // This file declares a class that contains various method related to branding. |
6 | 6 |
7 #ifndef CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ | 7 #ifndef CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ |
8 #define CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ | 8 #define CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ |
9 #pragma once | 9 #pragma once |
10 | 10 |
| 11 #include <string> |
| 12 |
11 #include "base/basictypes.h" | 13 #include "base/basictypes.h" |
12 #include "base/file_path.h" | 14 #include "base/file_path.h" |
13 #include "chrome/installer/util/util_constants.h" | 15 #include "chrome/installer/util/util_constants.h" |
14 #include "chrome/installer/util/version.h" | 16 #include "chrome/installer/util/version.h" |
15 | 17 |
16 #if defined(OS_WIN) | 18 #if defined(OS_WIN) |
17 #include <windows.h> | 19 #include <windows.h> // NOLINT |
18 #endif | 20 #endif |
19 | 21 |
20 namespace installer { | 22 namespace installer { |
21 class Product; | 23 class Product; |
22 } | 24 } |
23 | 25 |
24 class BrowserDistribution { | 26 class BrowserDistribution { |
25 public: | 27 public: |
26 virtual ~BrowserDistribution() {} | 28 virtual ~BrowserDistribution() {} |
27 | 29 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 virtual void LaunchUserExperiment(installer_util::InstallStatus status, | 98 virtual void LaunchUserExperiment(installer_util::InstallStatus status, |
97 const installer::Version& version, | 99 const installer::Version& version, |
98 const installer::Product& installation, | 100 const installer::Product& installation, |
99 bool system_level); | 101 bool system_level); |
100 | 102 |
101 // The user has qualified for the inactive user toast experiment and this | 103 // The user has qualified for the inactive user toast experiment and this |
102 // function just performs it. | 104 // function just performs it. |
103 virtual void InactiveUserToastExperiment(int flavor, | 105 virtual void InactiveUserToastExperiment(int flavor, |
104 const installer::Product& installation); | 106 const installer::Product& installation); |
105 | 107 |
| 108 // A key-file is a file such as a DLL on Windows that is expected to be |
| 109 // in use when the product is being used. For example "chrome.dll" for |
| 110 // Chrome. Before attempting to delete an installation directory during |
| 111 // an uninstallation, the uninstaller will check if any one of a potential |
| 112 // set of key files is in use and if they are, abort the delete operation. |
| 113 // Only if none of the key files are in use, can the folder be deleted. |
| 114 // Note that this function does not return a full path to the key file, |
| 115 // only a file name. |
| 116 virtual FilePath::StringType GetKeyFile(); |
| 117 |
106 protected: | 118 protected: |
107 BrowserDistribution() : type_(CHROME_BROWSER) {} | 119 BrowserDistribution() : type_(CHROME_BROWSER) {} |
108 | 120 |
109 template<class DistributionClass> | 121 template<class DistributionClass> |
110 static BrowserDistribution* GetOrCreateBrowserDistribution( | 122 static BrowserDistribution* GetOrCreateBrowserDistribution( |
111 BrowserDistribution** dist); | 123 BrowserDistribution** dist); |
112 | 124 |
113 DistributionType type_; | 125 DistributionType type_; |
114 | 126 |
115 private: | 127 private: |
116 DISALLOW_COPY_AND_ASSIGN(BrowserDistribution); | 128 DISALLOW_COPY_AND_ASSIGN(BrowserDistribution); |
117 }; | 129 }; |
118 | 130 |
119 #endif // CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ | 131 #endif // CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ |
OLD | NEW |