| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_NET_SSL_CONFIG_SERVICE_MANAGER_H_ | 5 #ifndef COMPONENTS_SSL_CONFIG_SSL_CONFIG_SERVICE_MANAGER_H_ |
| 6 #define CHROME_BROWSER_NET_SSL_CONFIG_SERVICE_MANAGER_H_ | 6 #define COMPONENTS_SSL_CONFIG_SSL_CONFIG_SERVICE_MANAGER_H_ |
| 7 |
| 8 #include "base/memory/ref_counted.h" |
| 9 |
| 10 namespace base { |
| 11 class SingleThreadTaskRunner; |
| 12 } |
| 7 | 13 |
| 8 namespace net { | 14 namespace net { |
| 9 class SSLConfigService; | 15 class SSLConfigService; |
| 10 } // namespace net | 16 } // namespace net |
| 11 | 17 |
| 12 class PrefService; | 18 class PrefService; |
| 13 class PrefRegistrySimple; | 19 class PrefRegistrySimple; |
| 14 | 20 |
| 21 namespace ssl_config { |
| 22 |
| 15 // An interface for creating SSLConfigService objects. | 23 // An interface for creating SSLConfigService objects. |
| 16 class SSLConfigServiceManager { | 24 class SSLConfigServiceManager { |
| 17 public: | 25 public: |
| 18 // Create an instance of the SSLConfigServiceManager. The lifetime of the | 26 // Create an instance of the SSLConfigServiceManager. The lifetime of the |
| 19 // PrefService objects must be longer than that of the manager. Get SSL | 27 // PrefService objects must be longer than that of the manager. Get SSL |
| 20 // preferences from local_state object. | 28 // preferences from local_state object. |
| 21 static SSLConfigServiceManager* CreateDefaultManager( | 29 static SSLConfigServiceManager* CreateDefaultManager( |
| 22 PrefService* local_state); | 30 PrefService* local_state, |
| 31 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner); |
| 23 | 32 |
| 24 static void RegisterPrefs(PrefRegistrySimple* registry); | 33 static void RegisterPrefs(PrefRegistrySimple* registry); |
| 25 | 34 |
| 26 virtual ~SSLConfigServiceManager() {} | 35 virtual ~SSLConfigServiceManager() {} |
| 27 | 36 |
| 28 // Get an SSLConfigService instance. It may be a new instance or the manager | 37 // Get an SSLConfigService instance. It may be a new instance or the manager |
| 29 // may return the same instance multiple times. | 38 // may return the same instance multiple times. |
| 30 // The caller should hold a reference as long as it needs the instance (eg, | 39 // The caller should hold a reference as long as it needs the instance (eg, |
| 31 // using scoped_refptr.) | 40 // using scoped_refptr.) |
| 32 virtual net::SSLConfigService* Get() = 0; | 41 virtual net::SSLConfigService* Get() = 0; |
| 33 }; | 42 }; |
| 34 | 43 |
| 35 #endif // CHROME_BROWSER_NET_SSL_CONFIG_SERVICE_MANAGER_H_ | 44 } // namespace ssl_config |
| 45 #endif // COMPONENTS_SSL_CONFIG_SSL_CONFIG_SERVICE_MANAGER_H_ |
| OLD | NEW |