Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / components / rappor / rappor_prefs.h
blobba9d7fc1055ad1b43c118b4d0cfeba75a29b31ed
1 // Copyright 2015 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.
5 #ifndef COMPONENTS_RAPPOR_RAPPOR_PREFS_H_
6 #define COMPONENTS_RAPPOR_RAPPOR_PREFS_H_
8 #include <string>
10 #include "base/basictypes.h"
12 class PrefService;
13 class PrefRegistrySimple;
15 namespace rappor {
17 namespace internal {
19 enum LoadResult {
20 LOAD_SUCCESS = 0,
21 LOAD_EMPTY_VALUE,
22 LOAD_CORRUPT_VALUE,
23 NUM_LOAD_RESULTS,
26 extern const char kLoadCohortHistogramName[];
27 extern const char kLoadSecretHistogramName[];
29 // Registers all rappor preferences.
30 void RegisterPrefs(PrefRegistrySimple* registry);
32 // Retrieves the cohort number this client was assigned to, generating it if
33 // doesn't already exist. The cohort should be persistent.
34 int32_t LoadCohort(PrefService* pref_service);
36 // Retrieves the value for secret from preferences, generating it if doesn't
37 // already exist. The secret should be persistent, so that additional bits
38 // from the client do not get exposed over time.
39 std::string LoadSecret(PrefService* pref_service);
41 } // namespace internal
43 } // namespace rappor
45 #endif // COMPONENTS_RAPPOR_RAPPOR_PREFS_H_