Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Side by Side Diff: chrome/browser/prefs/pref_service.h

Issue 7634018: base: Rename ValueType to something less redundant as _just_ Type. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // This provides a way to access the application's current preferences. 5 // This provides a way to access the application's current preferences.
6 6
7 #ifndef CHROME_BROWSER_PREFS_PREF_SERVICE_H_ 7 #ifndef CHROME_BROWSER_PREFS_PREF_SERVICE_H_
8 #define CHROME_BROWSER_PREFS_PREF_SERVICE_H_ 8 #define CHROME_BROWSER_PREFS_PREF_SERVICE_H_
9 #pragma once 9 #pragma once
10 10
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 // A helper class to store all the information associated with a preference. 49 // A helper class to store all the information associated with a preference.
50 class Preference { 50 class Preference {
51 public: 51 public:
52 52
53 // The type of the preference is determined by the type with which it is 53 // The type of the preference is determined by the type with which it is
54 // registered. This type needs to be a boolean, integer, double, string, 54 // registered. This type needs to be a boolean, integer, double, string,
55 // dictionary (a branch), or list. You shouldn't need to construct this on 55 // dictionary (a branch), or list. You shouldn't need to construct this on
56 // your own; use the PrefService::Register*Pref methods instead. 56 // your own; use the PrefService::Register*Pref methods instead.
57 Preference(const PrefService* service, 57 Preference(const PrefService* service,
58 const char* name, 58 const char* name,
59 base::Value::ValueType type); 59 base::Value::Type type);
60 ~Preference() {} 60 ~Preference() {}
61 61
62 // Returns the name of the Preference (i.e., the key, e.g., 62 // Returns the name of the Preference (i.e., the key, e.g.,
63 // browser.window_placement). 63 // browser.window_placement).
64 const std::string name() const { return name_; } 64 const std::string name() const { return name_; }
65 65
66 // Returns the registered type of the preference. 66 // Returns the registered type of the preference.
67 base::Value::ValueType GetType() const; 67 base::Value::Type GetType() const;
68 68
69 // Returns the value of the Preference, falling back to the registered 69 // Returns the value of the Preference, falling back to the registered
70 // default value if no other has been set. 70 // default value if no other has been set.
71 const base::Value* GetValue() const; 71 const base::Value* GetValue() const;
72 72
73 // Returns true if the Preference is managed, i.e. set by an admin policy. 73 // Returns true if the Preference is managed, i.e. set by an admin policy.
74 // Since managed prefs have the highest priority, this also indicates 74 // Since managed prefs have the highest priority, this also indicates
75 // whether the pref is actually being controlled by the policy setting. 75 // whether the pref is actually being controlled by the policy setting.
76 bool IsManaged() const; 76 bool IsManaged() const;
77 77
(...skipping 30 matching lines...) Expand all
108 108
109 private: 109 private:
110 friend class PrefService; 110 friend class PrefService;
111 111
112 PrefValueStore* pref_value_store() const { 112 PrefValueStore* pref_value_store() const {
113 return pref_service_->pref_value_store_.get(); 113 return pref_service_->pref_value_store_.get();
114 } 114 }
115 115
116 std::string name_; 116 std::string name_;
117 117
118 base::Value::ValueType type_; 118 base::Value::Type type_;
119 119
120 // Reference to the PrefService in which this pref was created. 120 // Reference to the PrefService in which this pref was created.
121 const PrefService* pref_service_; 121 const PrefService* pref_service_;
122 122
123 DISALLOW_COPY_AND_ASSIGN(Preference); 123 DISALLOW_COPY_AND_ASSIGN(Preference);
124 }; 124 };
125 125
126 // Factory method that creates a new instance of a PrefService with the 126 // Factory method that creates a new instance of a PrefService with the
127 // applicable PrefStores. The |pref_filename| points to the user preference 127 // applicable PrefStores. The |pref_filename| points to the user preference
128 // file. This is the usual way to create a new PrefService. 128 // file. This is the usual way to create a new PrefService.
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 void InitFromStorage(bool async); 368 void InitFromStorage(bool async);
369 369
370 // Used to set the value of dictionary or list values in the user pref store. 370 // Used to set the value of dictionary or list values in the user pref store.
371 // This will create a dictionary or list if one does not exist in the user 371 // This will create a dictionary or list if one does not exist in the user
372 // pref store. This method returns NULL only if you're requesting an 372 // pref store. This method returns NULL only if you're requesting an
373 // unregistered pref or a non-dict/non-list pref. 373 // unregistered pref or a non-dict/non-list pref.
374 // |type| may only be Values::TYPE_DICTIONARY or Values::TYPE_LIST and 374 // |type| may only be Values::TYPE_DICTIONARY or Values::TYPE_LIST and
375 // |path| must point to a registered preference of type |type|. 375 // |path| must point to a registered preference of type |type|.
376 // Ownership of the returned value remains at the user pref store. 376 // Ownership of the returned value remains at the user pref store.
377 base::Value* GetMutableUserPref(const char* path, 377 base::Value* GetMutableUserPref(const char* path,
378 base::Value::ValueType type); 378 base::Value::Type type);
379 379
380 // The PrefValueStore provides prioritized preference values. It is created 380 // The PrefValueStore provides prioritized preference values. It is created
381 // and owned by this PrefService. Subclasses may access it for unit testing. 381 // and owned by this PrefService. Subclasses may access it for unit testing.
382 scoped_ptr<PrefValueStore> pref_value_store_; 382 scoped_ptr<PrefValueStore> pref_value_store_;
383 383
384 // Pref Stores and profile that we passed to the PrefValueStore. 384 // Pref Stores and profile that we passed to the PrefValueStore.
385 scoped_refptr<PersistentPrefStore> user_pref_store_; 385 scoped_refptr<PersistentPrefStore> user_pref_store_;
386 scoped_refptr<DefaultPrefStore> default_store_; 386 scoped_refptr<DefaultPrefStore> default_store_;
387 387
388 // Local cache of registered Preference objects. The default_store_ 388 // Local cache of registered Preference objects. The default_store_
389 // is authoritative with respect to what the types and default values 389 // is authoritative with respect to what the types and default values
390 // of registered preferences are. 390 // of registered preferences are.
391 mutable PreferenceSet prefs_; 391 mutable PreferenceSet prefs_;
392 392
393 // The model associator that maintains the links with the sync db. 393 // The model associator that maintains the links with the sync db.
394 scoped_ptr<PrefModelAssociator> pref_sync_associator_; 394 scoped_ptr<PrefModelAssociator> pref_sync_associator_;
395 395
396 DISALLOW_COPY_AND_ASSIGN(PrefService); 396 DISALLOW_COPY_AND_ASSIGN(PrefService);
397 }; 397 };
398 398
399 #endif // CHROME_BROWSER_PREFS_PREF_SERVICE_H_ 399 #endif // CHROME_BROWSER_PREFS_PREF_SERVICE_H_
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_model_associator_unittest.cc ('k') | chrome/browser/prefs/pref_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698