~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/chromium/src/base/prefs/pref_service_factory.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright 2013 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 BASE_PREFS_PREF_SERVICE_FACTORY_H_
6
 
#define BASE_PREFS_PREF_SERVICE_FACTORY_H_
7
 
 
8
 
#include "base/basictypes.h"
9
 
#include "base/callback.h"
10
 
#include "base/memory/ref_counted.h"
11
 
#include "base/prefs/base_prefs_export.h"
12
 
#include "base/prefs/persistent_pref_store.h"
13
 
#include "base/prefs/pref_registry.h"
14
 
#include "base/prefs/pref_store.h"
15
 
 
16
 
class PrefService;
17
 
 
18
 
namespace base {
19
 
 
20
 
class FilePath;
21
 
class SequencedTaskRunner;
22
 
 
23
 
// A class that allows convenient building of PrefService.
24
 
class BASE_PREFS_EXPORT PrefServiceFactory {
25
 
 public:
26
 
  PrefServiceFactory();
27
 
  virtual ~PrefServiceFactory();
28
 
 
29
 
  // Functions for setting the various parameters of the PrefService to build.
30
 
  void set_managed_prefs(const scoped_refptr<PrefStore>& managed_prefs) {
31
 
    managed_prefs_ = managed_prefs;
32
 
  }
33
 
  void set_supervised_user_prefs(
34
 
      const scoped_refptr<PrefStore>& supervised_user_prefs) {
35
 
    supervised_user_prefs_ = supervised_user_prefs;
36
 
  }
37
 
  void set_extension_prefs(const scoped_refptr<PrefStore>& extension_prefs) {
38
 
    extension_prefs_ = extension_prefs;
39
 
  }
40
 
  void set_command_line_prefs(
41
 
      const scoped_refptr<PrefStore>& command_line_prefs) {
42
 
    command_line_prefs_ = command_line_prefs;
43
 
  }
44
 
  void set_user_prefs(const scoped_refptr<PersistentPrefStore>& user_prefs) {
45
 
    user_prefs_ = user_prefs;
46
 
  }
47
 
  void set_recommended_prefs(
48
 
      const scoped_refptr<PrefStore>& recommended_prefs) {
49
 
    recommended_prefs_ = recommended_prefs;
50
 
  }
51
 
 
52
 
  // Sets up error callback for the PrefService.  A do-nothing default
53
 
  // is provided if this is not called.
54
 
  void set_read_error_callback(
55
 
      const base::Callback<void(PersistentPrefStore::PrefReadError)>&
56
 
          read_error_callback) {
57
 
    read_error_callback_ = read_error_callback;
58
 
  }
59
 
 
60
 
  // Specifies to use an actual file-backed user pref store.
61
 
  void SetUserPrefsFile(const base::FilePath& prefs_file,
62
 
                        base::SequencedTaskRunner* task_runner);
63
 
 
64
 
  void set_async(bool async) {
65
 
    async_ = async;
66
 
  }
67
 
 
68
 
  // Creates a PrefService object initialized with the parameters from
69
 
  // this factory.
70
 
  scoped_ptr<PrefService> Create(PrefRegistry* registry);
71
 
 
72
 
 protected:
73
 
  scoped_refptr<PrefStore> managed_prefs_;
74
 
  scoped_refptr<PrefStore> supervised_user_prefs_;
75
 
  scoped_refptr<PrefStore> extension_prefs_;
76
 
  scoped_refptr<PrefStore> command_line_prefs_;
77
 
  scoped_refptr<PersistentPrefStore> user_prefs_;
78
 
  scoped_refptr<PrefStore> recommended_prefs_;
79
 
 
80
 
  base::Callback<void(PersistentPrefStore::PrefReadError)> read_error_callback_;
81
 
 
82
 
  // Defaults to false.
83
 
  bool async_;
84
 
 
85
 
 private:
86
 
  DISALLOW_COPY_AND_ASSIGN(PrefServiceFactory);
87
 
};
88
 
 
89
 
}  // namespace base
90
 
 
91
 
#endif  // BASE_PREFS_PREF_SERVICE_FACTORY_H_