Index: chrome/browser/chromeos/policy/consumer_management_service.h |
diff --git a/chrome/browser/chromeos/policy/consumer_management_service.h b/chrome/browser/chromeos/policy/consumer_management_service.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..35fe849003b89bbc82322100abb2637812c09f98 |
--- /dev/null |
+++ b/chrome/browser/chromeos/policy/consumer_management_service.h |
@@ -0,0 +1,89 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_CHROMEOS_POLICY_CONSUMER_MANAGEMENT_SERVICE_H_ |
+#define CHROME_BROWSER_CHROMEOS_POLICY_CONSUMER_MANAGEMENT_SERVICE_H_ |
+ |
+#include <string> |
+ |
+#include "base/callback.h" |
bartfab (slow)
2014/08/04 18:44:52
Nit: #include "base/callback_forward.h" and move t
davidyu
2014/08/05 07:26:59
Done.
|
+#include "base/macros.h" |
+#include "base/memory/weak_ptr.h" |
+#include "chromeos/dbus/dbus_method_call_status.h" |
+ |
+class PrefRegistrySimple; |
+ |
+namespace chromeos { |
+class CryptohomeClient; |
+} |
+ |
+namespace cryptohome { |
+class BaseReply; |
+} |
+ |
+namespace policy { |
+ |
+// Consumer management service handles the enroll state, which is an integer |
bartfab (slow)
2014/08/04 18:44:52
Nit 1: s/Consumer/The consumer/
Nit 2: s/enroll/en
davidyu
2014/08/05 07:26:59
Done.
|
+// variable stored in local state to pass the enrollment status between all |
+// involved compoments, including settings page, signin page, and user |
bartfab (slow)
2014/08/04 18:44:52
Nit: What is the "signin page"?
davidyu
2014/08/05 07:26:58
sign-in screen?
bartfab (slow)
2014/08/05 18:07:13
Yes, that is the canonical term :).
|
+// notification. It also handles the owner email stored in boot lockbox. |
bartfab (slow)
2014/08/04 18:44:53
Nit: s/email/e-mail/
davidyu
2014/08/05 07:26:59
Done.
|
+class ConsumerManagementService { |
bartfab (slow)
2014/08/04 18:44:51
I am not sure this name is very well chosen. We ha
davidyu
2014/08/05 07:26:59
I'm planning to add other consumer management rela
bartfab (slow)
2014/08/05 18:07:13
Thanks for clarifying. The name makes sense then.
|
+ public: |
+ enum EnrollState { |
bartfab (slow)
2014/08/04 18:44:52
Nit: s/Enroll/Enrollment/
davidyu
2014/08/05 07:26:58
Done.
|
+ ENROLL_NONE = 0, // Nothing. All notifications have been sent. |
bartfab (slow)
2014/08/04 18:44:53
Nit 1: Here and below: s/ENROLL/ENROLLMENT/
Nit 2:
davidyu
2014/08/05 07:26:59
Updated the comment.
|
+ ENROLL_ENROLLING, // Enrollment is in progress. |
+ ENROLL_SUCCESS, // Success. |
+ ENROLL_CANCELED, // Canceled by the user. |
+ ENROLL_BOOT_LOCKBOX_FAILED, // Failed to write to the boot lockbox. |
+ ENROLL_DM_SERVER_FAILED, // Failed to register the device. |
+ }; |
+ |
+ // Registers prefs. |
+ static void RegisterPrefs(PrefRegistrySimple* registry); |
+ |
+ explicit ConsumerManagementService(chromeos::CryptohomeClient* client); |
bartfab (slow)
2014/08/04 18:44:52
Nit: Make the constructor the first method.
davidyu
2014/08/05 07:26:58
Done.
|
+ |
+ // Returns the enroll state. |
+ EnrollState GetEnrollState(); |
bartfab (slow)
2014/08/04 18:44:52
Nit 1: s/Enroll/Enrollment/g
Nit 2: const.
davidyu
2014/08/05 07:26:58
Done.
Actually, GetOwner() should also be const a
bartfab (slow)
2014/08/05 18:07:13
Yeah, I would say we prefer non-const to mutable i
|
+ |
+ // Sets the enroll state. |
+ void SetEnrollState(EnrollState state); |
bartfab (slow)
2014/08/04 18:44:53
Nit: s/Enroll/Enrollment/g
davidyu
2014/08/05 07:26:59
Done.
|
+ |
+ // Returns the device owner stored in the boot lockbox via |callback|. |
+ void GetOwner(const base::Callback<void(const std::string&)>& callback); |
bartfab (slow)
2014/08/04 18:44:52
Nit: Add a typedef for this callback. Since you us
davidyu
2014/08/05 07:26:59
Done.
|
+ |
+ // Stores the device owner into the boot lockbox and signs it. |callback| is |
+ // invoked with a status when done. |
bartfab (slow)
2014/08/04 18:44:51
Nit: s/a status/an argzument indicating success or
davidyu
2014/08/05 07:26:59
Done.
|
+ void SetOwner(const std::string& email, |
bartfab (slow)
2014/08/04 18:44:51
+rogertawa@
All of Chrome OS needs to move from e
davidyu
2014/08/05 07:26:58
Changed the argument name to user_id. When we migr
bartfab (slow)
2014/08/05 18:07:13
Yes, it will be a long and difficult journey. What
davidyu
2014/08/06 03:04:31
BTW, we may still need to keep the owner email aro
|
+ const base::Callback<void(bool)>& callback); |
bartfab (slow)
2014/08/04 18:44:52
Nit: Add a typedef for this callback. Since you us
davidyu
2014/08/05 07:26:59
Done.
|
+ |
+ private: |
+ static const char* kDeviceOwner; |
bartfab (slow)
2014/08/04 18:44:51
Nit: Move this to an anonymous namespace in the im
davidyu
2014/08/05 07:26:59
Done.
|
+ |
+ void OnGetBootAttributeDone( |
+ const base::Callback<void(const std::string&)>& callback, |
+ chromeos::DBusMethodCallStatus call_status, |
+ bool result, |
bartfab (slow)
2014/08/04 18:44:52
Nit: How about s/result/success/?
davidyu
2014/08/05 07:26:58
Renamed to dbus_success, as it's just D-Bus callin
|
+ const cryptohome::BaseReply& reply); |
+ |
+ void OnSetBootAttributeDone(const base::Callback<void(bool)>& callback, |
+ chromeos::DBusMethodCallStatus call_status, |
+ bool result, |
bartfab (slow)
2014/08/04 18:44:53
Nit: How about s/result/success/?
davidyu
2014/08/05 07:26:59
Done.
|
+ const cryptohome::BaseReply& reply); |
+ |
+ void OnFlushAndSignBootAttributesDone( |
+ const base::Callback<void(bool)>& callback, |
+ chromeos::DBusMethodCallStatus call_status, |
+ bool result, |
bartfab (slow)
2014/08/04 18:44:53
Nit: How about s/result/success/?
davidyu
2014/08/05 07:26:58
Done.
|
+ const cryptohome::BaseReply& reply); |
+ |
+ chromeos::CryptohomeClient* client_; |
+ base::WeakPtrFactory<ConsumerManagementService> weak_ptr_factory_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ConsumerManagementService); |
+}; |
+ |
+} // namespace policy |
+ |
+#endif // CHROME_BROWSER_CHROMEOS_POLICY_CONSUMER_MANAGEMENT_SERVICE_H_ |