OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/installer/util/chrome_binaries_operations.h" | 5 #include "chrome/installer/util/chrome_binaries_operations.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/file_path.h" | 8 #include "base/file_path.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "chrome/installer/util/channel_info.h" | 10 #include "chrome/installer/util/channel_info.h" |
11 #include "chrome/installer/util/helper.h" | 11 #include "chrome/installer/util/helper.h" |
12 #include "chrome/installer/util/master_preferences.h" | 12 #include "chrome/installer/util/master_preferences.h" |
13 #include "chrome/installer/util/master_preferences_constants.h" | 13 #include "chrome/installer/util/master_preferences_constants.h" |
14 #include "chrome/installer/util/util_constants.h" | 14 #include "chrome/installer/util/util_constants.h" |
15 | 15 |
16 namespace installer { | 16 namespace installer { |
17 | 17 |
18 void ChromeBinariesOperations::ReadOptions( | 18 void ChromeBinariesOperations::ReadOptions( |
19 const MasterPreferences& prefs, | 19 const MasterPreferences& prefs, |
20 std::set<std::wstring>* options) const { | 20 std::set<std::wstring>* options) const { |
21 DCHECK(options); | 21 DCHECK(options); |
22 | 22 options->insert(kOptionMultiInstall); |
grt (UTC plus 2)
2012/07/24 15:02:03
the binaries are inherently multi-install, so it's
| |
23 bool pref_value; | |
24 | |
25 if (prefs.GetBool(master_preferences::kMultiInstall, &pref_value) && | |
26 pref_value) { | |
27 options->insert(kOptionMultiInstall); | |
28 } | |
29 } | 23 } |
30 | 24 |
31 void ChromeBinariesOperations::ReadOptions( | 25 void ChromeBinariesOperations::ReadOptions( |
32 const CommandLine& uninstall_command, | 26 const CommandLine& uninstall_command, |
33 std::set<std::wstring>* options) const { | 27 std::set<std::wstring>* options) const { |
34 DCHECK(options); | 28 DCHECK(options); |
35 | 29 options->insert(kOptionMultiInstall); |
grt (UTC plus 2)
2012/07/24 15:02:03
the binaries are inherently multi-install, so it's
| |
36 if (uninstall_command.HasSwitch(switches::kMultiInstall)) | |
37 options->insert(kOptionMultiInstall); | |
38 } | 30 } |
39 | 31 |
40 void ChromeBinariesOperations::AddKeyFiles( | 32 void ChromeBinariesOperations::AddKeyFiles( |
41 const std::set<std::wstring>& options, | 33 const std::set<std::wstring>& options, |
42 std::vector<FilePath>* key_files) const { | 34 std::vector<FilePath>* key_files) const { |
43 DCHECK(key_files); | 35 DCHECK(key_files); |
44 key_files->push_back(FilePath(installer::kChromeDll)); | 36 key_files->push_back(FilePath(installer::kChromeDll)); |
45 } | 37 } |
46 | 38 |
47 void ChromeBinariesOperations::AddComDllList( | 39 void ChromeBinariesOperations::AddComDllList( |
48 const std::set<std::wstring>& options, | 40 const std::set<std::wstring>& options, |
49 std::vector<FilePath>* com_dll_list) const { | 41 std::vector<FilePath>* com_dll_list) const { |
50 } | 42 } |
51 | 43 |
52 void ChromeBinariesOperations::AppendProductFlags( | 44 void ChromeBinariesOperations::AppendProductFlags( |
53 const std::set<std::wstring>& options, | 45 const std::set<std::wstring>& options, |
54 CommandLine* cmd_line) const { | 46 CommandLine* cmd_line) const { |
55 DCHECK(cmd_line); | 47 DCHECK(cmd_line); |
56 | 48 |
57 if (options.find(kOptionMultiInstall) != options.end()) { | 49 DCHECK(options.find(kOptionMultiInstall) != options.end()); |
58 // Add --multi-install if it isn't already there. | 50 |
59 if (!cmd_line->HasSwitch(switches::kMultiInstall)) | 51 // Add --multi-install if it isn't already there. |
60 cmd_line->AppendSwitch(switches::kMultiInstall); | 52 if (!cmd_line->HasSwitch(switches::kMultiInstall)) |
61 } | 53 cmd_line->AppendSwitch(switches::kMultiInstall); |
62 } | 54 } |
63 | 55 |
64 void ChromeBinariesOperations::AppendRenameFlags( | 56 void ChromeBinariesOperations::AppendRenameFlags( |
65 const std::set<std::wstring>& options, | 57 const std::set<std::wstring>& options, |
66 CommandLine* cmd_line) const { | 58 CommandLine* cmd_line) const { |
67 DCHECK(cmd_line); | 59 DCHECK(cmd_line); |
68 | 60 |
61 DCHECK(options.find(kOptionMultiInstall) != options.end()); | |
62 | |
69 // Add --multi-install if it isn't already there. | 63 // Add --multi-install if it isn't already there. |
70 if (options.find(kOptionMultiInstall) != options.end() && | 64 if (!cmd_line->HasSwitch(switches::kMultiInstall)) |
71 !cmd_line->HasSwitch(switches::kMultiInstall)) { | |
72 cmd_line->AppendSwitch(switches::kMultiInstall); | 65 cmd_line->AppendSwitch(switches::kMultiInstall); |
73 } | |
74 } | 66 } |
75 | 67 |
76 bool ChromeBinariesOperations::SetChannelFlags( | 68 bool ChromeBinariesOperations::SetChannelFlags( |
77 const std::set<std::wstring>& options, | 69 const std::set<std::wstring>& options, |
78 bool set, | 70 bool set, |
79 ChannelInfo* channel_info) const { | 71 ChannelInfo* channel_info) const { |
80 return false; | 72 return false; |
81 } | 73 } |
82 | 74 |
83 bool ChromeBinariesOperations::ShouldCreateUninstallEntry( | 75 bool ChromeBinariesOperations::ShouldCreateUninstallEntry( |
84 const std::set<std::wstring>& options) const { | 76 const std::set<std::wstring>& options) const { |
85 return false; | 77 return false; |
86 } | 78 } |
87 | 79 |
88 } // namespace installer | 80 } // namespace installer |
OLD | NEW |