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

Unified Diff: chrome/browser/policy/device_management_backend_impl.cc

Issue 8741014: Added auto-enrollment request support to the device_management_backend. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 9 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/device_management_backend_impl.cc
diff --git a/chrome/browser/policy/device_management_backend_impl.cc b/chrome/browser/policy/device_management_backend_impl.cc
index 5143b21c8cecaf51d30217b743d32121eb3ab7ee..42b92cb0728dbd01b26253d25e9462e35072644c 100644
--- a/chrome/browser/policy/device_management_backend_impl.cc
+++ b/chrome/browser/policy/device_management_backend_impl.cc
@@ -37,6 +37,8 @@ const char DeviceManagementBackendImpl::kParamUserAffiliation[] =
// String constants for the device and app type we report to the server.
const char DeviceManagementBackendImpl::kValueAppType[] = "Chrome";
const char DeviceManagementBackendImpl::kValueDeviceType[] = "2";
+const char DeviceManagementBackendImpl::kValueRequestAutoEnrollment[] =
+ "enterprise_check";
const char DeviceManagementBackendImpl::kValueRequestPolicy[] = "policy";
const char DeviceManagementBackendImpl::kValueRequestRegister[] = "register";
const char DeviceManagementBackendImpl::kValueRequestUnregister[] =
@@ -457,6 +459,43 @@ class DeviceManagementPolicyJob : public DeviceManagementJobBase {
DISALLOW_COPY_AND_ASSIGN(DeviceManagementPolicyJob);
};
+// Handles auto enrollment request jobs. These are used to determine if a new
+// ChromiumOS device should automatically enter the enterprise enrollment screen
+// during the OOBE flow.
+class DeviceManagementAutoEnrollmentJob : public DeviceManagementJobBase {
+ public:
+ DeviceManagementAutoEnrollmentJob(
+ DeviceManagementBackendImpl* backend_impl,
+ const std::string& device_id,
+ const em::DeviceAutoEnrollmentRequest& request,
+ DeviceManagementBackend::DeviceAutoEnrollmentResponseDelegate* delegate)
+ : DeviceManagementJobBase(
+ backend_impl,
+ DeviceManagementBackendImpl::kValueRequestAutoEnrollment,
+ device_id),
+ delegate_(delegate) {
+ em::DeviceManagementRequest request_wrapper;
+ request_wrapper.mutable_auto_enrollment_request()->CopyFrom(request);
+ SetPayload(request_wrapper);
+ }
+ virtual ~DeviceManagementAutoEnrollmentJob() {}
+
+ private:
+ // DeviceManagementJobBase overrides.
+ virtual void OnError(DeviceManagementBackend::ErrorCode error) OVERRIDE {
+ delegate_->OnError(error);
+ }
+ virtual void OnResponse(
+ const em::DeviceManagementResponse& response) OVERRIDE {
+ delegate_->HandleAutoEnrollmentResponse(
+ response.auto_enrollment_response());
+ }
+
+ DeviceManagementBackend::DeviceAutoEnrollmentResponseDelegate* delegate_;
+
+ DISALLOW_COPY_AND_ASSIGN(DeviceManagementAutoEnrollmentJob);
+};
+
DeviceManagementBackendImpl::DeviceManagementBackendImpl(
DeviceManagementService* service)
: service_(service) {
@@ -571,6 +610,14 @@ void DeviceManagementBackendImpl::ProcessPolicyRequest(
request, delegate));
}
+void DeviceManagementBackendImpl::ProcessAutoEnrollmentRequest(
+ const std::string& device_id,
+ const em::DeviceAutoEnrollmentRequest& request,
+ DeviceAutoEnrollmentResponseDelegate* delegate) {
+ AddJob(new DeviceManagementAutoEnrollmentJob(this, device_id, request,
+ delegate));
+}
+
// static
const char* DeviceManagementBackendImpl::UserAffiliationToString(
CloudPolicyDataStore::UserAffiliation affiliation) {
« no previous file with comments | « chrome/browser/policy/device_management_backend_impl.h ('k') | chrome/browser/policy/device_management_backend_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698