OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_CHROMEOS_SETTINGS_SYSTEM_SETTINGS_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_SYSTEM_SETTINGS_PROVIDER_H_ |
6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_SYSTEM_SETTINGS_PROVIDER_H_ | 6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_SYSTEM_SETTINGS_PROVIDER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "chrome/browser/chromeos/settings/cros_settings_provider.h" | 12 #include "chrome/browser/chromeos/settings/cros_settings_provider.h" |
13 #include "chrome/browser/chromeos/system/timezone_settings.h" | 13 #include "chrome/browser/chromeos/system/timezone_settings.h" |
14 #include "third_party/icu/public/i18n/unicode/timezone.h" | 14 #include "third_party/icu/public/i18n/unicode/timezone.h" |
15 | 15 |
16 namespace base { | 16 namespace base { |
17 class Value; | 17 class StringValue; |
18 } | 18 } |
19 | 19 |
20 namespace chromeos { | 20 namespace chromeos { |
21 | 21 |
22 class SystemSettingsProvider : public CrosSettingsProvider, | 22 class SystemSettingsProvider : public CrosSettingsProvider, |
23 public system::TimezoneSettings::Observer { | 23 public system::TimezoneSettings::Observer { |
24 public: | 24 public: |
25 explicit SystemSettingsProvider(const NotifyObserversCallback& notify_cb); | 25 explicit SystemSettingsProvider(const NotifyObserversCallback& notify_cb); |
26 virtual ~SystemSettingsProvider(); | 26 virtual ~SystemSettingsProvider(); |
27 | 27 |
28 // CrosSettingsProvider implementation. | 28 // CrosSettingsProvider implementation. |
29 virtual const base::Value* Get(const std::string& path) const OVERRIDE; | 29 virtual const base::Value* Get(const std::string& path) const OVERRIDE; |
30 virtual TrustedStatus PrepareTrustedValues( | 30 virtual TrustedStatus PrepareTrustedValues( |
31 const base::Closure& callback) OVERRIDE; | 31 const base::Closure& callback) OVERRIDE; |
32 virtual bool HandlesSetting(const std::string& path) const OVERRIDE; | 32 virtual bool HandlesSetting(const std::string& path) const OVERRIDE; |
33 | 33 |
34 // TimezoneSettings::Observer implementation. | 34 // TimezoneSettings::Observer implementation. |
35 virtual void TimezoneChanged(const icu::TimeZone& timezone) OVERRIDE; | 35 virtual void TimezoneChanged(const icu::TimeZone& timezone) OVERRIDE; |
36 | 36 |
37 private: | 37 private: |
38 // CrosSettingsProvider implementation. | 38 // CrosSettingsProvider implementation. |
39 virtual void DoSet(const std::string& path, | 39 virtual void DoSet(const std::string& path, |
40 const base::Value& in_value) OVERRIDE; | 40 const base::Value& in_value) OVERRIDE; |
41 | 41 |
42 scoped_ptr<base::Value> timezone_value_; | 42 scoped_ptr<base::StringValue> timezone_value_; |
43 | 43 |
44 DISALLOW_COPY_AND_ASSIGN(SystemSettingsProvider); | 44 DISALLOW_COPY_AND_ASSIGN(SystemSettingsProvider); |
45 }; | 45 }; |
46 | 46 |
47 } // namespace chromeos | 47 } // namespace chromeos |
48 | 48 |
49 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_SYSTEM_SETTINGS_PROVIDER_H_ | 49 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_SYSTEM_SETTINGS_PROVIDER_H_ |
OLD | NEW |