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)