chrome_app_host_operations.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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
12namespace installer {
13
14// Operations specific to Chrome App Host; see ProductOperations for general
15// info.
16class 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_
64