Index: chrome/browser/chromeos/settings/device_settings_service.cc |
diff --git a/chrome/browser/chromeos/settings/device_settings_service.cc b/chrome/browser/chromeos/settings/device_settings_service.cc |
index 970c1c6a4bfed19de238d76a847384ed63a482f2..ff2aeb5405e205f55740725cb98cc18e4ff3a25d 100644 |
--- a/chrome/browser/chromeos/settings/device_settings_service.cc |
+++ b/chrome/browser/chromeos/settings/device_settings_service.cc |
@@ -6,7 +6,6 @@ |
#include "base/bind.h" |
#include "base/file_util.h" |
-#include "base/lazy_instance.h" |
#include "base/logging.h" |
#include "base/message_loop.h" |
#include "base/stl_util.h" |
@@ -37,9 +36,6 @@ int kMaxLoadRetries = (1000 * 60 * 10) / kLoadRetryDelayMs; |
namespace chromeos { |
-static base::LazyInstance<DeviceSettingsService> g_device_settings_service = |
- LAZY_INSTANCE_INITIALIZER; |
- |
OwnerKey::OwnerKey(scoped_ptr<std::vector<uint8> > public_key, |
scoped_ptr<crypto::RSAPrivateKey> private_key) |
: public_key_(public_key.Pass()), |
@@ -49,22 +45,44 @@ OwnerKey::~OwnerKey() {} |
DeviceSettingsService::Observer::~Observer() {} |
+static DeviceSettingsService* g_device_settings_service = NULL; |
+ |
+// static |
+void DeviceSettingsService::Initialize() { |
+ CHECK(!g_device_settings_service); |
+ g_device_settings_service = new DeviceSettingsService(); |
+} |
+ |
+// static |
+bool DeviceSettingsService::IsInitialized() { |
+ return g_device_settings_service != NULL; |
bartfab (slow)
2013/04/17 11:14:10
Nit: No need to check against NULL.
stevenjb
2013/04/17 16:27:12
Done.
|
+} |
+ |
+// static |
+void DeviceSettingsService::Shutdown() { |
+ CHECK(g_device_settings_service); |
+ delete g_device_settings_service; |
+ g_device_settings_service = NULL; |
+} |
+ |
+// static |
+DeviceSettingsService* DeviceSettingsService::Get() { |
+ CHECK(g_device_settings_service); |
+ return g_device_settings_service; |
+} |
+ |
DeviceSettingsService::DeviceSettingsService() |
: session_manager_client_(NULL), |
ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), |
store_status_(STORE_SUCCESS), |
- load_retries_left_(kMaxLoadRetries) {} |
+ load_retries_left_(kMaxLoadRetries) { |
+} |
DeviceSettingsService::~DeviceSettingsService() { |
DCHECK(pending_operations_.empty()); |
} |
-// static |
-DeviceSettingsService* DeviceSettingsService::Get() { |
- return g_device_settings_service.Pointer(); |
-} |
- |
-void DeviceSettingsService::Initialize( |
+void DeviceSettingsService::SetSessionManager( |
SessionManagerClient* session_manager_client, |
scoped_refptr<OwnerKeyUtil> owner_key_util) { |
DCHECK(session_manager_client); |
@@ -80,7 +98,7 @@ void DeviceSettingsService::Initialize( |
StartNextOperation(); |
} |
-void DeviceSettingsService::Shutdown() { |
+void DeviceSettingsService::UnsetSessionManager() { |
STLDeleteContainerPointers(pending_operations_.begin(), |
pending_operations_.end()); |
pending_operations_.clear(); |