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

Unified Diff: chrome/browser/chromeos/policy/device_cloud_policy_initializer.h

Issue 2977033002: Mixed Licenses Enrollment (Closed)
Patch Set: Fix last nit Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/device_cloud_policy_initializer.h
diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_initializer.h b/chrome/browser/chromeos/policy/device_cloud_policy_initializer.h
index c976ed0219a2cbab6842a31df89b61246bf6d3e4..93a30744a4ef83110d0d6b0225110a10674c9ac9 100644
--- a/chrome/browser/chromeos/policy/device_cloud_policy_initializer.h
+++ b/chrome/browser/chromeos/policy/device_cloud_policy_initializer.h
@@ -5,6 +5,7 @@
#ifndef CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_CLOUD_POLICY_INITIALIZER_H_
#define CHROME_BROWSER_CHROMEOS_POLICY_DEVICE_CLOUD_POLICY_INITIALIZER_H_
+#include <map>
#include <memory>
#include <string>
@@ -56,7 +57,10 @@ class EnrollmentStatus;
// handles the enrollment process.
class DeviceCloudPolicyInitializer : public CloudPolicyStore::Observer {
public:
- typedef base::Callback<void(EnrollmentStatus)> EnrollmentCallback;
+ using EnrollmentLicenseMap = std::map<LicenseType, int>;
+ using EnrollmentCallback = base::Callback<void(EnrollmentStatus)>;
+ using AvailableLicensesCallback =
+ base::Callback<void(const EnrollmentLicenseMap&)>;
// |background_task_runner| is used to execute long-running background tasks
// that may involve file I/O.
@@ -77,16 +81,28 @@ class DeviceCloudPolicyInitializer : public CloudPolicyStore::Observer {
virtual void Init();
virtual void Shutdown();
- // Starts enrollment or re-enrollment. Once the enrollment process completes,
- // |enrollment_callback| is invoked and gets passed the status of the
- // operation.
- virtual void StartEnrollment(
+ // Prepares enrollment or re-enrollment. Enrollment should be started by
+ // either calling StartEnrollment or CheckAvailableLicenses /
+ // StartEnrollmentWithLicense. Once the enrollment process
+ // completes, |enrollment_callback| is invoked and gets passed the status of
+ // the operation.
+ virtual void PrepareEnrollment(
DeviceManagementService* device_management_service,
chromeos::ActiveDirectoryJoinDelegate* ad_join_delegate,
const EnrollmentConfig& enrollment_config,
const std::string& auth_token,
const EnrollmentCallback& enrollment_callback);
+ // Starts enrollment using server-based license type selection.
+ virtual void StartEnrollment();
+
+ // Queries server about available license types and their count.
+ virtual void CheckAvailableLicenses(
+ const AvailableLicensesCallback& callback);
+
+ // Starts enrollment using user-selected license type.
+ virtual void StartEnrollmentWithLicense(policy::LicenseType license_type);
+
// Get the enrollment configuration that has been set up via signals such as
// device requisition, OEM manifest, pre-existing installation-time attributes
// or server-backed state retrieval. The configuration is stored in |config|,

Powered by Google App Engine
This is Rietveld 408576698