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

Side by Side Diff: chrome/browser/chromeos/policy/enterprise_install_attributes.h

Issue 24869003: cryptohome: Move stateless wrapper functions out of CryptohomeLibrary (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_ENTERPRISE_INSTALL_ATTRIBUTES_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_ENTERPRISE_INSTALL_ATTRIBUTES_H_
6 #define CHROME_BROWSER_CHROMEOS_POLICY_ENTERPRISE_INSTALL_ATTRIBUTES_H_ 6 #define CHROME_BROWSER_CHROMEOS_POLICY_ENTERPRISE_INSTALL_ATTRIBUTES_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/compiler_specific.h" 13 #include "base/compiler_specific.h"
14 #include "base/files/file_path.h" 14 #include "base/files/file_path.h"
15 #include "base/memory/weak_ptr.h" 15 #include "base/memory/weak_ptr.h"
16 #include "chrome/browser/policy/cloud/cloud_policy_constants.h" 16 #include "chrome/browser/policy/cloud/cloud_policy_constants.h"
17 #include "chromeos/dbus/cryptohome_client.h" 17 #include "chromeos/dbus/cryptohome_client.h"
18 #include "chromeos/dbus/dbus_method_call_status.h" 18 #include "chromeos/dbus/dbus_method_call_status.h"
19 19
20 namespace chromeos {
21 class CryptohomeLibrary;
22 }
23
24 namespace policy { 20 namespace policy {
25 21
26 // Brokers access to the enterprise-related installation-time attributes on 22 // Brokers access to the enterprise-related installation-time attributes on
27 // ChromeOS. 23 // ChromeOS.
28 // TODO(zelidrag, mnissler): Rename + move this class - http://crbug.com/249513. 24 // TODO(zelidrag, mnissler): Rename + move this class - http://crbug.com/249513.
29 class EnterpriseInstallAttributes { 25 class EnterpriseInstallAttributes {
30 public: 26 public:
31 // Return codes for LockDevice(). 27 // Return codes for LockDevice().
32 enum LockResult { 28 enum LockResult {
33 LOCK_SUCCESS, 29 LOCK_SUCCESS,
(...skipping 13 matching lines...) Expand all
47 static const char kUnknownDeviceMode[]; 43 static const char kUnknownDeviceMode[];
48 44
49 // Field names in the lockbox. 45 // Field names in the lockbox.
50 static const char kAttrEnterpriseDeviceId[]; 46 static const char kAttrEnterpriseDeviceId[];
51 static const char kAttrEnterpriseDomain[]; 47 static const char kAttrEnterpriseDomain[];
52 static const char kAttrEnterpriseMode[]; 48 static const char kAttrEnterpriseMode[];
53 static const char kAttrEnterpriseOwned[]; 49 static const char kAttrEnterpriseOwned[];
54 static const char kAttrEnterpriseUser[]; 50 static const char kAttrEnterpriseUser[];
55 static const char kAttrConsumerKioskEnabled[]; 51 static const char kAttrConsumerKioskEnabled[];
56 52
57 EnterpriseInstallAttributes( 53 explicit EnterpriseInstallAttributes(
58 chromeos::CryptohomeLibrary* cryptohome,
59 chromeos::CryptohomeClient* cryptohome_client); 54 chromeos::CryptohomeClient* cryptohome_client);
60 ~EnterpriseInstallAttributes(); 55 ~EnterpriseInstallAttributes();
61 56
62 // Reads data from the cache file. The cache file is used to work around slow 57 // Reads data from the cache file. The cache file is used to work around slow
63 // cryptohome startup, which takes a while to register its DBus interface. 58 // cryptohome startup, which takes a while to register its DBus interface.
64 // See http://crosbug.com/37367 for background on this. 59 // See http://crosbug.com/37367 for background on this.
65 void ReadCacheFile(const base::FilePath& cache_file); 60 void ReadCacheFile(const base::FilePath& cache_file);
66 61
67 // Makes sure the local caches for enterprise-related install attributes are 62 // Makes sure the local caches for enterprise-related install attributes are
68 // up-to-date with what cryptohome has. This method checks the readiness of 63 // up-to-date with what cryptohome has. This method checks the readiness of
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 DeviceMode device_mode, 122 DeviceMode device_mode,
128 const std::string& device_id, 123 const std::string& device_id,
129 const LockResultCallback& callback, 124 const LockResultCallback& callback,
130 chromeos::DBusMethodCallStatus call_status, 125 chromeos::DBusMethodCallStatus call_status,
131 bool result); 126 bool result);
132 127
133 // Confirms the registered user and invoke the callback. 128 // Confirms the registered user and invoke the callback.
134 void OnReadImmutableAttributes(const std::string& user, 129 void OnReadImmutableAttributes(const std::string& user,
135 const LockResultCallback& callback); 130 const LockResultCallback& callback);
136 131
137 chromeos::CryptohomeLibrary* cryptohome_;
138 chromeos::CryptohomeClient* cryptohome_client_; 132 chromeos::CryptohomeClient* cryptohome_client_;
139 133
140 base::WeakPtrFactory<EnterpriseInstallAttributes> weak_ptr_factory_; 134 base::WeakPtrFactory<EnterpriseInstallAttributes> weak_ptr_factory_;
141 135
142 DISALLOW_COPY_AND_ASSIGN(EnterpriseInstallAttributes); 136 DISALLOW_COPY_AND_ASSIGN(EnterpriseInstallAttributes);
143 }; 137 };
144 138
145 } // namespace policy 139 } // namespace policy
146 140
147 #endif // CHROME_BROWSER_CHROMEOS_POLICY_ENTERPRISE_INSTALL_ATTRIBUTES_H_ 141 #endif // CHROME_BROWSER_CHROMEOS_POLICY_ENTERPRISE_INSTALL_ATTRIBUTES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698