Index: chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h |
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h |
index e3eaa0a559812e7c4d64152b43472df654513c90..34b0988cb961c390db624146edecd99a8c58dda2 100644 |
--- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h |
+++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h |
@@ -41,6 +41,18 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService, |
public SessionManagerClient::Observer, |
public DeviceSettingsService::Observer { |
public: |
+ struct ManagementSettingsSetRequest { |
+ ManagementSettingsSetRequest(); |
+ ~ManagementSettingsSetRequest(); |
+ |
+ typedef base::Callback<void(bool success)> RequestProcessedCallback; |
+ |
+ enterprise_management::PolicyData::ManagementMode management_mode; |
+ std::string request_token; |
+ std::string device_id; |
+ RequestProcessedCallback callback; |
+ }; |
+ |
virtual ~OwnerSettingsServiceChromeOS(); |
void OnTPMTokenReady(bool tpm_token_enabled); |
@@ -65,6 +77,9 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService, |
virtual void DeviceSettingsUpdated() override; |
virtual void OnDeviceSettingsServiceShutdown() override; |
+ // Sets the management related settings. |
+ void SetManagementSettings(const ManagementSettingsSetRequest& request); |
+ |
// Checks if the user is the device owner, without the user profile having to |
// been initialized. Should be used only if login state is in safe mode. |
static void IsOwnerForSafeModeAsync( |
@@ -86,7 +101,8 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService, |
enterprise_management::ChromeDeviceSettingsProto& settings); |
bool has_pending_changes() const { |
- return !pending_changes_.empty() || tentative_settings_.get(); |
+ return !pending_changes_.empty() || tentative_settings_.get() || |
+ !pending_management_settings_set_requests_.empty(); |
} |
private: |
@@ -141,6 +157,15 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService, |
// A set of pending changes to device settings. |
base::ScopedPtrHashMap<std::string, base::Value> pending_changes_; |
+ // A set of pending changes to management settings. |
+ std::vector<ManagementSettingsSetRequest> |
+ pending_management_settings_set_requests_; |
Mattias Nissler (ping if slow)
2014/12/02 08:52:40
I think we only ever need to store one of these. I
ygorshenin1
2014/12/02 19:18:58
Done.
|
+ |
+ // A set of callbacks that need to be run after signed policy is |
+ // stored. |
+ std::vector<ManagementSettingsSetRequest::RequestProcessedCallback> |
+ pending_callbacks_; |
+ |
// A protobuf containing pending changes to device settings. |
scoped_ptr<enterprise_management::ChromeDeviceSettingsProto> |
tentative_settings_; |