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
3 // found in the LICENSE file.
5 #ifndef CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_
6 #define CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "chrome/installer/util/product_operations.h"
14 // Operations specific to Chrome Frame; see ProductOperations for general info.
15 class ChromeFrameOperations : public ProductOperations {
17 ChromeFrameOperations() {}
19 virtual void ReadOptions(const MasterPreferences& prefs,
20 std::set<string16>* options) const OVERRIDE;
22 virtual void ReadOptions(const CommandLine& uninstall_command,
23 std::set<string16>* options) const OVERRIDE;
25 virtual void AddKeyFiles(
26 const std::set<string16>& options,
27 std::vector<base::FilePath>* key_files) const OVERRIDE;
29 virtual void AddComDllList(
30 const std::set<string16>& options,
31 std::vector<base::FilePath>* com_dll_list) const OVERRIDE;
33 virtual void AppendProductFlags(const std::set<string16>& options,
34 CommandLine* cmd_line) const OVERRIDE;
36 virtual void AppendRenameFlags(const std::set<string16>& options,
37 CommandLine* cmd_line) const OVERRIDE;
39 virtual bool SetChannelFlags(const std::set<string16>& options,
41 ChannelInfo* channel_info) const OVERRIDE;
43 virtual bool ShouldCreateUninstallEntry(
44 const std::set<string16>& options) const OVERRIDE;
46 virtual void AddDefaultShortcutProperties(
47 BrowserDistribution* dist,
48 const base::FilePath& target_exe,
49 ShellUtil::ShortcutProperties* properties) const OVERRIDE;
51 virtual void LaunchUserExperiment(const base::FilePath& setup_path,
52 const std::set<string16>& options,
54 bool system_level) const OVERRIDE;
57 void NormalizeOptions(std::set<string16>* options) const;
60 DISALLOW_COPY_AND_ASSIGN(ChromeFrameOperations);
63 } // namespace installer
65 #endif // CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_