Chromium Code Reviews| 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_; |