chrome_frame_operations.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// found in the LICENSE file.
490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_
690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_
790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/basictypes.h"
9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/compiler_specific.h"
107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "chrome/installer/util/product_operations.h"
1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace installer {
1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Operations specific to Chrome Frame; see ProductOperations for general info.
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class ChromeFrameOperations : public ProductOperations {
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public:
1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  ChromeFrameOperations() {}
18d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  virtual void ReadOptions(const MasterPreferences& prefs,
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           std::set<base::string16>* options) const OVERRIDE;
215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  virtual void ReadOptions(const CommandLine& uninstall_command,
2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                           std::set<base::string16>* options) const OVERRIDE;
2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual void AddKeyFiles(
266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)      const std::set<base::string16>& options,
2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      std::vector<base::FilePath>* key_files) const OVERRIDE;
2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void AddComDllList(
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      const std::set<base::string16>& options,
31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      std::vector<base::FilePath>* com_dll_list) const OVERRIDE;
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
33c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  virtual void AppendProductFlags(const std::set<base::string16>& options,
34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                                  CommandLine* cmd_line) const OVERRIDE;
35effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual void AppendRenameFlags(const std::set<base::string16>& options,
3790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                 CommandLine* cmd_line) const OVERRIDE;
3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual bool SetChannelFlags(const std::set<base::string16>& options,
40effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                               bool set,
41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                               ChannelInfo* channel_info) const OVERRIDE;
42effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
43effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  virtual bool ShouldCreateUninstallEntry(
44effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      const std::set<base::string16>& options) const OVERRIDE;
45effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
46effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  virtual void AddDefaultShortcutProperties(
47effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      BrowserDistribution* dist,
48effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      const base::FilePath& target_exe,
49c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch      ShellUtil::ShortcutProperties* properties) const OVERRIDE;
50c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
51c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  virtual void LaunchUserExperiment(const base::FilePath& setup_path,
52c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                                    const std::set<base::string16>& options,
535c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu                                    InstallStatus status,
54c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                                    bool system_level) const OVERRIDE;
55c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
56c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch private:
571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  DISALLOW_COPY_AND_ASSIGN(ChromeFrameOperations);
585c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu};
595c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
6090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}  // namespace installer
611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
6290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif  // CHROME_INSTALLER_UTIL_CHROME_FRAME_OPERATIONS_H_
6390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)