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#ifndef CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_FACTORY_H_
6#define CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_FACTORY_H_
7
8#include "base/macros.h"
9
10class PrefService;
11
12namespace net {
13class HttpServerPropertiesManager;
14}
15
16namespace user_prefs {
17class PrefRegistrySyncable;
18}
19
20namespace chrome_browser_net {
21
22////////////////////////////////////////////////////////////////////////////////
23// Class for registration and creation of HttpServerPropertiesManager
24class HttpServerPropertiesManagerFactory {
25 public:
26  // Create an instance of HttpServerPropertiesManager.
27  static net::HttpServerPropertiesManager* CreateManager(
28      PrefService* pref_service);
29
30  // Register prefs for properties managed by HttpServerPropertiesManager.
31  static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
32
33 private:
34  DISALLOW_IMPLICIT_CONSTRUCTORS(HttpServerPropertiesManagerFactory);
35};
36
37}  // namespace chrome_browser_net
38
39#endif  // CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_FACTORY_H_
40