OLD | NEW |
(Empty) | |
| 1 // Copyright 2014 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 #include "chrome/installer/util/firewall_manager.h" |
| 6 |
| 7 #include "chrome/installer/util/advanced_security_firewall_manager_win.h" |
| 8 #include "chrome/installer/util/legacy_firewall_manager_win.h" |
| 9 |
| 10 namespace installer { |
| 11 |
| 12 // static |
| 13 scoped_ptr<FirewallManager> FirewallManager::Create( |
| 14 BrowserDistribution* dist, |
| 15 const base::FilePath& chrome_path) { |
| 16 // First try to connect to "Windows Firewall with Advanced Security" (Vista+). |
| 17 scoped_ptr<AdvancedSecurityFirewallManager> manager( |
| 18 new AdvancedSecurityFirewallManager()); |
| 19 if (manager->Init(dist, chrome_path)) |
| 20 return manager.PassAs<FirewallManager>(); |
| 21 |
| 22 // Next try to connect to "Windows Firewall for Windows XP with SP2". |
| 23 scoped_ptr<LegacyFirewallManager> legacy_manager(new LegacyFirewallManager()); |
| 24 if (legacy_manager->Init(dist, chrome_path)) |
| 25 return legacy_manager.PassAs<FirewallManager>(); |
| 26 |
| 27 return scoped_ptr<FirewallManager>(); |
| 28 } |
| 29 |
| 30 } // namespace installer |
OLD | NEW |