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