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

Side by Side Diff: chrome/browser/chromeos/settings/device_settings_service.h

Issue 14200028: Make CrosSettings and DeviceSettingsService non Lazy instances (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix LoginUtilsTest Created 7 years, 8 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) 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_DEVICE_SETTINGS_SERVICE_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_SERVICE_H_
6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_SERVICE_H_ 6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_SERVICE_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/basictypes.h" 12 #include "base/basictypes.h"
13 #include "base/callback.h" 13 #include "base/callback.h"
14 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
16 #include "base/observer_list.h" 16 #include "base/observer_list.h"
17 #include "chrome/browser/policy/cloud/cloud_policy_validator.h" 17 #include "chrome/browser/policy/cloud/cloud_policy_validator.h"
18 #include "chromeos/dbus/session_manager_client.h" 18 #include "chromeos/dbus/session_manager_client.h"
19 19
20 namespace base {
21 template <typename T> struct DefaultLazyInstanceTraits;
22 }
23
24 namespace crypto { 20 namespace crypto {
25 class RSAPrivateKey; 21 class RSAPrivateKey;
26 } 22 }
27 23
28 namespace enterprise_management { 24 namespace enterprise_management {
29 class ChromeDeviceSettingsProto; 25 class ChromeDeviceSettingsProto;
30 class PolicyData; 26 class PolicyData;
31 class PolicyFetchResponse; 27 class PolicyFetchResponse;
32 } 28 }
33 29
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 public: 99 public:
104 virtual ~Observer(); 100 virtual ~Observer();
105 101
106 // Indicates device ownership status changes. 102 // Indicates device ownership status changes.
107 virtual void OwnershipStatusChanged() = 0; 103 virtual void OwnershipStatusChanged() = 0;
108 104
109 // Gets call after updates to the device settings. 105 // Gets call after updates to the device settings.
110 virtual void DeviceSettingsUpdated() = 0; 106 virtual void DeviceSettingsUpdated() = 0;
111 }; 107 };
112 108
113 // Creates a device settings service instance. This is meant for unit tests, 109 // Class factory.
114 // production code uses the singleton returned by Get() below. 110 static void Initialize();
115 DeviceSettingsService(); 111 static void Shutdown();
116 ~DeviceSettingsService();
117
118 // Returns the singleton instance.
119 static DeviceSettingsService* Get(); 112 static DeviceSettingsService* Get();
120 113
121 // To be called on startup once threads are initialized and DBus is ready. 114 // To be called on startup once threads are initialized and DBus is ready.
122 void Initialize(SessionManagerClient* session_manager_client, 115 void InitializeSessionManager(SessionManagerClient* session_manager_client,
Mattias Nissler (ping if slow) 2013/04/16 16:09:51 This function name is unfortunate, the function do
stevenjb 2013/04/16 16:49:43 ->Set
123 scoped_refptr<OwnerKeyUtil> owner_key_util); 116 scoped_refptr<OwnerKeyUtil> owner_key_util);
124 117
125 // Prevents the service from making further calls to session_manager_client 118 // Prevents the service from making further calls to session_manager_client
126 // and stops any pending operations. 119 // and stops any pending operations.
127 void Shutdown(); 120 void ShutdownSessionManager();
Mattias Nissler (ping if slow) 2013/04/16 16:09:51 ditto
stevenjb 2013/04/16 16:49:43 ->Unset
128 121
129 // Returns the currently active device settings. Returns NULL if the device 122 // Returns the currently active device settings. Returns NULL if the device
130 // settings have not been retrieved from session_manager yet. 123 // settings have not been retrieved from session_manager yet.
131 const enterprise_management::PolicyData* policy_data() { 124 const enterprise_management::PolicyData* policy_data() {
132 return policy_data_.get(); 125 return policy_data_.get();
133 } 126 }
134 const enterprise_management::ChromeDeviceSettingsProto* 127 const enterprise_management::ChromeDeviceSettingsProto*
135 device_settings() const { 128 device_settings() const {
136 return device_settings_.get(); 129 return device_settings_.get();
137 } 130 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 // Adds an observer. 175 // Adds an observer.
183 void AddObserver(Observer* observer); 176 void AddObserver(Observer* observer);
184 // Removes an observer. 177 // Removes an observer.
185 void RemoveObserver(Observer* observer); 178 void RemoveObserver(Observer* observer);
186 179
187 // SessionManagerClient::Observer: 180 // SessionManagerClient::Observer:
188 virtual void OwnerKeySet(bool success) OVERRIDE; 181 virtual void OwnerKeySet(bool success) OVERRIDE;
189 virtual void PropertyChangeComplete(bool success) OVERRIDE; 182 virtual void PropertyChangeComplete(bool success) OVERRIDE;
190 183
191 private: 184 private:
185 DeviceSettingsService();
186 virtual ~DeviceSettingsService();
Mattias Nissler (ping if slow) 2013/04/16 16:09:51 Why? Nothing is virtual here.
stevenjb 2013/04/16 16:49:43 SessionManagerClient::Observer methods
Mattias Nissler (ping if slow) 2013/04/16 18:04:13 Ah, good point.
187
192 // Enqueues a new operation. Takes ownership of |operation| and starts it 188 // Enqueues a new operation. Takes ownership of |operation| and starts it
193 // right away if there is no active operation currently. 189 // right away if there is no active operation currently.
194 void Enqueue(SessionManagerOperation* operation); 190 void Enqueue(SessionManagerOperation* operation);
195 191
196 // Enqueues a load operation. 192 // Enqueues a load operation.
197 void EnqueueLoad(bool force_key_load); 193 void EnqueueLoad(bool force_key_load);
198 194
199 // Makes sure there's a reload operation so changes to the settings (and key, 195 // Makes sure there's a reload operation so changes to the settings (and key,
200 // in case force_key_load is set) are getting picked up. 196 // in case force_key_load is set) are getting picked up.
201 void EnsureReload(bool force_key_load); 197 void EnsureReload(bool force_key_load);
(...skipping 30 matching lines...) Expand all
232 228
233 // For recoverable load errors how many retries are left before we give up. 229 // For recoverable load errors how many retries are left before we give up.
234 int load_retries_left_; 230 int load_retries_left_;
235 231
236 DISALLOW_COPY_AND_ASSIGN(DeviceSettingsService); 232 DISALLOW_COPY_AND_ASSIGN(DeviceSettingsService);
237 }; 233 };
238 234
239 } // namespace chromeos 235 } // namespace chromeos
240 236
241 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_SERVICE_H_ 237 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698