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

Unified Diff: chrome/browser/chromeos/login/owner_manager.h

Issue 3141031: [Chrome OS] Wire up ownership API from libcros (Closed)
Patch Set: address davemoore comments Created 10 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/login/owner_manager.h
diff --git a/chrome/browser/chromeos/login/owner_manager.h b/chrome/browser/chromeos/login/owner_manager.h
index e9ba9b8c7b05043bf4284253ccb3443845f52c67..51f7c91075cb86bbfb7a62aabdd22c6b70d79526 100644
--- a/chrome/browser/chromeos/login/owner_manager.h
+++ b/chrome/browser/chromeos/login/owner_manager.h
@@ -11,7 +11,7 @@
#include "base/basictypes.h"
#include "base/crypto/rsa_private_key.h"
#include "base/ref_counted.h"
-#include "base/scoped_ptr.h"
+#include "chrome/browser/chromeos/cros/login_library.h"
#include "chrome/browser/chromeos/login/owner_key_utils.h"
#include "chrome/browser/chrome_thread.h"
@@ -24,7 +24,8 @@ namespace chromeos {
// This class allows the registration of an Owner of a Chromium OS device.
// It handles generating the appropriate keys and storing them in the
// appropriate locations.
-class OwnerManager : public base::RefCountedThreadSafe<OwnerManager> {
+class OwnerManager : public base::RefCountedThreadSafe<OwnerManager>,
+ public LoginLibrary::Delegate<bool> {
public:
// Return codes for public/private key operations.
enum KeyOpCode {
@@ -46,48 +47,6 @@ class OwnerManager : public base::RefCountedThreadSafe<OwnerManager> {
OwnerManager();
virtual ~OwnerManager();
- bool IsAlreadyOwned();
-
- // If the device has been owned already, posts a task to the FILE thread to
- // fetch the public key off disk.
- // Returns true if the attempt was initiated, false otherwise.
- //
- // Sends out a OWNER_KEY_FETCH_ATTEMPT_COMPLETE notification on completion.
- // Notification comes with a Details<SECKEYPublicKey*> that contains a pointer
- // to the public key, or NULL if the fetch attempt failed.
- bool StartLoadOwnerKeyAttempt();
-
- // If the device has not yet been owned, posts a task to the FILE
- // thread to generate the owner's keys and put them in the right
- // places. Keeps them in memory as well, for later use.
- // Returns true if the attempt was initiated, false otherwise.
- //
- // Sends out a OWNER_KEY_FETCH_ATTEMPT_COMPLETE notification on completion.
- // Notification comes with a Details<SECKEYPublicKey*> that contains a pointer
- // to the public key, or NULL if the fetch attempt failed.
- bool StartTakeOwnershipAttempt();
-
- // Initiate an attempt to sign |data| with |private_key_|. Will call
- // d->OnKeyOpComplete() when done. Upon success, the signature will be passed
- // as the |payload| argument to d->OnKeyOpComplete().
- // Returns true if the attempt was initiated, false otherwise.
- //
- // If you call this on a well-known thread, you'll be called back on that
- // thread. Otherwise, you'll get called back on the UI thread.
- bool StartSigningAttempt(const std::string& data, Delegate* d);
-
- // Initiate an attempt to verify that |signature| is valid over |data| with
- // |public_key_|. When the attempt is completed, an appropriate KeyOpCode
- // will be passed to d->OnKeyOpComplete().
- // Returns true if the attempt was initiated, false otherwise.
- //
- // If you call this on a well-known thread, you'll be called back on that
- // thread. Otherwise, you'll get called back on the UI thread.
- bool StartVerifyAttempt(const std::string& data,
- const std::string& signature,
- Delegate* d);
-
- private:
// Pulls the owner's public key off disk and into memory.
//
// Call this on the FILE thread.
@@ -105,6 +64,9 @@ class OwnerManager : public base::RefCountedThreadSafe<OwnerManager> {
// Call this on the UI thread (because of DBus usage).
void ExportKey();
+ // Overridden from LoginLibrary::Delegate
+ void Run(bool value);
+
bool EnsurePublicKey();
bool EnsurePrivateKey();
@@ -132,6 +94,7 @@ class OwnerManager : public base::RefCountedThreadSafe<OwnerManager> {
const std::string& signature,
Delegate* d);
+ private:
// A helper method to send a notification on another thread.
void SendNotification(NotificationType type,
const NotificationDetails& details);
@@ -146,7 +109,7 @@ class OwnerManager : public base::RefCountedThreadSafe<OwnerManager> {
scoped_ptr<base::RSAPrivateKey> private_key_;
std::vector<uint8> public_key_;
- scoped_ptr<OwnerKeyUtils> utils_;
+ scoped_refptr<OwnerKeyUtils> utils_;
friend class OwnerManagerTest;
« no previous file with comments | « chrome/browser/chromeos/login/owner_key_utils_unittest.cc ('k') | chrome/browser/chromeos/login/owner_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698