chrome_binaries_operations.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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_BINARIES_OPERATIONS_H_
6#define CHROME_INSTALLER_UTIL_CHROME_BINARIES_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 the Chrome Binaries; see ProductOperations for general
15// info.
16class ChromeBinariesOperations : public ProductOperations {
17 public:
18  ChromeBinariesOperations() {}
19
20  virtual void ReadOptions(const MasterPreferences& prefs,
21                           std::set<std::wstring>* options) const OVERRIDE;
22
23  virtual void ReadOptions(const CommandLine& uninstall_command,
24                           std::set<std::wstring>* options) const OVERRIDE;
25
26  virtual void AddKeyFiles(const std::set<std::wstring>& options,
27                           std::vector<FilePath>* key_files) const OVERRIDE;
28
29  virtual void AddComDllList(
30      const std::set<std::wstring>& options,
31      std::vector<FilePath>* com_dll_list) const OVERRIDE;
32
33  virtual void AppendProductFlags(
34      const std::set<std::wstring>& options,
35      CommandLine* cmd_line) const OVERRIDE;
36
37  virtual void AppendRenameFlags(
38      const std::set<std::wstring>& options,
39      CommandLine* cmd_line) const OVERRIDE;
40
41  virtual bool SetChannelFlags(const std::set<std::wstring>& options,
42                               bool set,
43                               ChannelInfo* channel_info) const OVERRIDE;
44
45  virtual bool ShouldCreateUninstallEntry(
46      const std::set<std::wstring>& options) const OVERRIDE;
47
48  virtual void AddDefaultShortcutProperties(
49      BrowserDistribution* dist,
50      const FilePath& target_exe,
51      ShellUtil::ShortcutProperties* properties) const OVERRIDE;
52
53 private:
54  DISALLOW_COPY_AND_ASSIGN(ChromeBinariesOperations);
55};
56
57}  // namespace installer
58
59#endif  // CHROME_INSTALLER_UTIL_CHROME_BINARIES_OPERATIONS_H_
60