Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / installer / util / chrome_app_host_operations.h
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<base::string16>* options) const override;
22
23   virtual void ReadOptions(const base::CommandLine& uninstall_command,
24                            std::set<base::string16>* options) const override;
25
26   virtual void AddKeyFiles(
27       const std::set<base::string16>& options,
28       std::vector<base::FilePath>* key_files) const override;
29
30   virtual void AddComDllList(
31       const std::set<base::string16>& options,
32       std::vector<base::FilePath>* com_dll_list) const override;
33
34   virtual void AppendProductFlags(const std::set<base::string16>& options,
35                                   base::CommandLine* cmd_line) const override;
36
37   virtual void AppendRenameFlags(const std::set<base::string16>& options,
38                                  base::CommandLine* cmd_line) const override;
39
40   virtual bool SetChannelFlags(const std::set<base::string16>& options,
41                                bool set,
42                                ChannelInfo* channel_info) const override;
43
44   virtual bool ShouldCreateUninstallEntry(
45       const std::set<base::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<base::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_