Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(494)

Side by Side Diff: chrome/installer/util/installation_validator.h

Issue 7005019: Put SxS switches back into the rename command. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 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 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 #ifndef CHROME_INSTALLER_UTIL_INSTALLATION_VALIDATOR_H_ 5 #ifndef CHROME_INSTALLER_UTIL_INSTALLATION_VALIDATOR_H_
6 #define CHROME_INSTALLER_UTIL_INSTALLATION_VALIDATOR_H_ 6 #define CHROME_INSTALLER_UTIL_INSTALLATION_VALIDATOR_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 typedef void (*CommandValidatorFn)(const ProductContext& ctx, 83 typedef void (*CommandValidatorFn)(const ProductContext& ctx,
84 const AppCommand& command, 84 const AppCommand& command,
85 bool* is_valid); 85 bool* is_valid);
86 typedef std::map<std::wstring, CommandValidatorFn> CommandExpectations; 86 typedef std::map<std::wstring, CommandValidatorFn> CommandExpectations;
87 87
88 // An interface to product-specific validation rules. 88 // An interface to product-specific validation rules.
89 class ProductRules { 89 class ProductRules {
90 public: 90 public:
91 virtual ~ProductRules() { } 91 virtual ~ProductRules() { }
92 virtual BrowserDistribution::Type distribution_type() const = 0; 92 virtual BrowserDistribution::Type distribution_type() const = 0;
93 virtual void AddProductSwitchExpectations( 93 virtual void AddUninstallSwitchExpectations(
94 const InstallationState& machine_state,
95 bool system_install,
96 const ProductState& product_state,
97 SwitchExpectations* expectations) const = 0;
98 virtual void AddRenameSwitchExpectations(
94 const InstallationState& machine_state, 99 const InstallationState& machine_state,
95 bool system_install, 100 bool system_install,
96 const ProductState& product_state, 101 const ProductState& product_state,
97 SwitchExpectations* expectations) const = 0; 102 SwitchExpectations* expectations) const = 0;
98 // Return true if the rules allow usagestats setting. 103 // Return true if the rules allow usagestats setting.
99 virtual bool UsageStatsAllowed(const ProductState& product_state) const = 0; 104 virtual bool UsageStatsAllowed(const ProductState& product_state) const = 0;
100 }; 105 };
101 106
102 // Validation rules for the Chrome browser. 107 // Validation rules for the Chrome browser.
103 class ChromeRules : public ProductRules { 108 class ChromeRules : public ProductRules {
104 public: 109 public:
105 virtual BrowserDistribution::Type distribution_type() const OVERRIDE; 110 virtual BrowserDistribution::Type distribution_type() const OVERRIDE;
106 virtual void AddProductSwitchExpectations( 111 virtual void AddUninstallSwitchExpectations(
112 const InstallationState& machine_state,
113 bool system_install,
114 const ProductState& product_state,
115 SwitchExpectations* expectations) const OVERRIDE;
116 virtual void AddRenameSwitchExpectations(
107 const InstallationState& machine_state, 117 const InstallationState& machine_state,
108 bool system_install, 118 bool system_install,
109 const ProductState& product_state, 119 const ProductState& product_state,
110 SwitchExpectations* expectations) const OVERRIDE; 120 SwitchExpectations* expectations) const OVERRIDE;
111 virtual bool UsageStatsAllowed( 121 virtual bool UsageStatsAllowed(
112 const ProductState& product_state) const OVERRIDE; 122 const ProductState& product_state) const OVERRIDE;
113 }; 123 };
114 124
115 // Validation rules for Chrome Frame. 125 // Validation rules for Chrome Frame.
116 class ChromeFrameRules : public ProductRules { 126 class ChromeFrameRules : public ProductRules {
117 public: 127 public:
118 virtual BrowserDistribution::Type distribution_type() const OVERRIDE; 128 virtual BrowserDistribution::Type distribution_type() const OVERRIDE;
119 virtual void AddProductSwitchExpectations( 129 virtual void AddUninstallSwitchExpectations(
130 const InstallationState& machine_state,
131 bool system_install,
132 const ProductState& product_state,
133 SwitchExpectations* expectations) const OVERRIDE;
134 virtual void AddRenameSwitchExpectations(
120 const InstallationState& machine_state, 135 const InstallationState& machine_state,
121 bool system_install, 136 bool system_install,
122 const ProductState& product_state, 137 const ProductState& product_state,
123 SwitchExpectations* expectations) const OVERRIDE; 138 SwitchExpectations* expectations) const OVERRIDE;
124 virtual bool UsageStatsAllowed( 139 virtual bool UsageStatsAllowed(
125 const ProductState& product_state) const OVERRIDE; 140 const ProductState& product_state) const OVERRIDE;
126 }; 141 };
127 142
128 // Validation rules for the multi-install Chrome binaries. 143 // Validation rules for the multi-install Chrome binaries.
129 class ChromeBinariesRules : public ProductRules { 144 class ChromeBinariesRules : public ProductRules {
130 public: 145 public:
131 virtual BrowserDistribution::Type distribution_type() const OVERRIDE; 146 virtual BrowserDistribution::Type distribution_type() const OVERRIDE;
132 virtual void AddProductSwitchExpectations( 147 virtual void AddUninstallSwitchExpectations(
148 const InstallationState& machine_state,
149 bool system_install,
150 const ProductState& product_state,
151 SwitchExpectations* expectations) const OVERRIDE;
152 virtual void AddRenameSwitchExpectations(
133 const InstallationState& machine_state, 153 const InstallationState& machine_state,
134 bool system_install, 154 bool system_install,
135 const ProductState& product_state, 155 const ProductState& product_state,
136 SwitchExpectations* expectations) const OVERRIDE; 156 SwitchExpectations* expectations) const OVERRIDE;
137 virtual bool UsageStatsAllowed( 157 virtual bool UsageStatsAllowed(
138 const ProductState& product_state) const OVERRIDE; 158 const ProductState& product_state) const OVERRIDE;
139 }; 159 };
140 160
141 struct ProductContext { 161 struct ProductContext {
142 const InstallationState& machine_state; 162 const InstallationState& machine_state;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 // A collection of all valid installation types. 211 // A collection of all valid installation types.
192 static const InstallationType kInstallationTypes[]; 212 static const InstallationType kInstallationTypes[];
193 213
194 private: 214 private:
195 DISALLOW_IMPLICIT_CONSTRUCTORS(InstallationValidator); 215 DISALLOW_IMPLICIT_CONSTRUCTORS(InstallationValidator);
196 }; 216 };
197 217
198 } // namespace installer 218 } // namespace installer
199 219
200 #endif // CHROME_INSTALLER_UTIL_INSTALLATION_VALIDATOR_H_ 220 #endif // CHROME_INSTALLER_UTIL_INSTALLATION_VALIDATOR_H_
OLDNEW
« no previous file with comments | « chrome/installer/util/chrome_frame_operations.cc ('k') | chrome/installer/util/installation_validator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698