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_APP_HOST_OPERATIONS_H_ 6 #define CHROME_INSTALLER_UTIL_CHROME_APP_HOST_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 App Host; see ProductOperations for general 15 // info. 16 class ChromeAppHostOperations : public ProductOperations { 17 public: 18 ChromeAppHostOperations() {} 19 20 virtual void ReadOptions(const MasterPreferences& prefs, 21 std::set<string16>* options) const OVERRIDE; 22 23 virtual void ReadOptions(const CommandLine& uninstall_command, 24 std::set<string16>* options) const OVERRIDE; 25 26 virtual void AddKeyFiles( 27 const std::set<string16>& options, 28 std::vector<base::FilePath>* key_files) const OVERRIDE; 29 30 virtual void AddComDllList( 31 const std::set<string16>& options, 32 std::vector<base::FilePath>* com_dll_list) const OVERRIDE; 33 34 virtual void AppendProductFlags(const std::set<string16>& options, 35 CommandLine* cmd_line) const OVERRIDE; 36 37 virtual void AppendRenameFlags(const std::set<string16>& options, 38 CommandLine* cmd_line) const OVERRIDE; 39 40 virtual bool SetChannelFlags(const std::set<string16>& options, 41 bool set, 42 ChannelInfo* channel_info) const OVERRIDE; 43 44 virtual bool ShouldCreateUninstallEntry( 45 const std::set<string16>& options) const OVERRIDE; 46 47 virtual void AddDefaultShortcutProperties( 48 BrowserDistribution* dist, 49 const base::FilePath& target_exe, 50 ShellUtil::ShortcutProperties* properties) const OVERRIDE; 51 52 virtual void LaunchUserExperiment(const base::FilePath& setup_path, 53 const std::set<string16>& options, 54 InstallStatus status, 55 bool system_level) const OVERRIDE; 56 57 private: 58 DISALLOW_COPY_AND_ASSIGN(ChromeAppHostOperations); 59 }; 60 61 } // namespace installer 62 63 #endif // CHROME_INSTALLER_UTIL_CHROME_APP_HOST_OPERATIONS_H_ 64