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. 4 5 #ifndef CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_ 6 #define CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "chrome/installer/util/product_operations.h" 11 12 namespace installer { 13 14 // Operations specific to Chrome Frame; see ProductOperations for general info. 15 class ChromeFrameOperations : public ProductOperations { 16 public: ChromeFrameOperations()17 ChromeFrameOperations() {} 18 19 virtual void ReadOptions(const MasterPreferences& prefs, 20 std::set<base::string16>* options) const OVERRIDE; 21 22 virtual void ReadOptions(const base::CommandLine& uninstall_command, 23 std::set<base::string16>* options) const OVERRIDE; 24 25 virtual void AddKeyFiles( 26 const std::set<base::string16>& options, 27 std::vector<base::FilePath>* key_files) const OVERRIDE; 28 29 virtual void AddComDllList( 30 const std::set<base::string16>& options, 31 std::vector<base::FilePath>* com_dll_list) const OVERRIDE; 32 33 virtual void AppendProductFlags(const std::set<base::string16>& options, 34 base::CommandLine* cmd_line) const OVERRIDE; 35 36 virtual void AppendRenameFlags(const std::set<base::string16>& options, 37 base::CommandLine* cmd_line) const OVERRIDE; 38 39 virtual bool SetChannelFlags(const std::set<base::string16>& options, 40 bool set, 41 ChannelInfo* channel_info) const OVERRIDE; 42 43 virtual bool ShouldCreateUninstallEntry( 44 const std::set<base::string16>& options) const OVERRIDE; 45 46 virtual void AddDefaultShortcutProperties( 47 BrowserDistribution* dist, 48 const base::FilePath& target_exe, 49 ShellUtil::ShortcutProperties* properties) const OVERRIDE; 50 51 virtual void LaunchUserExperiment(const base::FilePath& setup_path, 52 const std::set<base::string16>& options, 53 InstallStatus status, 54 bool system_level) const OVERRIDE; 55 56 private: 57 DISALLOW_COPY_AND_ASSIGN(ChromeFrameOperations); 58 }; 59 60 } // namespace installer 61 62 #endif // CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_ 63