- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / installer / util / chrome_frame_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_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:
17   ChromeFrameOperations() {}
18
19   virtual void ReadOptions(const MasterPreferences& prefs,
20                            std::set<string16>* options) const OVERRIDE;
21
22   virtual void ReadOptions(const CommandLine& uninstall_command,
23                            std::set<string16>* options) const OVERRIDE;
24
25   virtual void AddKeyFiles(
26       const std::set<string16>& options,
27       std::vector<base::FilePath>* key_files) const OVERRIDE;
28
29   virtual void AddComDllList(
30       const std::set<string16>& options,
31       std::vector<base::FilePath>* com_dll_list) const OVERRIDE;
32
33   virtual void AppendProductFlags(const std::set<string16>& options,
34                                   CommandLine* cmd_line) const OVERRIDE;
35
36   virtual void AppendRenameFlags(const std::set<string16>& options,
37                                  CommandLine* cmd_line) const OVERRIDE;
38
39   virtual bool SetChannelFlags(const std::set<string16>& options,
40                                bool set,
41                                ChannelInfo* channel_info) const OVERRIDE;
42
43   virtual bool ShouldCreateUninstallEntry(
44       const std::set<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<string16>& options,
53                                     InstallStatus status,
54                                     bool system_level) const OVERRIDE;
55
56  protected:
57   void NormalizeOptions(std::set<string16>* options) const;
58
59  private:
60   DISALLOW_COPY_AND_ASSIGN(ChromeFrameOperations);
61 };
62
63 }  // namespace installer
64
65 #endif  // CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_